Skip to main content
Glama
gitCarrot

AWS Cognito MCP Server

by gitCarrot

verify_software_token

Validate time-based one-time passwords (TOTP) for multi-factor authentication in AWS Cognito user pools to enhance account security.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
usernameYes
totpCodeYes

Implementation Reference

  • The handler function implements the core logic for verifying the software token (TOTP code) using AWS Cognito's verifySoftwareToken method after retrieving the user session.
    async ({ username, totpCode }) => { return new Promise((resolve, reject) => { const cognitoUser = new CognitoUser({ Username: username, Pool: userPool }); cognitoUser.getSession((err: Error | null, _session: CognitoUserSession) => { if (err) { reject({ content: [ { type: "text" as const, text: `Error getting session: ${err.message}`, } ] }); return; } cognitoUser.verifySoftwareToken(totpCode, 'TOTP Authenticator App', { onSuccess: (result) => { resolve({ content: [ { type: "text" as const, text: "TOTP token verified successfully", }, { type: "text" as const, text: `Username: ${username}`, }, { type: "text" as const, text: `Status: ${result || 'SUCCESS'}`, }, { type: "text" as const, text: `Time: ${new Date().toISOString()}`, } ] }); }, onFailure: (err) => { reject({ content: [ { type: "text" as const, text: `Failed to verify TOTP token: ${err.message}`, }, { type: "text" as const, text: `Error code: ${(err as any).code || 'Unknown'}`, } ] }); } }); }); }); }
  • The input schema defining parameters 'username' and 'totpCode' validated with Zod.
    { username: z.string(), totpCode: z.string()
  • index.ts:848-915 (registration)
    The registration of the 'verify_software_token' tool using server.tool(), specifying name, input schema, and handler function.
    server.tool( "verify_software_token", { username: z.string(), totpCode: z.string() }, async ({ username, totpCode }) => { return new Promise((resolve, reject) => { const cognitoUser = new CognitoUser({ Username: username, Pool: userPool }); cognitoUser.getSession((err: Error | null, _session: CognitoUserSession) => { if (err) { reject({ content: [ { type: "text" as const, text: `Error getting session: ${err.message}`, } ] }); return; } cognitoUser.verifySoftwareToken(totpCode, 'TOTP Authenticator App', { onSuccess: (result) => { resolve({ content: [ { type: "text" as const, text: "TOTP token verified successfully", }, { type: "text" as const, text: `Username: ${username}`, }, { type: "text" as const, text: `Status: ${result || 'SUCCESS'}`, }, { type: "text" as const, text: `Time: ${new Date().toISOString()}`, } ] }); }, onFailure: (err) => { reject({ content: [ { type: "text" as const, text: `Failed to verify TOTP token: ${err.message}`, }, { type: "text" as const, text: `Error code: ${(err as any).code || 'Unknown'}`, } ] }); } }); }); }); } )

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/gitCarrot/mcp-server-aws-cognito'

If you have feedback or need assistance with the MCP directory API, please join our Discord server