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 模式适合在上下文受限场景下使用,仍然保留对所有工具的访问能力。

服务器信息