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 工作流

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

相关推荐
古法老登瞎折腾7 小时前
大数据智能运维实战(十一):运维 MCP 的工程化——权限、限流、审计与错误处理
java·大数据·运维·spring ai·mcp
用户88130348240719 小时前
给 MCP Server 加调用链日志和大输出落盘:一个装饰器搞定,附 3 个实测踩坑(Python SDK v2)
mcp
TickDB20 小时前
美股历史数据下载:用 Codex 取数,Python 导出 CSV
python·websocket·mcp·行情数据 api
光依旧1 天前
工具权限与评分实战:scope拦截+健康度指标(MCP实战手记·篇12 延伸)
零信任·可观测性·权限控制·scope·sre·mcp
南归北隐2 天前
Spring AI Alibaba Graph框架实现MCP数据库查询实战
java·后端·spring ai·mcp·spring ai mcp
古法老登瞎折腾2 天前
大数据智能运维实战(九):让 AI 查日志——找到异常,也保留上下文
java·大数据·运维·人工智能·spring ai·mcp
李小轰_Rex2 天前
用一个小项目,学会开发 MCP
aigc·mcp
古法老登瞎折腾2 天前
大数据智能运维实战(八):从调度任务追到计算引擎——补齐排查链路
java·大数据·运维·spring ai·mcp
用户029537195053 天前
给 AI 编程助手造一个本地凭据库:MCP 工具设计、密钥注入和输出打码的工程细节
mcp
jerrywus3 天前
chrome-devtools-mcp 总弹授权、抢标签页?我是这样一步步配好的
前端·agent·mcp