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!
Recommend MCP Servers 💡
@takumi0706/google-calendar-mcp
Google Calendar MCP server for Claude Desktop integration
@hardik-id/azure-resource-graph-mcp-server
Model Context Protocol (MCP) server that provides access to Azure Resource Graph queries. It allows you to retrieve information about Azure resources across your subscriptions using Resource Graph queries.
honeycomb-mcp
A Model Context Protocol server for interacting with Honeycomb observability data, enabling LLMs to query and analyze data, alerts, and dashboards for Honeycomb Enterprise customers.
lciesielski/mcp-salesforce-example
An MCP server that integrates with Salesforce to enable features like sending emails and deploying Apex code.
pythonanywhere-mcp-server
A Model Context Protocol (MCP) server acts as a bridge between AI-powered tools and your PythonAnywhere account, enabling secure, programmatic management of files, websites, webapps, and scheduled tasks. By exposing a standardized interface, it allows language models and automation clients to perform operations—such as editing files, deploying web apps, or scheduling jobs -- on your behalf, all while maintaining fine-grained control and auditability.
heroku
Facilitates seamless interaction between large language models (LLMs) and the Heroku Platform, enabling LLMs to read, manage, and operate Heroku Platform resources.