Server facts
FastAPI-MCP
Project
- Author
- tadata-org
- Repository
- github.com/tadata-org/fastapi_mcp
- Website
- fastapi-mcp.tadata.com/
- License
- MIT
- Category
- Developer Tools
Tech
- Runtime / language
- pythonPython
- Transports
- stdio
- Remote available
- No
- Authentication
- Not specified
Activity
- GitHub stars
- 12,025
- Last commit
- Data as of
Tags
- Api Integration
- Asgi
- Authentication
- Fastapi
- Python
Overview
FastAPI-MCP turns a FastAPI application's endpoints into tools that MCP clients can use. Its approach is tied directly to FastAPI rather than treating the service only as an OpenAPI document to convert. The README emphasizes retaining request and response schemas, preserving endpoint documentation, and reusing familiar dependency-based authentication and authorization. This is useful when a team already has an API and wants assistants to reach those capabilities without separately defining a parallel tool interface. The actual available tools depend on the application's endpoints; the supplied input does not name a fixed catalog of built-in tools.
The basic integration creates a FastApiMCP instance around an existing FastAPI app and mounts the MCP server on that app. The example makes the MCP route available beneath /mcp at the application's own base URL, not at a shared public endpoint. Communication with the API uses its ASGI interface directly, avoiding an extra HTTP call from the MCP layer to the FastAPI application. Deployment can share the original app's infrastructure or run separately, with advanced details linked from the README. Installation uses uv or pip, and the requirements list Python 3.10 or later, recommending 3.12. This is primarily an application integration package rather than a standalone server with a universal launch command or predefined environment settings.
Install & configure
Requirements
- Python 3.10 or later, with 3.12 recommended
- uv for this installation method
- A FastAPI application
uv add fastapi-mcpThis command adds the dependency, not a runnable standalone MCP server. Instantiate FastApiMCP(app) and call mcp.mount() in your app. The README gives an application-specific /mcp URL but does not state a public endpoint or exact MCP wire transport. ASGI describes its internal API communication. pip install fastapi-mcp is also documented.
Examples are translated from the published configuration. Supply your own credentials and verify requirements in the upstream README. Remote connectors are shown only where a supported configuration format is known.
Config file · macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Use Settings → Developer → Edit Config when available. Do not assume a Linux configuration path; check the client documentation for your platform. Remote servers use the app’s connector flow when supported, not the local stdio file shown here. Merge this example with existing settings; do not overwrite unrelated servers.
No install command stated in the README — see repo. Check the client documentation for a supported connection method.
Read the Claude Desktop setup guideConfig file · Project: .cursor/mcp.json
User: ~/.cursor/mcp.json
The project path is relative to the workspace root. The tilde denotes your user home directory. Use Cursor’s MCP settings to confirm which configuration and scope your installed version is reading. Merge this example with existing settings; do not overwrite unrelated servers.
No install command stated in the README — see repo. Check the client documentation for a supported connection method.
Read the Cursor setup guideConfig file · Workspace: .vscode/mcp.json
For user scope, use the “MCP: Open User Configuration” command if available. Do not guess a user configuration path across operating systems, profiles, containers, or remote workspaces; check the client documentation. Merge this example with existing settings; do not overwrite unrelated servers.
No install command stated in the README — see repo. Check the client documentation for a supported connection method.
Read the VS Code setup guideConfig file · macOS/Linux: ~/.codeium/windsurf/mcp_config.json
Windows: %USERPROFILE%\.codeium\windsurf\mcp_config.json
Open the MCP configuration through Windsurf’s settings when possible to confirm the active file. Paths can differ in managed or future releases; check the client documentation if this location is not present. Merge this example with existing settings; do not overwrite unrelated servers.
No install command stated in the README — see repo. Check the client documentation for a supported connection method.
Read the Windsurf setup guideConfig file · Project scope: .mcp.json at the repository root
The project file uses mcpServers. For user scope, use claude mcp add --scope user rather than assuming .mcp.json in your home directory is the user configuration. Check the client documentation for managed settings and storage details. Merge this example with existing settings; do not overwrite unrelated servers.
No install command stated in the README — see repo. Check the client documentation for a supported connection method.
Read the Claude Code setup guideExamples are translated from the published configuration. Supply your own credentials and verify requirements in the upstream README. Remote connectors are shown only where a supported configuration format is known.
Tools
No individual tool names were confirmed in the source material. Check the repository for its current tool list.
Names, permissions, and defaults can change. Check the current upstream documentation before granting access.
Use cases
- Add MCP access to an existing FastAPI application.
- Reuse FastAPI dependency-based authentication for assistant-facing tools.
- Expose API capabilities while retaining request and response schemas.
- Mount MCP within the API deployment or arrange a separate deployment.
Strengths
- Reuses native FastAPI dependencies for authentication and authorization.
- Preserves endpoint schemas and documentation.
- Uses direct ASGI communication rather than extra internal HTTP requests.
- Supports shared-app or separate deployment.
Limitations
- Requires a FastAPI application and Python 3.10 or later.
- Tool names and capabilities are application-specific rather than a fixed catalog.
- The README's install command does not launch an application server.
Frequently asked questions
Independent listing, not an affiliation or security review. Grant the least access needed and verify the upstream instructions before running code.