项目简介
GIT-Pilot 是一个强大的 GitHub 自动化和管理工具,通过基于 FastMCP 框架构建的 MCP 服务器提供标准化的 GitHub API 访问能力。它允许兼容 MCP 的 LLM 客户端(如 Claude Desktop)直接管理 GitHub 仓库、处理拉取请求、管理议题等,极大地简化了通过 LLM 进行 GitHub 交互的过程。
主要功能点
- 安全认证: 通过加密存储 GitHub 访问令牌,并支持令牌过期和自动清理,保障认证安全。
- 资源管理: 提供关于 GitHub Token 创建、故障排除、常见问题等详细指南作为可访问的资源。
- 工具调用: 提供丰富的工具集合,使 LLM 能够执行多种 GitHub 操作,包括:
- 获取用户信息
- 列出、创建、获取仓库详情
- 管理分支(列出、创建)
- 处理文件(获取内容、创建/更新文件、删除文件)
- 管理议题(列出、创建、更新)
- 管理拉取请求(列出、创建、合并)
- 查看提交记录和比较提交差异
- 管理评论(创建、列出)
- 搜索公共仓库
- 速率限制处理: 内置自动重试机制,优雅地处理 GitHub API 的速率限制问题。
安装步骤
- 克隆仓库: 打开终端或命令提示符,将 GIT-Pilot 仓库克隆到本地:
git clone https://github.com/SiddheshDongare/GIT-Pilot.git cd GIT-Pilot - 安装 uv 包管理器: 如果你还没有安装 uv,可以通过以下命令安装(适用于 Linux/macOS):
Windows 用户请参考 uv 官方文档进行安装。curl -LsSf https://astral.sh/uv/install.sh | sh - 创建并激活 Python 虚拟环境: 使用 uv 创建并激活一个隔离的 Python 环境:
uv venv source .venv/bin/activate # 在 Windows 上请使用:.venv\Scripts\activate - 安装项目依赖: 在激活的虚拟环境中,使用 uv 安装项目所需的库:
uv pip install -e . - 设置 GitHub 访问令牌: 在项目的根目录创建一个名为 '.env' 的文件,并在其中添加你的 GitHub 个人访问令牌。请将 '你的_github_token_在这里' 替换为你在 GitHub 设置中生成的令牌:
关于如何生成 GitHub 个人访问令牌,可以参考 GIT-Pilot 作为 MCP 资源提供的 'guide://github-token-creation' 指南。GITHUB_TOKEN=你的_github_token_在这里
服务器配置(适用于 MCP 客户端,如 Claude Desktop)
GIT-Pilot 作为 MCP 服务器,需要被 MCP 客户端(如 Claude Desktop)发现和启动。这通常通过在客户端的开发者或高级设置中配置服务器的启动命令和参数来实现。以下是配置时所需的信息和参数说明:
请在你的 MCP 客户端的配置中添加或修改 'mcpServers' 部分,参考以下结构:
{ "mcpServers": { "GIT-Pilot": { "command": "uv", // 执行命令,用于启动虚拟环境中的 uv "args": [ "--directory", "仓库的本地路径", // 请将此处的 "仓库的本地路径" 替换为你克隆 GIT-Pilot 仓库在你系统中的完整路径。例如:C:\Users\YourUser\Documents\GIT-Pilot 或 /home/youruser/GIT-Pilot "run", "main.py" // uv run 命令将执行的主服务文件 ] } } }
基本使用方法
- 启动 GIT-Pilot 服务器: 在你克隆的 GIT-Pilot 项目根目录,并且在激活了虚拟环境的终端中,运行:
服务器将在 Stdio 模式下启动,等待 MCP 客户端连接。uv run main.py - 配置和重启 MCP 客户端: 下载并安装兼容 MCP 的客户端(如 Claude Desktop),然后按照上面的“服务器配置”步骤,在其设置中配置 GIT-Pilot 服务器的启动命令和路径。配置完成后,重启你的 MCP 客户端。
- 确认连接成功: 重启客户端后,查找表示 MCP 服务器已成功连接的图标(例如在 Claude Desktop 中是锤子图标)。
- 通过 LLM 调用工具: 连接成功后,你就可以通过与客户端中的 LLM 进行自然语言交互,让它调用 GIT-Pilot 提供的工具来管理 GitHub。例如,你可以尝试让 LLM 调用 'create_repository' 工具来创建一个新的 GitHub 仓库,或调用 'list_issues' 工具来查看某个仓库的议题列表。
信息
分类
开发者工具