Install
$ agentstack add mcp-rcrsr-fastapi-mcp-router ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
fastapi-mcp-router
[](https://github.com/rcrsr/fastapi-mcp-router/actions/workflows/ci.yml) [](https://pypi.org/project/fastapi-mcp-router/) [](https://pypi.org/project/fastapi-mcp-router/) [](https://github.com/rcrsr/fastapi-mcp-router/blob/main/LICENSE)
Add MCP to your existing FastAPI app. Register tools, resources, and prompts with decorators. Use Depends(), Request, and BackgroundTasks the same way you already do.
Why fastapi-mcp-router
- It's just an
APIRouter. Mount it like any other router. No separate framework, no new server process. - Your DI still works.
Depends(),Request,BackgroundTasks— same patterns, same middleware. - 2 dependencies. FastAPI and Pydantic. Nothing else.
- No lock-in. Tools are regular async functions. Call them from tests, CLI scripts, or other endpoints without MCP.
- Lambda-ready. Stateless mode + Mangum. No adapter layer.
Use FastMCP instead if you need STDIO transport, OpenAPI spec imports, or managed hosting.
Install
pip install fastapi-mcp-router
Quick Start
from fastapi import FastAPI
from fastapi_mcp_router import MCPRouter
app = FastAPI()
mcp = MCPRouter()
@mcp.tool()
async def write_message(payload: str) -> dict:
"""Write coordination message."""
return {"success": True, "message_id": "msg-123"}
@mcp.resource("project://{project_id}/config")
async def project_config(project_id: str) -> dict:
return {"project_id": project_id, "env": "production"}
@mcp.prompt()
async def review_code(file_path: str, language: str = "python") -> list[dict]:
return [{"role": "user", "content": f"Review {file_path} ({language})"}]
app.include_router(mcp, prefix="/mcp")
That's it. Your FastAPI app now speaks MCP over Streamable HTTP.
What You Get
- Full MCP 2025-06-18 spec — tools, resources, prompts, sampling, logging, completions, elicitation
- Streamable HTTP — JSON or SSE response based on
Acceptheader - Streaming tools — return
AsyncGeneratorfor incremental results - Session management — in-memory and Redis stores for stateful connections
- Progress reporting — inject
ProgressCallbackinto tool signatures - Auth —
auth_validatorcallback + OAuth 2.1 PRM (RFC 9728) - OpenTelemetry — opt-in spans and counters via
pip install fastapi-mcp-router[otel] - Lambda-ready — stateless mode works with Mangum, no adapter overhead
Documentation
- [Quick Start](docs/quickstart.md) — installation, first tool, stateful mode, auth, Lambda
- [Guide](docs/guide.md) — resources, prompts, streaming, sessions, telemetry
- [API Reference](docs/reference.md) — all exports, types, and configuration options
License
MIT
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: rcrsr
- Source: rcrsr/fastapi-mcp-router
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.