每日 MCP Server

GitHub MCP:让 LLM 直接操作仓库、PR、Issue 的官方服务器

2026-08-06
开发仓库
支持客户端:
Claude CodeCursorVS CodeContinueCline
MCPGitHub开发工具DevOps

简介

GitHub MCP 是 ModelContextProtocol 官方维护的开发者集成服务器,通过 GitHub API 让 LLM 客户端能够搜索仓库、读取代码、创建 Issue、提交 PR、管理分支。一条 npx 命令即可让 Claude Code、Cursor、VS Code 等 MCP 客户端成为 GitHub 自动化助理。本文梳理核心能力、Token 申请、各客户端配置与实战注意事项。

安装命令

npx -y @modelcontextprotocol/server-github

简介

GitHub MCP 是 ModelContextProtocol 官方仓库维护的开发者集成服务器。它把 GitHub REST API 包装为 MCP 工具,让任何兼容 MCP 的客户端都能通过统一协议操作 GitHub,无需各自实现 OAuth 流程、无需封装分页、无需处理 API 限流

对开发者而言,这意味着:让 AI 助理直接帮你"查一下这个仓库的 README"、"列出我这个项目的未关闭 Issue"、"基于这段 diff 创建一个 PR"、"给这个 Issue 加 label 并指派负责人"。

核心能力

工具名用途关键参数
create_issue创建 Issueownerrepotitlebodylabelsassignees
get_issue获取 Issue 详情ownerrepoissue_number
list_issues列出仓库 Issueownerrepostate(open/closed)、labels
update_issue更新 Issueownerrepoissue_numberstatelabels
add_issue_comment添加 Issue 评论ownerrepoissue_numberbody
create_pull_request创建 PRownerrepotitlebodyheadbase
get_pull_request获取 PR 详情ownerrepopull_number
list_pull_requests列出仓库 PRownerrepostatesort
create_pull_request_review提交 PR Reviewownerrepopull_numbereventbody
merge_pull_request合并 PRownerrepopull_numbercommit_title
get_file_contents读取文件内容ownerrepopathbranch
create_or_update_file创建/更新文件ownerrepopathcontentmessagebranch
push_files批量推送多文件ownerrepobranchfiles[]
create_branch创建分支ownerrepobranchfrom_branch
fork_repositoryFork 仓库ownerrepo
search_repositories搜索仓库querypagecount
search_code搜索代码qpagecount
search_issues搜索 Issue/PRqpagecount
get_commits获取提交历史ownerrepopagecount
list_branches列出分支ownerrepo

申请 GitHub Personal Access Token

步骤 1:生成 Token

  1. 访问 https://github.com/settings/tokens?type=beta(推荐 Fine-grained Token)
  2. 点击 Generate new token
  3. 填写名称(如 mcp-github)、过期时间(建议 90 天)

步骤 2:配置权限

Fine-grained Token(推荐):按仓库授权

  • Repository access:选 Only select repositories → 选你的项目
  • Permissions:
    • Contents: Read and write(读写文件)
    • Issues: Read and write(Issue 管理)
    • Pull requests: Read and write(PR 管理)
    • Metadata: Read-only(必选)

Classic Token(简单):按 scope 授权

  • repo(完整仓库访问,含私有)
  • read:org(读取组织信息,可选)

步骤 3:复制 Token

生成后立即复制(形如 ghp_xxxxxxxxxxxxgithub_pat_xxxxxxxxxxxx),离开页面后不可再查

各客户端配置示例

Claude Code(CLI)

编辑 ~/.claude/claude_desktop_config.json

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_your_token_here"
      }
    }
  }
}

Cursor

编辑 ~/.cursor/mcp.json

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_your_token_here"
      }
    }
  }
}

VS Code(Continue 插件)

编辑 ~/.continue/config.json

{
  "experimental": {
    "modelContextProtocolServers": [
      {
        "transport": {
          "type": "stdio",
          "command": "npx",
          "args": ["-y", "@modelcontextprotocol/server-github"]
        },
        "env": {
          "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_your_token_here"
        }
      }
    ]
  }
}

Cline 插件

通过 Cline: MCP Settings 命令打开 cline_mcp_settings.json,结构与 Claude Desktop 一致。

实战场景

场景 1:让 Claude Code 做"Issue 分流助理"

列出我仓库 myorg/webapp 中所有未关闭、无 assignee 的 Issue,
按 label 分类,
对 bug 类 Issue 自动指派给 @zhangsan,
对 feature 类 Issue 添加 "needs-triage" label 并评论"已收到,待评估"。

Claude Code 会调用 list_issues(filter assignee + state)→ 按标签分流 → update_issue(assignee)→ add_issue_comment

场景 2:让 Cursor 做"PR 自动审查"

获取我仓库 myorg/webapp 的最新 5 个 open PR,
对每个 PR 读取 diff(get_pull_request),
检查是否有:
1. console.log 遗留
2. 硬编码密钥
3. 缺少错误处理
发现问题则在 PR 下评论,并标记 "needs-review"。

Cursor 会循环调用 list_pull_requestsget_pull_request → 分析 → add_issue_comment

场景 3:让 Claude Code 做"文档批量更新"

读取我仓库 myorg/webapp 的 docs/ 目录下所有 .md 文件,
在每个文件末尾追加一行「最后更新:2026-08-06」,
创建一个新分支 docs/update-timestamp,
提交这些改动,
并创建 PR 标题"docs: 批量更新文档时间戳"。

Claude Code 会调用 get_file_contents(遍历)→ create_branchcreate_or_update_file(循环)→ create_pull_request

场景 4:让 VS Code 做"代码搜索跨仓库"

搜索 GitHub 上所有 TypeScript 仓库中使用了 "createTRPCNext" 的代码,
整理成表格:仓库名 / 文件路径 / 代码片段 / 星标数,
帮我了解 tRPC Next.js 的最佳实践。

Cline + Continue 会调用 search_code(q="createTRPCNext language:TypeScript")→ search_repositories(补充星标)→ 格式化输出。

与 Filesystem MCP 的对比

维度GitHub MCPFilesystem MCP
操作对象远程 Git 仓库本地文件系统
版本管理✅ 原生 Git
协作能力✅ PR/Issue
适合场景开源协作、团队项目本地开发、脚本
读取速度慢(API 调用)
写入门槛高(需 Token + 分支)
推荐搭配团队项目本地实验

建议两个都装:Filesystem MCP 管本地代码与脚本,GitHub MCP 管远程仓库与协作。

注意事项

  1. Token 保密:Personal Access Token 切勿提交到 Git,用 .env 或系统密钥链管理。
  2. 权限最小化:优先用 Fine-grained Token 只授权必要仓库,避免 Classic Token 的全量 repo 权限。
  3. API 限流:GitHub API 认证用户 5000 次/小时,未认证 60 次/小时。MCP 服务器已内置退避,但批量操作仍需注意。
  4. 写入操作需谨慎create_or_update_filemerge_pull_request 是不可逆操作,建议在 Prompt 中加"先确认再执行"。
  5. 分支保护:若仓库启用了分支保护,直接 push 到 main 会被拒,需走 PR 流程。
  6. 大文件读取get_file_contents 对超过 1MB 的文件会截断,建议用 get_commits + diff 替代。
  7. 搜索语法search_codesearch_issues 使用 GitHub 搜索语法(如 language:TypeScript stars:>100),非自然语言。
  8. 私有仓库:Fine-grained Token 需显式选择私有仓库,Classic Token 用 repo scope 自动包含。
  9. Webhook 替代:若需实时响应(如 Issue 创建即处理),建议用 GitHub Webhook + 服务器,MCP 是主动调用模式。

安全建议

  • 只读 Token 优先:日常检索用 Read-only 权限,写入操作用临时 Token
  • Token 分仓:不同项目用不同 Token,避免一个泄露影响所有仓库
  • 操作审计:让 AI 在每次写入前先描述将要做什么,人工确认后执行
  • 分支隔离:AI 创建的 PR 一律走 feature 分支,禁止直接 push main
  • Token 轮换:每 90 天在 GitHub Settings 重新生成 Token

小结

GitHub MCP 是开发者最直接的 AI 编码协作入口:一个 Token、若干权限,就能让任意 MCP 客户端操作仓库、PR、Issue。对于需要"搜索代码、管理 Issue、自动审查 PR、批量更新文档"的开发场景,几乎是必装组件。建议搭配 Filesystem MCP(管理本地代码)和 Notion MCP(管理文档)组成开发者办公三件套。

下一篇我们会讲 Filesystem MCP,看如何让 LLM 读写本地文件系统。

相关推荐

查看更多 →
MCP开发

GitHub MCP Server:让 AI 接管你的 Git 工作流

官方 GitHub MCP Server,让 AI 客户端管理 issue、PR、仓库、分支,实现「对话式开发」。

2026-07-27
#MCP#GitHub
MCP文件

Notion MCP:让 LLM 读写 Notion 数据库、页面与块的官方服务器

Notion MCP 是 ModelContextProtocol 官方维护的协作平台集成服务器,通过 Notion API 让 LLM 客户端能够搜索页面、读取内容、创建文档、更新数据库记录。一条 npx 命令即可让 Claude Code、Cursor、VS Code 等 MCP 客户端成为 Notion 知识库助理。本文梳理核心能力、Internal Integration 申请、各客户端配置与实战注意事项。

2026-08-05
#MCP#Notion
MCP文件

Google Drive MCP:让 LLM 读写 Google Docs/Sheets/Drive 的官方服务器

Google Drive MCP 是 ModelContextProtocol 官方维护的云存储集成服务器,通过 Google Drive API 让 LLM 客户端能够搜索文件、读取内容、创建文档、上传资源。一条 npx 命令即可让 Claude Code、Cursor、VS Code 等 MCP 客户端成为 Google Workspace 助理。本文梳理核心能力、OAuth 凭证申请、各客户端配置与实战注意事项。

2026-08-02
#MCP#Google Drive
MCP网络

Slack MCP:让 LLM 直接读写 Slack 消息、频道与文件的官方服务器

Slack MCP 是 ModelContextProtocol 官方维护的企业协同服务器,通过 Slack Web API 让 LLM 客户端能够发送消息、搜索频道、读取历史记录、上传文件、管理用户列表。无需自建 Slack Bot 轮询逻辑,一条 npx 命令即可让 Claude Code、Cursor、VS Code 等 MCP 客户端变成 Slack 助理。本文梳理核心能力、Bot Token 申请、各客户端配置与实战注意事项。

2026-08-01
#MCP#Slack