使用说明
FastAPI MCP 服务器
一个模型上下文协议(MCP)服务器,提供工具用于创建具有标准项目结构的FastAPI应用程序。
特点/特性
- 创建FastAPI项目生成具有良好组织结构的FastAPI新项目
- Docker 配置生成用于容器化的Docker和Docker Compose文件
- CRUD 生成为任何模型自动生成完整的CRUD操作
- 标准结构包括路由器、模型、模式、服务、中间件等
- 即开即用生成的项目包含了所有必要的依赖项和配置
安装
这个项目使用 uv 用于依赖管理。请确保您已 uv 已安装:
curl -LsSf https://astral.sh/uv/install.sh | sh
然后安装项目依赖项:
uv sync
本地MCP服务器设置
在本地设置MCP服务器
-
克隆仓库:
git clone <repository-url> cd fastapi-mcp-server -
安装依赖项:
uv sync -
测试MCP服务器:
uv run python -m fastapi_mcp.server
与MCP客户端一起使用
Claude 桌面集成
要在Claude Desktop中使用此MCP服务器,请在您的Claude Desktop配置中添加以下内容:
macOS(苹果电脑操作系统): ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"fastapi-mcp-server": {
"command": "uv",
"args": ["run", "python", "-m", "fastapi_mcp.server"],
"cwd": "/path/to/fastapi-mcp-server"
}
}
}
光标集成
要在Cursor中使用此MCP服务器,您需要在Cursor的设置中进行配置:
-
打开光标设置:
- 按压
Cmd/Ctrl + ,打开设置 - 进入“功能”→“模型上下文协议”
- 按压
-
添加MCP服务器配置:
{ "mcpServers": { "fastapi-mcp-server": { "command": "uv", "args": ["run", "python", "-m", "fastapi_mcp.server"], "cwd": "/path/to/fastapi-mcp-server" } } } -
备选方案:使用 Cursor 的 MCP 配置文件: 创建或编辑
~/.cursor/mcp_config.json:{ "mcpServers": { "fastapi-mcp-server": { "command": "uv", "args": ["run", "python", "-m", "fastapi_mcp.server"], "cwd": "/path/to/fastapi-mcp-server" } } } -
重启光标 添加配置后。
使用方法
运行MCP服务器
uv run python -m fastapi_mcp.server
可用工具
创建FastAPI项目
创建一个具有以下结构的新 FastAPI 项目:
project_name/
├── app/
│ ├── __init__.py
│ ├── main.py # Main FastAPI application
│ ├── routers/ # API route handlers
│ ├── models/ # Database models
│ ├── schemas/ # Pydantic schemas
│ ├── services/ # Business logic
│ ├── middleware/ # Custom middleware
│ ├── utils/ # Utility functions
│ └── core/ # Core configuration
├── tests/ # Test files
├── requirements.txt # Python dependencies
├── .env.example # Environment variables template
└── README.md # Project documentation
参数:
project_name(字符串,必填):要创建的 FastAPI 项目名称
示例用法:
{
"name": "create_fastapi_project",
"arguments": {
"project_name": "my-awesome-api"
}
}
生成Docker配置
为现有的FastAPI项目生成Docker配置文件。
参数:
project_path(字符串,必填):FastAPI 项目目录的路径python_version(字符串,可选):要使用的 Python 版本(默认:“3.12”)port(整数,可选):应用程序暴露的端口(默认:8000)
生成的文件:
Dockerfile- 多阶段Docker构建配置docker-compose.yml- Docker Compose 配置
示例用法:
{
"name": "generate_docker_config",
"arguments": {
"project_path": "./my-awesome-api",
"python_version": "3.12",
"port": 8000,
}
}
生成CRUD操作
为给定模型生成完整的CRUD操作,包括模式、服务和API端点。
参数:
project_path(字符串,必填):FastAPI 项目目录的路径model_name(字符串,必填):模型的名称(例如,'用户','产品')fields(数组,必需): 模型的字段列表
字段结构:
{
"name": "field_name",
"type": "str",
"required": true,
"description": "Field description"
}
生成的文件:
app/schemas/{model}.py- Pydantic 模式(创建、更新、响应)app/services/{model}_service.py- 具有CRUD方法的服务层app/routers/{model}.py- 带有REST端点的FastAPI路由器
生成的端点:
POST /{model}s/- 创建新记录GET /{model}s/- 列出分页记录GET /{model}s/{id}- 通过ID获取记录PUT /{model}s/{id}- 更新记录DELETE /{model}s/{id}- 删除记录
示例用法:
{
"name": "generate_crud_operations",
"arguments": {
"project_path": "./my-awesome-api",
"model_name": "User",
"fields": [
{
"name": "email",
"type": "str",
"required": true,
"description": "User email address"
},
{
"name": "name",
"type": "str",
"required": true,
"description": "User full name"
},
{
"name": "age",
"type": "int",
"required": false,
"description": "User age"
}
],
}
}
生成的项目特性
生成的FastAPI项目包括:
- CORS 中间件配置为开发环境,采用宽松设置
- 健康检查端点:
/health监控端点 - 根端点欢迎信息于
/ - 依赖项FastAPI、Uvicorn、Pydantic 和 Pydantic 设置
- 环境配置:
.env.example环境变量文件 - 文档包含设置和使用说明的README文件
发展
项目结构
src/
└── fastapi_mcp/
├── __init__.py
└── server.py # Main MCP server implementation
添加新工具
在MCP服务器上添加新工具:
- 在(相应位置)添加一个新的工具定义
handle_list_tools()函数 - 在相应位置添加对应的处理程序
call_tool()函数 - 将工具逻辑实现为一个独立的异步函数
要求
- Python >= 3.12(Python 3.12或更高版本)
- uv(用于依赖管理)
依赖项
mcp>=0.1.0模型上下文协议服务器实现pydantic>=2.12.0数据验证与设置管理pydantic-settings>=2.11.0Pydantic 的设置管理
许可证
这个项目是开源的,并且遵循MIT许可协议。
