60e0ffc959
Upgrade checks / Notify on failure (push) Has been cancelled
Upgrade checks / Close issue on success (push) Has been cancelled
Schema Crash Test / Real-world schema crash test (232K schemas) (push) Has been cancelled
Run static analysis / static_analysis (push) Has been cancelled
Tests / Tests: Python 3.10 on ubuntu-latest (push) Has been cancelled
Tests / Tests: Python 3.13 on ubuntu-latest (push) Has been cancelled
Tests / Tests: Python 3.10 on windows-latest (push) Has been cancelled
Tests / Tests with lowest-direct dependencies (push) Has been cancelled
Tests / MCP conformance tests (push) Has been cancelled
Tests / Integration tests (push) Has been cancelled
Tests / Package install smoke (push) Has been cancelled
Upgrade checks / Static analysis (push) Has been cancelled
Upgrade checks / Tests: Python 3.10 on ubuntu-latest (push) Has been cancelled
Upgrade checks / Tests: Python 3.13 on ubuntu-latest (push) Has been cancelled
Upgrade checks / Tests: Python 3.10 on windows-latest (push) Has been cancelled
Upgrade checks / Integration tests (push) Has been cancelled
Update MCPServerConfig Schema / update-config-schema (push) Has been cancelled
Update SDK Documentation / update-sdk-docs (push) Has been cancelled
AWS Cognito OAuth Example
Demonstrates FastMCP server protection with AWS Cognito OAuth.
Setup
-
Create an AWS Cognito User Pool and App Client:
- Go to AWS Cognito Console
- Create a new User Pool or use an existing one
- Create an App Client in your User Pool
- Configure the App Client settings:
- Enable "Authorization code grant" flow
- Add Callback URL:
http://127.0.0.1:8000/auth/callback - Configure OAuth scopes (at minimum:
openid)
- Note your User Pool ID, App Client ID, Client Secret, and Cognito Domain Prefix
-
Set environment variables:
export FASTMCP_SERVER_AUTH_AWS_COGNITO_USER_POOL_ID="your-user-pool-id" export FASTMCP_SERVER_AUTH_AWS_COGNITO_AWS_REGION="your-aws-region" export FASTMCP_SERVER_AUTH_AWS_COGNITO_CLIENT_ID="your-app-client-id" export FASTMCP_SERVER_AUTH_AWS_COGNITO_CLIENT_SECRET="your-app-client-secret"Or create a
.envfile:FASTMCP_SERVER_AUTH_AWS_COGNITO_USER_POOL_ID=your-user-pool-id FASTMCP_SERVER_AUTH_AWS_COGNITO_AWS_REGION=your-aws-region FASTMCP_SERVER_AUTH_AWS_COGNITO_CLIENT_ID=your-app-client-id FASTMCP_SERVER_AUTH_AWS_COGNITO_CLIENT_SECRET=your-app-client-secret -
Run the server:
python server.py -
In another terminal, run the client:
python client.py
The client will open your browser for AWS Cognito authentication.