MCP服务器基础架构v2
始终在MCP服务器上使用FastMCP-正确的MCP协议实现。
架构更改
我们正在使用FastMCP从基本的HTTP端点迁移到适当的MCP协议:
- ✅ 原生Claude桌面支持
- ✅ 正确的JSON-RPC 2.0协议
- ✅ 自动工具发现
- ✅ Pydantic的类型安全
快速开始
# SSH into your server
ssh root@134.199.159.190
# Clone this repo
cd /opt
git clone https://github.com/harrysayers7/mcp-server-infra.git
cd mcp-server-infra
# Choose setup:
./scripts/setup-fastmcp.sh # New FastMCP servers (recommended)
# OR
./scripts/setup.sh # Original HTTP serversFastMCP服务器
文件系统服务器(端口3001)
- 通过FastMCP实现正确的MCP协议
- Claude Desktop的SSE传输
- 类型安全操作
添加新的FastMCP服务器
- 创建
servers/your-service/server.py:
from fastmcp import FastMCP
mcp = FastMCP("your-service")
@mcp.tool()
def your_tool(param: str) -> str:
"""Tool description"""
return f"Result: {param}"
if __name__ == "__main__":
mcp.run(port=3002)- 创建
servers/your-service/Dockerfile:
FROM python:3.11-slim
WORKDIR /app
RUN pip install fastmcp
COPY server.py .
CMD ["python", "server.py"]- 增添
docker-compose-fastmcp.yml
Claude桌面配置
对于FastMCP服务器(推荐):
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"@modelcontextprotocol/server-sse-client",
"http://localhost:3001/sse"
]
}
}
}对于原始HTTP服务器:
有关HTTP适配器设置,请参阅CLAUDE.md。
为什么选择FastMCP?
- 正确的MCP协议 -不仅仅是HTTP端点
- 直接克劳德支持 -无需适配器
- 类型安全 -Pydantic验证
- 工具发现 -自动模式生成
- 更好的DX -装饰而不是样板
迁移路径
- 保持现有HTTP服务器运行
- 使用FastMCP添加新服务器
- 逐步迁移旧服务器
- 删除HTTP适配器层
SSH隧道(两者相同)
# From your Mac
ssh -L 3001:localhost:3001 -L 3002:localhost:3002 root@134.199.159.190后续步骤
- 部署FastMCP版本:
./scripts/setup-fastmcp.sh - 测试:
./scripts/test-fastmcp.sh - 使用SSE客户端连接Claude Desktop
- 使用FastMCP构建新服务
