mcp-server-git
使用说明
-
项目简介
- 这是一个基于 MCP(Model Context Protocol)的后端服务器实现,专注于通过标准化的上下文服务为大型语言模型(LLM)提供对代码仓库的资源访问、工具执行与提示渲染等能力,帮助LLM在处理代码和版本控制相关任务时获得更丰富的上下文信息。
-
主要功能点
- 资源管理:托管和访问与Git仓库相关的资源数据(如状态、提交日志、分支信息等)。
- 工具注册与执行:注册并执行一系列Git相关工具,例如查看状态、差异、提交、分支操作等,以及Azure DevOps、GitHub 等外部服务工具。
- 提示模板(Prompts):定义和渲染与Git、CI/CD等工作流相关的提示模板,支持不同交互模式。
- Lean MCP 接口(Context-Optimized):提供 discover/get_spec/execute 的3元工具模式,以显著降低上下文消耗,同时保留对51个工具的访问。
- 会话与能力声明:管理会话、能力声明、以及工具/资源的访问权限。
- 多传输协议支持:支持标准输入输出、服务器端事件、WebSocket 等传输方式以接入不同客户端。
- 环境变量与配置管理:通过 .env、仓库和项目级配置实现灵活配置。
-
安装步骤
- 通过 uv 直接运行(uv 无需额外安装,使用 uvx 直接执行)或通过 pip 安装进行开发调试。
- 参考仓库自带的 README 安装与运行方式,按需绑定具体的代码仓库目录以实现跨仓库工作隔离。
-
服务器配置(MCP 客户端连接 MCP 服务器所需信息)
-
完整服务器(绑定具体仓库并作为默认 MCP 服务器运行): { "serverName": "git", "command": "python", "args": ["-m", "mcp_server_git", "--repository", "/path/to/git/repo"] }
-
Lean MCP 接口(降低上下文开销,同时保留对工具的完整访问能力)的配置示例(请在客户端使用 lean 模式): { "serverName": "git-lean", "command": "pixi", "args": ["run", "-m", "mcp-git-lean", "--repository", "/path/to/git/repo"] }
-
注释说明
- serverName: MCP 客户端在配置中用来标识服务器实例的名称,便于区分多服务器场景。
- command: 启动服务器所使用的执行命令。支持直接执行 Python 模块、uvx/uv、docker 等方式,具体取决于部署环境。
- args: 启动参数,通常包含运行的 Python 模块名、绑定的仓库路径等信息。对于 Lean 接口,需要指明 lean 模块的入口与仓库绑定路径。
-
-
基本使用方法
- 启动服务器时绑定一个 Git 仓库作为上下文源(绑定后可以在工具调用中使用 "." 引用绑定的仓库路径)。
- 使用 MCP 客户端可以读取资源、调用工具、获取并渲染 Prompts,通过 JSON-RPC 进行请求与响应。
- Lean 模式适合在上下文受限场景下使用,仍然保留对所有工具的访问能力。