使用说明
项目简介
GitHub MCP Server 是一个实现了 Model Context Protocol (MCP) 协议的服务器,它充当 LLM 客户端和 GitHub API 之间的桥梁。该服务器提供了一系列工具和资源,使 LLM 能够安全、可扩展地访问和操作 GitHub 的数据和功能,例如自动化 issue 和 pull request 管理、代码搜索、仓库内容访问等。
主要功能点
- 资源 (Resources) 管理: 提供对 GitHub 仓库内容的标准化访问,支持通过资源 URI 模板获取仓库文件或目录的内容。
- 工具 (Tools) 注册与执行: 注册了丰富的 GitHub API 工具,例如创建 issue、添加评论、合并 pull request、搜索仓库等,允许 LLM 客户端调用这些工具执行 GitHub 操作。
- JSON-RPC 协议通信: 使用标准的 JSON-RPC 2.0 协议与 MCP 客户端进行通信,接收请求并返回响应。
- Stdio 传输协议: 支持 Stdio 作为传输协议,方便集成到各种 LLM 应用和开发环境中。
- 可扩展性与安全性: 提供安全、可扩展的上下文服务框架,支持 GitHub Enterprise Server,并允许通过环境变量或配置文件自定义工具描述。
安装步骤
- 准备 GitHub Personal Access Token (PAT): 访问 GitHub Personal Access Tokens 创建 PAT。根据你的 AI 工具的需求,授予 PAT 相应的 GitHub API 权限。
- 安装 Docker (可选): 推荐使用 Docker 运行 GitHub MCP Server。如果未安装 Docker,你需要安装 Go 并从源码构建。
- 使用 VS Code 一键安装 (推荐): 点击仓库 README.md 顶部的 "Install with Docker in VS Code" 或 "Install with Docker in VS Code Insiders" 按钮,按照提示操作即可完成安装。
- 手动配置 VS Code (可选): 在 VS Code 的 User Settings (JSON) 文件 ('settings.json') 中添加以下 JSON 配置块,或者在工作区目录的 '.vscode/mcp.json' 文件中添加(无需 'mcp' 键)。
服务器配置
以下是在 MCP 客户端 (例如 VS Code 或 Claude) 中配置 GitHub MCP Server 的 JSON 格式配置信息。请根据你的实际使用场景选择合适的配置方式。
VS Code 配置示例 ('settings.json' 或 '.vscode/mcp.json'):
{ "mcp": { "inputs": [ { "type": "promptString", "id": "github_token", "description": "GitHub Personal Access Token", "password": true } ], "servers": { "github": { "command": "docker", "args": [ "run", "-i", "--rm", "-e", "GITHUB_PERSONAL_ACCESS_TOKEN", "ghcr.io/github/github-mcp-server" ], "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "${input:github_token}" } } } } }
Claude Desktop 配置示例:
{ "mcpServers": { "github": { "command": "docker", "args": [ "run", "-i", "--rm", "-e", "GITHUB_PERSONAL_ACCESS_TOKEN", "ghcr.io/github/github-mcp-server" ], "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>" // 请替换为你的 GitHub PAT } } } }
配置参数说明:
- 'server name': 服务器名称,例如 "github"。
- 'command': 启动 MCP 服务器的命令,例如 "docker"。
- 'args': 启动命令的参数列表。
- '"run"': Docker 运行命令。
- '"-i"': 保持 STDIN 打开。
- '"--rm"': 容器退出后自动删除。
- '"-e"': 设置环境变量。
- '"GITHUB_PERSONAL_ACCESS_TOKEN"': 环境变量名,用于传递 GitHub PAT。
- '"ghcr.io/github/github-mcp-server"': Docker 镜像名称。
- 'env': 环境变量配置。
- '"GITHUB_PERSONAL_ACCESS_TOKEN"': 环境变量值,'${input:github_token}' 表示引用用户输入的 'github_token' 变量 (VS Code 配置)。在 Claude Desktop 配置中,请直接替换 '<YOUR_TOKEN>' 为你的 GitHub PAT。
基本使用方法
配置完成后,在支持 MCP 协议的 LLM 客户端中 (例如 VS Code Agent Mode, Claude Desktop),即可通过自然语言指令调用 GitHub MCP Server 提供的工具和资源。
例如,在 VS Code Agent Mode 中:
-
打开 VS Code Command Palette ('Ctrl+Shift+P'),输入 "Agent: Start Agent Chat View" 并运行。
-
在 Agent Chat View 中,你可以直接提问,例如:
- '"List all open issues in the repository github/github-mcp-server"'
- '"Create a new issue in owner/repo with title 'Bug report' and body 'Detailed bug description'"'
- '"Get content of file README.md in repo owner/repo"'
LLM 客户端会自动识别你的意图,并调用 GitHub MCP Server 提供的相应工具或资源来完成操作。
源码构建和运行 (不使用 Docker):
-
确保已安装 Go 语言环境。
-
克隆仓库到本地:'git clone https://github.com/github/github-mcp-server.git'
-
进入 'cmd/github-mcp-server' 目录:'cd github-mcp-server/cmd/github-mcp-server'
-
构建服务器:'go build'
-
运行服务器:'GITHUB_PERSONAL_ACCESS_TOKEN=<YOUR_TOKEN> ./github-mcp-server stdio' (请替换 '<YOUR_TOKEN>' 为你的 GitHub PAT)
然后在 MCP 客户端中配置服务器启动命令为:'github-mcp-server stdio' (或其他根据实际构建路径的命令)。
信息
分类
开发者工具