fastmcp-server
Verified Safeby ShashankShekhar00
Overview
A production-ready Model Context Protocol (MCP) server enabling AI agents to execute secure tools with OAuth 2.0 authentication.
Installation
docker compose up --build -dEnvironment Variables
- OAUTH_DOMAIN
- OAUTH_AUDIENCE
- OAUTH_CLIENT_ID
- OAUTH_CLIENT_SECRET
- OAUTH_TOKEN_URL
- OAUTH_JWKS_URL
- OAUTH_ISSUER
- OPENWEATHER_API_KEY
- ALLOWED_FILE_PATHS
- SECRET_KEY
- HOST
- PORT
- ENVIRONMENT
- LOG_LEVEL
- OAUTH_ALGORITHMS
- OAUTH_ACCESS_TOKEN_EXPIRY
- OAUTH_REFRESH_TOKEN_EXPIRY
- OAUTH_REQUIRE_PKCE
- OAUTH_ALLOW_IMPLICIT
- OPENWEATHER_BASE_URL
- OPENWEATHER_TIMEOUT
- MAX_FILE_SIZE_MB
- ALLOWED_FILE_EXTENSIONS
- CORS_ORIGINS
- TRANSPORT_MODE
- RATE_LIMIT_REQUESTS
- RATE_LIMIT_WINDOW_SECONDS
- HTTPS_ONLY
- DATABASE_URL
- DATABASE_ECHO
- USER_DATA_DIR
Security Notes
The server demonstrates strong security practices with robust input validation (e.g., path traversal, city name sanitization), OAuth 2.0 JWT authentication, and structured logging with sensitive data redaction. Docker deployment uses non-root users and environment-based secrets. The `SECURITY_FIX.md` explicitly addresses a past critical credential exposure with detailed remediation steps, indicating a proactive stance on security. The `server_oauth.py` currently uses a hardcoded `test_user_id` for OAuth-protected tools, explicitly marked as a TODO, which is a temporary development artifact to be replaced with actual OAuth token extraction.
Similar Servers
hyper-mcp
A fast, secure Model Context Protocol (MCP) server that extends its capabilities through WebAssembly plugins, enabling AI agents to access tools, resources, and prompts.
SageMCP
A scalable platform for hosting MCP servers with multi-tenant support, OAuth integration, and connector plugins for various services, deployed on Kubernetes.
mcp-python-starter
A feature-complete Model Context Protocol (MCP) server template in Python for developing AI applications and agents.
docker-mcp-server
A Model Context Protocol (MCP) server for containerized execution and file operations, enabling AI assistants to interact with a Docker environment via HTTP.