使用说明
项目简介
GitHub MCP Server 是一个基于 Model Context Protocol (MCP) 的服务器,它允许 LLM 客户端通过标准化的 MCP 协议与 GitHub API 进行交互。该服务器提供了一系列工具和资源,使开发者能够构建 AI 驱动的 GitHub 自动化和集成应用。
主要功能点
- 资源管理: 托管和管理 GitHub 仓库内容等资源,并通过标准化的资源 URI 访问。
- 工具注册与执行: 提供丰富的 GitHub API 工具,例如 Issues 管理、Pull Requests 管理、代码搜索、仓库操作等,允许 LLM 客户端调用这些工具来执行 GitHub 相关任务。
- Prompt 模板: 仓库信息中没有明确提及 Prompt 模板,但作为 MCP 服务器,它可能支持或未来可以扩展支持 Prompt 模板功能,以定制 LLM 交互模式(需要进一步代码分析或仓库文档确认,当前信息不明确提及,因此不写入描述)。
安装步骤
- 确保已安装 Docker。
- 创建 GitHub Personal Access Token,并赋予 AI 工具所需的仓库权限。
- 可以使用 README.md 中提供的 VS Code 一键安装按钮快速安装。
- 或者,手动将 README.md 中提供的 JSON 配置添加到 VS Code 的 User Settings (JSON) 文件或项目工作区的 '.vscode/mcp.json' 文件中。
- 也可以使用 README.md 中提供的 JSON 配置添加到 Claude Desktop 的配置文件中。
- 如果没有 Docker,可以从源代码构建,参考 README.md 中的 "Build from source" 部分。
服务器配置
要将 GitHub MCP Server 配置为 MCP 客户端的后端,您需要在客户端配置中指定服务器的启动命令和参数。以下是一个 JSON 格式的配置示例,适用于 VS Code 和 Claude Desktop 等 MCP 客户端:
{ "server name": "github", // 服务器名称,可以自定义 "command": "docker", // 启动服务器的命令,这里使用 Docker "args": [ // 传递给 command 的参数列表 "run", "-i", // 保持 STDIN 打开 "--rm", // 容器退出后自动删除 "-e", // 设置环境变量 "GITHUB_PERSONAL_ACCESS_TOKEN", // 环境变量名称 "ghcr.io/github/github-mcp-server" // Docker 镜像名称 ], "env": { // 环境变量配置 "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>" // 将 <YOUR_TOKEN> 替换为您的 GitHub Personal Access Token } }
参数注释:
- 'server name': 服务器的名称,客户端用以标识和引用该服务器配置。
- 'command': 运行服务器程序的可执行命令。示例中使用 'docker',表示通过 Docker 运行服务器。
- 'args': 传递给 'command' 的命令行参数数组。
- 'run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN ghcr.io/github/github-mcp-server': Docker 运行命令及其参数,用于启动 GitHub MCP Server 容器。
- '-i': 保持标准输入 (STDIN) 打开,允许客户端与服务器进行交互。
- '--rm': 容器退出后自动删除,保持环境清洁。
- '-e GITHUB_PERSONAL_ACCESS_TOKEN': 设置名为 'GITHUB_PERSONAL_ACCESS_TOKEN' 的环境变量,用于传递 GitHub Personal Access Token 给容器内的服务器程序。
- 'ghcr.io/github/github-mcp-server': 要运行的 Docker 镜像的名称,指向 GitHub Container Registry 中的 GitHub MCP Server 镜像。
- 'run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN ghcr.io/github/github-mcp-server': Docker 运行命令及其参数,用于启动 GitHub MCP Server 容器。
- 'env': 环境变量配置对象。
- 'GITHUB_PERSONAL_ACCESS_TOKEN': 设置 'GITHUB_PERSONAL_ACCESS_TOKEN' 环境变量的值,'${input:github_token}' (VS Code 配置) 或 '<YOUR_TOKEN>' (Claude Desktop 配置) 表示从用户输入或预设变量中获取 GitHub Personal Access Token。请务必将 '<YOUR_TOKEN>' 替换为您自己的 GitHub Personal Access Token。
基本使用方法
- 启动 MCP 客户端 (如 VS Code Agent Mode, Claude Desktop)。
- 在 MCP 客户端中配置 GitHub MCP Server,填入上述服务器配置信息,并提供有效的 GitHub Personal Access Token。
- 在 LLM 对话或 Agent 任务中,可以使用 MCP 协议定义的资源 URI (例如 'repo://owner/repo/contents/path/to/file') 访问 GitHub 仓库资源。
- 可以调用预定义的工具 (例如 'github.get_issue', 'github.create_pull_request') 来执行 GitHub API 操作。 工具的具体使用方法和参数,请参考仓库 README.md 中的 "Tools" 部分。
信息
分类
开发者工具