问题域/PD-135

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 版本实现向后兼容