使用说明

项目简介

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 交互模式(需要进一步代码分析或仓库文档确认,当前信息不明确提及,因此不写入描述)。

安装步骤

  1. 确保已安装 Docker
  2. 创建 GitHub Personal Access Token,并赋予 AI 工具所需的仓库权限。
  3. 可以使用 README.md 中提供的 VS Code 一键安装按钮快速安装。
  4. 或者,手动将 README.md 中提供的 JSON 配置添加到 VS Code 的 User Settings (JSON) 文件或项目工作区的 '.vscode/mcp.json' 文件中。
  5. 也可以使用 README.md 中提供的 JSON 配置添加到 Claude Desktop 的配置文件中。
  6. 如果没有 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 镜像。
  • '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。

基本使用方法

  1. 启动 MCP 客户端 (如 VS Code Agent Mode, Claude Desktop)。
  2. 在 MCP 客户端中配置 GitHub MCP Server,填入上述服务器配置信息,并提供有效的 GitHub Personal Access Token。
  3. 在 LLM 对话或 Agent 任务中,可以使用 MCP 协议定义的资源 URI (例如 'repo://owner/repo/contents/path/to/file') 访问 GitHub 仓库资源。
  4. 可以调用预定义的工具 (例如 'github.get_issue', 'github.create_pull_request') 来执行 GitHub API 操作。 工具的具体使用方法和参数,请参考仓库 README.md 中的 "Tools" 部分。

信息

分类

开发者工具