生产级别的MCP服务器开发框架 - 优化用于光标IDE的快速开发解决方案
English 中文
Awesome-MCP-Scaffold 是一个可立即使用的MCP服务器开发框架,允许您:
.cursor/rules 配置# 使用脚手架创建新项目
git clone https://github.com/WW-AI-Lab/Awesome-MCP-Scaffold.git my-mcp-server
cd my-mcp-server
# 创建虚拟环境
python3 -m venv .venv
source .venv/bin/activate # macOS/Linux
# .venv\Scripts\activate # Windows
# 安装依赖
pip install -r requirements.txt
# 开发模式 (stdio)
python run.py
# HTTP模式 (推荐)
python run.py --transport streamable-http --port 8000
# 使用FastMCP CLI
fastmcp dev run.py
# MCP协议测试 - 获取工具列表
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | python run.py
# MCP协议测试 - 获取资源列表
echo '{"jsonrpc":"2.0","id":2,"method":"resources/list"}' | python run.py
# MCP协议测试 - 调用计算器工具
echo '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"calculator","arguments":{"expression":"2+3*4"}}}' | python run.py
# HTTP模式下的MCP端点测试
curl -X POST http://localhost:8000/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
.cursor/rules 配置Cmd/Ctrl+K 输入需求,AI自动生成代码awesome-mcp-scaffold/
├── 🎯 核心架构
│ ├── server/ # MCP服务器核心
│ │ ├── main.py # FastMCP主实例
│ │ ├── config.py # 配置管理
│ │ ├── tools/ # 工具实现 (12+示例)
│ │ ├── resources/ # 资源实现
│ │ ├── prompts/ # 提示模板
│ │ └── routes/ # REST API路由
│ └── run.py # 启动入口
│
├── 🤖 光标集成
│ └── .cursor/rules/ # AI规则配置
│ ├── mcp-development-guide.mdc
│ ├── streamable-http-production.mdc
│ └── mcp-testing-patterns.mdc
│
├── 🏭 生产部署
│ ├── Dockerfile # 生产级容器配置
│ ├── docker-compose.yml # 多环境部署
│ ├── docker-entrypoint.sh # 智能启动脚本
│ └── deploy/ # 部署配置
│ ├── nginx/ # 负载均衡
│ └── kubernetes/ # K8s配置
│
├── 📚 文档指南
│ ├── docs/GETTING_STARTED.md
│ ├── docs/CURSOR_GUIDE.md
│ ├── docs/DOCKER_OPTIMIZATION.md
│ └── docs/BEST_PRACTICES.md
│
└── 🧪 测试验证
├── tests/ # 完整测试套件
├── Makefile # 开发命令
└── pyproject.toml # 项目配置
创建一个新的工具 - 在光标中按 Cmd/Ctrl+K:
"创建一个天气查询工具,支持城市名和坐标查询,一步一步努力完成目标"
AI自动生成:
@mcp.tool(title="Weather Query", description="通过城市或坐标查询天气")
def get_weather(location: str, units: str = "metric") -> Dict[str, Any]:
"""查询当前天气信息。"""
# 完整的实现代码...
添加资源 - 继续对话:
"为天气工具添加一个配置资源,支持API密钥管理,一步一步努力完成目标"
生成测试 - 一键生成:
"为天气工具生成完整的测试用例,一步一步努力完成目标"
| 规则文件 | 目的 | 触发场景 |
|---|---|---|
mcp-development-guide.mdc | MCP开发指南 | 开发工具/资源/提示 |
streamable-http-production.mdc | 生产部署优化 | 部署配置和性能优化 |
mcp-testing-patterns.mdc | 测试最佳实践 | 编写和优化测试代码 |
# 构建生产镜像
docker build -t my-mcp-server .
# 启动生产服务器 (自动多进程)
docker run -d \
--name mcp-server \
-p 8000:8000 \
-e ENVIRONMENT=production \
my-mcp-server
# 启动完整服务栈
docker-compose up -d
🎯 OutputSchema的核心功能:
/mcp - MCP协议通信端点/health - 健康检查/info - 服务器信息/api/tools - 工具列表 (非MCP协议)# 运行完整测试
make test
# 代码质量检查
make lint
# 测试覆盖率
make coverage
# 1. MCP核心功能测试
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | python run.py
echo '{"jsonrpc":"2.0","id":2,"method":"resources/list"}' | python run.py
# 2. MCP工具调用测试
echo '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"calculator","arguments":{"expression":"10*5+2"}}}' | python run.py
# 3. HTTP模式MCP测试
curl -X POST http://localhost:8000/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
# 4. ⭐ 输出模式验证 - 获取工具信息时包含响应参数模式
echo '{"jsonrpc":"2.0","id":4,"method":"tools/list"}' | python run.py | jq '.result.tools[0].outputSchema'
# 5. 可选的健康检查 (非MCP协议)
curl http://localhost:8000/health
基于此框架构建的生产项目:
本项目采用 MIT许可证 - 可自由用于商业和开源项目。
感谢以下项目和社区的支持:
🚀 现在开始您的MCP服务器开发之旅!
如果这个框架对您有帮助,请给我们一个 ⭐ ️