AWS Cognito MCP Server
by gitCarrot
An MCP server implementation that connects to AWS Cognito for authentication and user management. It provides tools for user authentication flows including sign-up, sign-in, password management, and more.
Last updated: N/A
AWS Cognito MCP Server
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.
Prerequisites
- AWS account with Cognito User Pool configured
- Node.js 18 or higher
Installation
# 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
AWS Cognito Configuration
- 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
Available Tools
| 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.
Using with Claude Desktop
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"
}
}
}
}
Using with Claude Code
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:
claude
Development
For development with auto-rebuild:
npm run watch
Debugging
Since MCP servers communicate over stdio, debugging can be challenging. Use the MCP Inspector for better visibility:
npm run inspector
Now you can use the AWS Cognito authentication tools with Claude!