A Model Context Protocol (MCP) server implementation that connects to AWS Cognito for authentication and user management. This server provides a set of tools for user authentication flows including sign-up, sign-in, password management, and more.
- AWS account with Cognito User Pool configured
- Node.js 18 or higher
# Clone the repository
git clone https://github.com/yourusername/mcp-server-aws-cognito.git
# Install dependencies
cd mcp-server-aws-cognito
npm install
# Build the server
npm run build- Log in to your AWS Console and navigate to Amazon Cognito
- Create a User Pool or use an existing one
- Note your User Pool ID and App Client ID
- Set these values as environment variables or in a .env file (you need .env file only when you use claude code, not claude desktop):
AWS_COGNITO_USER_POOL_ID=your-user-pool-id
AWS_COGNITO_USER_POOL_CLIENT_ID=your-app-client-id
| Tool Name | Description | Parameters |
|---|---|---|
sign_up |
Register a new user | email: string, password: string |
sign_up_confirm_code_from_email |
Verify account with confirmation code | username: string, confirmationCode: string |
sign_in |
Authenticate a user | username: string, password: string |
sign_out |
Sign out the current user | None |
getCurrentUser |
Get the current signed-in user | None |
reset_password_send_code |
Request password reset code | username: string |
reset_password_veryify_code |
Reset password with verification code | username: string, code: string, newPassword: string |
change_password |
Change password for signed-in user | oldPassword: string, newPassword: string |
refresh_session |
Refresh the authentication tokens | None |
update_user_attributes |
Update user profile attributes | attributes: Array of {name: string, value: string} |
delete_user |
Delete the current signed-in user | None |
resend_confirmation_code |
Resend account verification code | username: string |
verify_software_token |
Verify TOTP for MFA | username: string, totpCode: string |
The Inspector will provide a URL to access debugging tools in your browser.
Before starting make sure Node.js is installed on your desktop for npx to work.
-
Go to: Settings > Developer > Edit Config
-
Add the following to your
claude_desktop_config.json:
{
"mcpServers": {
"aws-cognito-mcp-server": {
"command": "/path/to/mcp-server-aws-cognito/build/index.js",
"env": {
"AWS_COGNITO_USER_POOL_ID": "your-user-pool-id",
"AWS_COGNITO_USER_POOL_CLIENT_ID": "your-app-client-id"
}
}
}
}Claude Code is a command-line interface for Claude. To use this MCP server with Claude Code:
-
Install Claude Code by following the instructions at Claude Code Documentation
-
Add the MCP server to Claude Code:
claude mcp add "aws-cognito-mcp" npx tsx index.ts- Verify it's been added:
claude mcp list- Run Claude with your MCP server:
claudeFor development with auto-rebuild:
npm run watchSince MCP servers communicate over stdio, debugging can be challenging. Use the MCP Inspector for better visibility:
npm run inspectorNow you can use the AWS Cognito authentication tools with Claude!