GitHub MCP 使用指南

配置并开始使用 GitHub MCP 服务器。GitHub MCP 服务器是一个模型上下文协议服务器,使 AI 助手和工具能够与 GitHub API 交互,从而实现 GitHub 工作流的自动化、分析仓库数据以及构建 AI 驱动的 GitHub 集成。

有关服务器架构和组件的信息,请参阅架构。有关详细的配置选项,请参阅配置

先决条件

在开始使用 GitHub MCP 服务器之前,您需要:

  1. 一个 GitHub 账户
  2. GitHub 个人访问令牌(PAT)
  3. Docker(如果使用容器部署)
css 复制代码
Prerequisites

GitHub Account

Personal Access Token

Docker (for container deployment)

Ready to Install

创建 GitHub 个人访问令牌:

  1. 前往你的 GitHub 账户设置
  2. 导航到 开发者设置个人访问令牌细粒度令牌
  3. 点击"生成新令牌"
  4. 根据您将要使用的 GitHub API 选择必要的权限
  5. 安全地保存令牌 - 您需要它来运行服务器

源代码: README.md18-20

安装方法

可以通过多种方式安装并运行 GitHub MCP 服务器:

sql 复制代码
Choose Installation Method

Docker Container

VS Code Integration

Build from Source

docker run command
with token

VS Code MCP Configuration

go build command

Running Server

Executable Binary

Docker 容器安装

运行 GitHub MCP 服务器的最简单方法是使用 Docker:

bash 复制代码
docker run -i --rm \
  -e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
  ghcr.io/github/github-mcp-server

请将 <your-token> 替换为您的 GitHub 个人访问令牌。

来源: README.md148-153

VS Code 集成

对于 VS Code 用户,可以将 GitHub MCP Server 添加到 VS Code 设置中:

  1. 使用 Ctrl + Shift + P 打开 VS Code 设置(JSON)并输入 Preferences: Open User Settings (JSON)
  2. 添加以下配置:
bash 复制代码
{
  "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}"
        }
      }
    }
  }
}

Alternatively, 你也可以在你的工作区创建一个 .vscode/mcp.json 文件,配置相同的内容(不包括外部的 mcp 键)。

源代码: README.md24-65

从源代码构建

如果您希望从源代码构建:

  1. 克隆仓库: git clone https://github.com/github/github-mcp-server.git
  2. 导航到仓库目录:cd github-mcp-server
  3. 构建二进制文件: go build -o github-mcp-server ./cmd/github-mcp-server
  4. 运行服务器:
ini 复制代码
GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> ./github-mcp-server stdio

源代码:README.md90-105cmd/github-mcp-server/main.go35-39

服务器配置

GitHub MCP 服务器通过命令行标志、环境变量和配置文件支持多种配置选项。

arduino 复制代码
Configuration Sources

Command-line Arguments

Environment Variables

Configuration File

Viper
Configuration Manager

GitHub MCP Server

Toolsets Configuration

GitHub Host Configuration

Logging Configuration

Other Options

工具集配置

GitHub MCP 服务器将功能组织成可以单独启用或禁用的工具集。默认情况下,所有工具集都是启用的,但您可以指定要使用的哪些工具集:

ini 复制代码
# Using command-line flag
github-mcp-server --toolsets repos,issues,pull_requests

# Using environment variable 
GITHUB_TOOLSETS="repos,issues,pull_requests" github-mcp-server

使用 Docker 时:

ini 复制代码
docker run -i --rm \
  -e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
  -e GITHUB_TOOLSETS="repos,issues,pull_requests" \
  ghcr.io/github/github-mcp-server

可用的工具集包括:

工具集 描述
仓库 与仓库相关的工具(文件操作、分支、提交)
issues 与问题相关的工具(创建、读取、更新、评论)
用户 与用户相关的工具
拉取请求 拉取请求操作(创建、合并、审查)
代码安全 代码扫描警报和安全功能
实验 实验性功能(尚未稳定)

指定 all 以启用所有可用工具集。

源代码: README.md111-170cmd/github-mcp-server/main.go71-86

动态工具集发现

与启动时启用所有工具集不同,您可以启用动态工具集发现,这允许 MCP 主机根据需要列出和启用工具集:

csharp 复制代码
# Using command-line flag
github-mcp-server --dynamic-toolsets

# Using environment variable
GITHUB_DYNAMIC_TOOLSETS=1 github-mcp-server

使用 Docker:

ini 复制代码
docker run -i --rm \
  -e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
  -e GITHUB_DYNAMIC_TOOLSETS=1 \
  ghcr.io/github/github-mcp-server

来源: README.md170-191cmd/github-mcp-server/main.go163-191

GitHub Enterprise Server

要与 GitHub Enterprise Server 一起使用,请指定主机名:

ini 复制代码
# Using command-line flag
github-mcp-server --gh-host enterprise.github.com

# Using environment variable
GITHUB_HOST=enterprise.github.com github-mcp-server

来源: README.md193-196cmd/github-mcp-server/main.go136-144

额外的配置选项

其他有用的配置选项包括:

  • --只读 : 限制服务器只进行读取操作
  • --log-file: 服务器日志的路径
  • --enable-command-logging: 记录所有命令请求和响应
  • --export-translations: 将翻译保存到 JSON 文件

Sources: cmd/github-mcp-server/main.go73-77

基本用法

一旦 GitHub MCP 服务器运行起来,就可以使用各种 MCP 兼容的客户端,包括 VS Code 和 Claude Desktop。

arduino 复制代码
"GitHub API""GitHub MCP Server""AI Client (LLM)""GitHub API""GitHub MCP Server""AI Client (LLM)"Initialize connectionReturn available toolsRequest tool execution(e.g., list_issues)Forward API requestReturn API responseReturn formatted resultProcess result

使用 VS Code Copilot

配置服务器后在 VS Code 中:

  1. 使用 Copilot Chat 启动 VS Code
  2. 切换到代理模式(位于 Copilot Chat 文本输入框旁边)
  3. 服务器将自动启动
  4. 让 Copilot 执行 GitHub 操作

例如: "查找仓库 github/github-mcp-server 中的所有未解决的问题"

来源: README.md24-27

使用 Claude Desktop

要与 Claude Desktop 配合使用,请添加此配置:

json 复制代码
{
  "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>"
      }
    }
  }
}

源代码: README.md67-87

使用 mcpcurl 进行测试

mcpcurl 命令行工具允许您直接测试和与 GitHub MCP 服务器交互:

vbscript 复制代码
mcpcurl Flow

mcpcurl command

Connect to MCP server

Retrieve tool schema

Generate CLI commands

Execute command

Display response

示例用法:

css 复制代码
# List available tools
mcpcurl --stdio-server-cmd "docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> ghcr.io/github/github-mcp-server" tools --help

# Get information about a specific issue
mcpcurl --stdio-server-cmd "docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> ghcr.io/github/github-mcp-server" tools get_issue --owner github --repo github-mcp-server --issue_number 1

来源: cmd/mcpcurl/README.md18-22cmd/mcpcurl/README.md73-112

下一步

安装并配置完 GitHub MCP 服务器后,您可以:

  1. 探索适用于特定用例的可用工具集和工具
  2. 为国际化或特定需求自定义工具描述
  3. 使用服务器构建自己的 AI 驱动的 GitHub 工作流

如需了解可用工具和资源的更多信息,请参阅:

相关推荐
MobotStone2 小时前
MCP还是AI智能体?如何为你的AI应用选择最佳"大脑"架构
mcp
shelgi4 小时前
Cursor结合MCP实现自动编写项目文档
人工智能·mcp
小白跃升坊5 小时前
干货分享|智能问数方案及步骤详解
ai·大语言模型·it运维·mcp·max kb
yaocheng的ai分身6 小时前
MCP的Resources 和 Prompts
mcp
yaocheng的ai分身6 小时前
Building MCP Servers: Part 3 — Adding Prompts
mcp
一只韩非子7 小时前
什么是MCP?为什么引入MCP?(通俗易懂版)
人工智能·aigc·mcp
MCPFlow9 小时前
Cursor+高德MCP制定五一出游攻略
mcp
叫我阿杰好了9 小时前
Trae中 使用MCP 案例
mcp·trae
Yan-英杰9 小时前
百度搜索AI开放计划:让应用连接精准流量的秘诀
ai·mcp·百度搜索开放平台·百度ai开放计划·mcpserver·create2025
码云之上9 小时前
聊聊MCP Client及其实践
前端·架构·mcp