🐍 FastAPI Docs MCP Server 🤖
Real-time FastAPI documentation access for AI assistants
______________________________________________________________________
特性
- 实时文档 --直接从fastapi.tiangolo.com获取
- 智能搜索 --按关键字查找文档,支持常用别名
- 完整的站点地图访问权限 --浏览所有可用的文档页面
- 代码示例 --只获取代码,无需散文
- 比较方法 --不同模式的并排比较
工具
| 工具 | 说明 |
|---|---|
get_fastapi_docs(path) | 按路径获取任何文档页面 |
search_fastapi_docs(query) | 按关键字搜索文档(支持别名) |
list_fastapi_pages() | 列出所有可用的文档页面 |
get_fastapi_example(topic) | 只获取代码示例,无需散文 |
compare_fastapi_approaches(topic) | 并排比较不同的方法 |
get_fastapi_best_practices(topic) | 从多个页面获取组合最佳实践 |
例子
连接后,询问您的AI助手:
- “如何在FastAPI中设置CORS?”
- “显示FastAPI安全文档”
- “什么是FastAPI依赖关系?”
- “列出所有FastAPI教程页面”
- “给我一个JWT身份验证的代码示例”
- “比较FastAPI中的同步与异步”
- “在FastAPI中测试的最佳实践是什么?”
安装
git clone https://github.com/jaredthivener/fastapi-docs-mcp.git
cd fastapi-docs-mcp
uv sync用法
使用克劳德桌面
添加到 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)或 %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"fastapi-docs": {
"command": "uv",
"args": ["run", "--directory", "/path/to/fastapi-docs-mcp", "python", "main.py"]
}
}
}使用VS代码(GitHub Copilot)
添加到 .vscode/mcp.json 在您的工作空间中:
{
"servers": {
"fastapi-docs": {
"command": "uv",
"args": ["run", "--directory", "/path/to/fastapi-docs-mcp", "python", "main.py"]
}
}
}使用Docker
在本地构建映像:
docker build -t fastapi-docs-mcp .然后使用此MCP服务器配置:
{
"servers": {
"fastapi-docs": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"fastapi-docs-mcp"
],
"type": "stdio"
}
}
}独立
uv run python main.py发展
# Install dev dependencies
uv sync --extra dev
# Run tests
uv run pytest
# Lint
uv run ruff check .
# Format
uv run ruff format .
# Type check
uv run mypy main.py运作原理
服务器直接从官方FastAPI网站获取文档:
- 基于网站地图的发现 --用途
sitemap.xml查找所有可用页面 - 实时取数 --检索每个请求的当前文档
- 智能提取 --从HTML页面中提取可读内容
- 关键字别名 --映射常用术语(例如“auth”→ “安全”)
内容限制
为了保持快速响应并避免AI上下文窗口过载,文档内容被截断为最大长度(目前 15000个字符).如果页面超过该限制,响应将以截断通知和指向完整页面的链接结束。
许可证
麻省理工学院
