MCP协议集成
MCP Protocol Integration
实现 Model Context Protocol 服务器,让 AI 编码助手直接调用代码分析能力
子问题
1.MCP 工具定义与注册
2.stdio/SSE 双传输模式
3.懒加载引擎初始化
4.自动克隆与索引
5.MCP 服务器日志隔离(stdout 为 JSON-RPC 通道)
6.Agent 侧 HTTP 代理工具与 MCP 直连的双层暴露
7.多仓库合并查询与跨仓库源泄漏防护
各项目的解法1 solutions
Signals
横向对比
| 维度 | FastCode |
|---|---|
| 工具注册方式 | FastMCP @mcp.tool() 装饰器,函数签名自动生成 JSON Schema |
| MCP 协议支持 | 完整 MCP 服务器,6 个工具,stdio/SSE 双传输 |
| 热更新/缓存 | 懒加载单例,首次调用时初始化引擎,FAISS 索引持久化复用 |
| 超时保护 | nanobot 侧 httpx 超时 1800s(load)/ 600s(query)/ 15s(status) |
| 双层暴露 | MCP 直连 + nanobot HTTP 代理双路径,同一引擎两种消费方式 |
| 自动索引 | _ensure_repos_ready 自动检测+克隆+索引,MCP 客户端零预处理 |
最佳实践
1.支持 stdio 和 SSE 双传输模式适配不同部署场景
2.用 FastMCP 装饰器从函数签名自动生成工具 Schema 避免手动维护
3.懒加载引擎初始化确保 MCP 服务器秒级启动
4.日志只写文件不写 stdout 防止污染 stdio 模式的 JSON-RPC 通道
5.通过 inspect.signature 检测 FastMCP 版本实现向后兼容