项目简介
本项目 'github-mcp' 是一个基于 Model Context Protocol (MCP) 构建的服务器实现,旨在通过标准化的 MCP 协议,向大型语言模型(LLM)客户端提供访问 GitHub API 的能力。它将 GitHub 的各种功能封装成易于 LLM 调用的工具,使得 LLM 能够更方便地与 GitHub 进行交互,例如搜索仓库、创建和管理 Issue 和 Pull Request、管理仓库设置等。
主要功能点
- 仓库管理工具:
- 搜索 GitHub 仓库 (search_repos)
- 创建新的 GitHub 仓库 (create_repo)
- 更新仓库设置 (update_repo_settings)
- 管理仓库协作者 (manage_collaborators) (待实现)
- 管理仓库工作流 (manage_workflows) (待实现)
- Issue & Pull Request 工具:
- 搜索 Issue (search_issues)
- 创建 Issue (create_issue)
- 更新 Issue (update_issue)
- 创建 Pull Request (create_pull_request)
- 管理 Issue 标签 (manage_issue_labels) (待实现)
安装步骤
-
克隆仓库:
git clone https://github.com/NZenitram/github-mcp.git cd github-mcp -
创建并激活虚拟环境:
# macOS/Linux python3 -m venv venv source venv/bin/activate # Windows python -m venv venv .\venv\Scripts\activate -
安装依赖:
pip install -r requirements.txt -
创建 '.env' 文件:
touch .env -
配置 GitHub 凭据: 编辑 '.env' 文件,填入你的 GitHub Personal Access Token 和用户名:
GITHUB_TOKEN=your_personal_access_token_here GITHUB_USERNAME=your_github_username注意: GitHub Personal Access Token 需要具备仓库操作的权限,具体权限要求请参考仓库 README.md 中的 "Environment Setup" 部分。
-
启动 MCP 服务器:
python run.py服务器默认会在本地启动。
服务器配置
MCP 客户端需要以下 JSON 配置信息来连接到 'github-mcp' 服务器。请将以下配置填入 MCP 客户端的服务器配置中:
{ "server name": "github-tools", "command": "python", "args": ["run.py"] }
配置参数说明:
- 'server name': 服务器名称,这里设置为 "github-tools",用于在客户端中标识该服务器。
- 'command': 启动服务器的命令,这里使用 'python' 解释器。
- 'args': 启动命令的参数,这里指定运行 'run.py' 文件。
MCP 客户端启动后,即可通过配置的服务器名称 "github-tools" 连接到此 GitHub 工具 MCP 服务器。
基本使用方法
-
连接服务器: 在 MCP 客户端中配置并连接到 "github-tools" 服务器。
-
发现工具: 客户端连接成功后,可以向服务器查询可用的工具列表。'github-mcp' 服务器将声明它提供的工具,例如 'search_repos', 'create_issue', 'update_repo_settings' 等。
-
调用工具: LLM 可以根据需要调用相应的工具,并根据工具的参数描述 (在 README.md 的 "Tools" 部分) 构造参数。例如,调用 'search_repos' 工具搜索仓库,需要提供 'query' (搜索关键词) 等参数。
-
获取结果: 服务器执行工具后,会将结果以 JSON-RPC 响应的形式返回给客户端,LLM 可以解析这些结果并进行后续处理。
详细的工具参数和使用示例,请参考仓库的 README.md 文件。
信息
分类
开发者工具