Git-AI MCP 服务器实现
使用说明(Markdown 要点版)
-
项目简介
- 该仓库实现了一个 MCP 服务器端,用于向本地 AI 客户端提供资源(Code 语义索引数据等)、可注册的 Tools(工具/功能),以及 Prompts(提示模板)的访问与执行能力。服务器通过 MCP 标准协议与客户端通信,支持 stdio 与 HTTP 两种传输模式,便于 Claude Desktop、Trae 等本地 AI 助手接入。
-
主要功能点
- MCP 服务端核心:接收 JSON-RPC 请求,执行资源读取、工具调用、提示获取等操作,返回标准化的 JSON-RPC 响应。
- 工具注册与执行:可通过工具注册表注册并执行各种工具(如代码查询、语义搜索、索引打包等),并对输入进行校验与错误处理。
- 资源与索引支持:整合本地 LanceDB/CozoDB 等组件,提供向量化检索、图数据库查询和 AST 关系查询能力,便于 LLM 客户端获取上下文信息。
- 支持多种传输模式:标准输出(stdio)和 HTTP 服务端模式,方便与不同 Agent/IDE 集成。
- 安全与会话管理:实现会话/会话ID 的管理、健康检查、错误处理和日志记录。
-
安装步骤
- 克隆或获取代码并安装依赖(如 npm/yarn 安装,Node.js 环境建议 14+ 或 16+)。
- 构建产物(如 npm run build 或等效命令,生成 dist/... 目录)。
- 启动 MCP 服务器(示例命令:node dist/bin/git-ai.js ai serve),具体路径需按实际构建产物配置。
- 根据需要选择传输模式:若使用本地 AI Agent(如 Claude Desktop),可使用 stdio 模式;若需要 HTTP 客户端并发,请使用 HTTP 模式。
-
服务器配置(示例配置,不直接粘贴代码,而给出可直接使用的 JSON 结构描述) 服务器名称:git-ai 启动命令:node 启动参数:["<path-to-project>/dist/bin/git-ai.js", "ai", "serve"] 传输模式:stdio 或 http 说明:上述配置使 MCP 客户端通过标准输入输出连接到服务器;若使用 HTTP 模式,需将 transport 设置为 http 并提供端口等参数。
-
基本使用方法
- 客户端准备:使用 MCP 客户端工具(如 Model Context Protocol SDK)连接到服务器。
- 读取工具列表:通过 ListTools 接口获取服务器已注册的工具清单。
- 调用工具:通过 CallTool 接口执行具体工具,传入工具名和参数,获取返回结果。
- 资源/索引查询:通过相应工具查询资源、执行语义/图查询、读取 AST/引用等信息,辅助 LLM 的上下文构建。
- 监控与健康:可通过健康端点或状态查询接口监控 MCP 服务的健康与会话状态。
-
其他注意
- 该实现包含了对多种语言的代码分析适配器、索引、AST 图、DFG/CFG/CpG 等图层的生成与查询能力,且实现了跨进程/多会话的 MCP 服务器能力,可与多种本地 AI 助手协同工作。