Expose your FastAPI endpoints as Model Context Protocol (MCP) tools, with Auth!
FastAPI-MCP is a Python library that automatically converts existing FastAPI endpoints into Model Context Protocol tools, making them available to MCP-compatible clients such as Claude Desktop, Cursor, and Windsurf. Developers install it via pip or uv, instantiate a `FastApiMCP` object pointing at their FastAPI app, call `mcp.mount()`, and the MCP server becomes accessible at `/mcp` on the same base URL with no further configuration required. Rather than simply parsing an OpenAPI schema, the library integrates natively with FastAPI, using its ASGI interface to communicate directly without additional HTTP round-trips and preserving existing `Depends()`-based authentication and authorization logic without rewriting it. Request and response model schemas, along with Swagger documentation, carry over automatically to the generated tools. The server can be mounted alongside the existing app or deployed separately. Python 3.10 or higher is required, with 3.12 recommended. The library suits backend developers who want to expose their existing API logic to LLM-driven workflows without maintaining a parallel service or duplicating security code.
- ✓Open-source license (MIT)
- ✓Healthy fork ratio
- ✓Clear description
- ✓Topics declared
- ✓Mature repo (>1y old)
- ✓Documented (README)
- !Inactive (>180d)
claude mcp add fastapi-mcp -- python -m fastapi-mcp{
"mcpServers": {
"fastapi-mcp": {
"command": "python",
"args": ["-m", "fastapi-mcp"]
}
}
}MCP Servers overview
<p align="center"><a href="https://github.com/tadata-org/fastapi_mcp"><img src="https://github.com/user-attachments/assets/7e44e98b-a0ba-4aff-a68a-4ffee3a6189c" alt="fastapi-to-mcp" height=100/></a></p> <div align="center"> <span style="font-size: 0.85em; font-weight: normal;">Built by <a href="https://tadata.com">Tadata</a></span> </div> <h1 align="center"> FastAPI-MCP </h1> <div align="center"> <a href="https://trendshift.io/repositories/14064" target="_blank"><img src="https://trendshift.io/api/badge/repositories/14064" alt="tadata-org%2Ffastapi_mcp | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a> </div> <p align="center">Expose your FastAPI endpoints as Model Context Protocol (MCP) tools, with Auth!</p> <div align="center"> [](https://pypi.org/project/fastapi-mcp/) [](https://pypi.org/project/fastapi-mcp/) [](#) [](https://github.com/tadata-org/fastapi_mcp/actions/workflows/ci.yml) [](https://codecov.io/gh/tadata-org/fastapi_mcp) </div> <p align="center"><a href="https://github.com/tadata-org/fastapi_mcp"><img src="https://github.com/user-attachments/assets/b205adc6-28c0-4e3c-a68b-9c1a80eb7d0c" alt="fastapi-mcp-usage" height="400"/></a></p> ## Features - **Authentication** built in, using your existing FastAPI dependencies! - **FastAPI-native:** Not just another OpenAPI -> MCP converter - **Zero/Minimal configuration** required - just point it at your FastAPI app and it works - **Preserving schemas** of your request models and response models - **Preserve documentation** of all your endpoints, just as it is in Swagger - **Flexible deployment** - Mount your MCP server to the same app, or deploy separately - **ASGI transport** - Uses FastAPI's ASGI interface directly for efficient communication ## Hosted Solution If you prefer a managed hosted solution check out [tadata.com](https://tadata.com). ## Installation We recommend using [uv](https://docs.astral.sh/uv/), a fast Python package installer: ```bash uv add fastapi-mcp ``` Alternatively, you can install with pip: ```bash pip install fastapi-mcp ``` ## Basic Usage The simplest way to use FastAPI-MCP is to add an MCP server directly to your FastAPI application: ```python from fastapi import FastAPI from fastapi_mcp import FastApiMCP app = FastAPI() mcp = FastApiMCP(app) # Mount the MCP server directly to your FastAPI app mcp.mount() ``` That's it! Your auto-generated MCP server is now available at `https://app.base.url/mcp`. ## Documentation, Examples and Advanced Usage FastAPI-MCP provides [comprehensive documentation](https://fastapi-mcp.tadata.com/). Additionaly, check out the [examples directory](examples) for code samples demonstrating these features in action. ## FastAPI-first Approach FastAPI-MCP is designed as a native extension of FastAPI, not just a converter that generates MCP tools from your API. This approach offers several key advantages: - **Native dependencies**: Secure your MCP endpoints using familiar FastAPI `Depends()` for authentication and authorization - **ASGI transport**: Communicates directly with your FastAPI app using its ASGI interface, eliminating the need for HTTP calls from the MCP to your API - **Unified infrastructure**: Your FastAPI app doesn't need to run separately from the MCP server (though [separate deployment](https://fastapi-mcp.tadata.com/advanced/deploy#deploying-separately-from-original-fastapi-app) is also supported) This design philosophy ensures minimum friction when adding MCP capabilities to your existing FastAPI services. ## Development and Contributing Thank you for considering contributing to FastAPI-MCP! We encourage the community to post Issues and create Pull Requests. Before you get started, please see our [Contribution Guide](CONTRIBUTING.md). ## Community Join [MCParty Slack community](https://join.slack.com/t/themcparty/shared_invite/zt-30yxr1zdi-2FG~XjBA0xIgYSYuKe7~Xg) to connect with other MCP enthusiasts, ask questions, and share your experiences with FastAPI-MCP. ## Requirements - Python 3.10+ (Recommended 3.12) - uv ## License MIT License. Copyright (c) 2025 Tadata Inc.
What people ask about fastapi_mcp
What is tadata-org/fastapi_mcp?
+
tadata-org/fastapi_mcp is mcp servers for the Claude AI ecosystem. Expose your FastAPI endpoints as Model Context Protocol (MCP) tools, with Auth! It has 11.9k GitHub stars and was last updated 6mo ago.
How do I install fastapi_mcp?
+
You can install fastapi_mcp by cloning the repository (https://github.com/tadata-org/fastapi_mcp) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.
Is tadata-org/fastapi_mcp safe to use?
+
Our security agent has analyzed tadata-org/fastapi_mcp and assigned a Trust Score of 90/100 (tier: Verified). See the full breakdown of passed checks and flags on this page.
Who maintains tadata-org/fastapi_mcp?
+
tadata-org/fastapi_mcp is maintained by tadata-org. The last recorded GitHub activity is from 6mo ago, with 155 open issues.
Are there alternatives to fastapi_mcp?
+
Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.
Deploy fastapi_mcp to your cloud
Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.
Maintain this repo? Add a badge to your README
Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.
[](https://claudewave.com/repo/tadata-org-fastapi-mcp)<a href="https://claudewave.com/repo/tadata-org-fastapi-mcp"><img src="https://claudewave.com/api/badge/tadata-org-fastapi-mcp" alt="Featured on ClaudeWave: tadata-org/fastapi_mcp" width="320" height="64" /></a>More MCP Servers
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
The fastest path to AI-powered full stack observability, even for lean teams.
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!
⭐AI-driven public opinion & trend monitor with multi-platform aggregation, RSS, and smart alerts.🎯 告别信息过载,你的 AI 舆情监控助手与热点筛选工具!聚合多平台热点 + RSS 订阅,支持关键词精准筛选。AI 智能筛选新闻 + AI 翻译 + AI 分析简报直推手机,也支持接入 MCP 架构,赋能 AI 自然语言对话分析、情感洞察与趋势预测等。支持 Docker ,数据本地/云端自持。集成微信/飞书/钉钉/Telegram/邮件/ntfy/bark/slack 等渠道智能推送。