项目简介
"Git 仓库管理 MCP 服务器" 是一个基于 Model Context Protocol (MCP) 构建的应用后端,旨在为大型语言模型 (LLM) 客户端提供标准化的Git仓库管理能力。它允许LLM通过调用预定义的工具,执行Git克隆、拉取、以及其他自定义Git命令,实现对代码仓库的自动化操作。
主要功能点
- 远程Git操作: 支持通过MCP客户端远程执行Git克隆(Clone)、拉取(Pull)等操作。
- 并行处理: 能够并行处理多个Git仓库的克隆或拉取请求,提高效率。
- 自定义Git命令: 提供一个通用工具,允许LLM客户端执行任何有效的Git命令。
- 默认分支管理: 可配置在拉取或克隆后自动切换到默认分支。
- 灵活配置: 支持通过环境变量或MCP客户端配置,指定仓库目录、线程数、项目列表文件等。
- LLM集成: 作为MCP服务器,专为Agentic AI设计,方便LLM作为智能代理直接调用其功能。
安装步骤
- 安装Python包:
确保您的系统安装了Python,然后通过pip安装项目:
python -m pip install repository-manager - 通过Docker部署(推荐作为MCP服务):
拉取最新Docker镜像:
docker pull knucklessg1/repository-manager:latest
服务器配置
MCP客户端需要配置MCP服务器的启动命令及其参数才能与之连接。以下是一个标准的JSON格式配置示例,您需要将其整合到MCP客户端的配置中(例如,'mcp.json'文件)。此配置描述了如何启动并连接到Git仓库管理MCP服务器:
{ "mcpServers": { "repository_manager": { "command": "uv", // 或 'python',取决于您的环境和uv安装情况。'uv'是Python包管理器。 "args": [ "run", "--with", "repository-manager", // 确保此Python包已安装并可用 "repository-manager-mcp", // 启动MCP服务器的Python模块 "--transport", "http", // 指定MCP服务器的通信协议,可选 "stdio" 或 "http" "--host", "0.0.0.0", // 如果使用HTTP传输,这是服务器监听的IP地址 "--port", "8001" // 如果使用HTTP传输,这是服务器监听的端口 ], "env": { "REPOSITORY_MANAGER_DIRECTORY": "/root/Development/", // 可选:Git仓库的默认根目录,所有Git操作将在此目录或其子目录中执行。 "REPOSITORY_MANAGER_THREADS": "12", // 可选:并行Git操作(如克隆、拉取)时使用的线程数,默认为6。 "REPOSITORY_MANAGER_DEFAULT_BRANCH": "True", // 可选:设置为"True"时,克隆或拉取后会自动切换到仓库的默认分支。 "REPOSITORY_MANAGER_PROJECTS_FILE": "/root/Development/repositories.txt" // 可选:一个文本文件的路径,其中包含一行一个Git仓库URL,用于批量操作。 }, "timeout": 300000 // MCP服务器启动或工具执行的超时时间,单位毫秒。 } } }
基本使用方法
一旦MCP服务器启动并被MCP客户端识别,LLM就可以通过调用服务器提供的工具来执行Git操作。例如,LLM客户端可能会以某种方式生成以下工具调用请求(伪代码表示),MCP服务器将接收这些请求,执行相应的Git操作,并将结构化的结果返回给LLM客户端:
// 示例1: LLM请求克隆一个文件列表中的所有仓库 call_tool("clone_projects", { "projects_file": "/home/genius/Development/repositories-list/repositories.txt", "repository_directory": "/home/genius/Development" }) // 示例2: LLM请求拉取指定目录下的所有仓库更新 call_tool("pull_projects", { "repository_directory": "/home/genius/Development" }) // 示例3: LLM请求执行一个自定义Git命令 call_tool("git_action", { "command": "git status", "repository_directory": "/home/genius/Development/my_project" })
信息
分类
开发者工具