Skip to content

GitHub MCP 服务器默认启用 repos、issues、pull_requests 三个 toolset。可以按需添加 actions、code_security 等,或用 "all" 启用全部。远程服务器通过 URL 路径参数或 HTTP headers 配置,本地服务器通过命令行标志或环境变量配置。

GitHub MCP 服务器 Toolsets 配置:按需启用 GitHub 功能工具集

什么是 Toolset

GitHub MCP 服务器把工具按功能分组为 toolset,每个 toolset 包含一类 GitHub 功能的相关工具。默认只启用基础 toolset,避免暴露不必要的权限。

默认启用的 Toolset

Toolset包含工具
repos列出/读取仓库文件、搜索代码
issues创建/查看/评论 Issues
pull_requests创建/查看/评论 PR、代码审查

可选 Toolset

Toolset说明
actions查看和触发 GitHub Actions 工作流
code_security代码安全扫描和 Dependabot 告警
secret_protectionSecret 扫描和 Push Protection 管理
copilotCopilot Cloud Agent 功能(仅远程服务器)
github_support_docs_search搜索 GitHub 官方文档(仅远程服务器)

特殊关键字

关键字说明
default所有默认 toolset(repos + issues + pull_requests)
all所有可用 toolset

远程服务器配置

方式一:URL 路径参数(单个 toolset)

json
{
  "servers": {
    "github": {
      "url": "https://api.githubcopilot.com/mcp/x/TOOLSET_NAME"
    }
  }
}

例如只启用 actions

json
{
  "servers": {
    "github-actions": {
      "url": "https://api.githubcopilot.com/mcp/x/actions"
    }
  }
}

方式二:HTTP Headers(多个 toolset)

json
{
  "servers": {
    "github": {
      "url": "https://api.githubcopilot.com/mcp/",
      "headers": {
        "X-MCP-Toolsets": "default,actions,code_security"
      }
    }
  }
}

本地服务器配置

命令行标志

bash
# 启用 actions toolset(额外的,在默认基础上添加)
./github-mcp-server --toolsets actions stdio

# 启用所有 toolsets
./github-mcp-server --toolsets all stdio

环境变量(优先级高于命令行标志)

bash
export GITHUB_MCP_TOOLSETS="default,actions,code_security"
./github-mcp-server stdio

Docker 配置

json
{
  "servers": {
    "github": {
      "command": "docker",
      "args": ["run", "-i", "--rm",
        "-e", "GITHUB_PERSONAL_ACCESS_TOKEN",
        "-e", "GITHUB_MCP_TOOLSETS",
        "ghcr.io/github/github-mcp-server"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "${input:github_token}",
        "GITHUB_MCP_TOOLSETS": "default,actions"
      }
    }
  }
}

按需选择 Toolset 的建议

最小权限原则:只启用你实际需要的工具。如果只是日常代码开发,默认的 repos + issues + pull_requests 足够了。

Actions 触发要谨慎:启用 actions toolset 后,Copilot 可以触发 GitHub Actions 工作流。确保 Copilot 使用的账号权限已经限制在安全范围内。

企业用户:由组织 MCP 策略决定哪些 toolset 可用,个人配置不能超出策略允许的范围。

常见问题

Q: 启用所有 toolset 有什么风险?

A: all 会包含所有功能,包括可能执行写操作的工具。建议只在开发调试环境使用 all,生产或共享环境中明确列出需要的 toolset。

Q: 如何知道某个工具属于哪个 toolset?

A: 参考 GitHub MCP Server 的官方文档或仓库中的工具定义,每个工具都标注了所属 toolset。

Q: 可以同时配置多个 MCP 服务器,每个启用不同的 toolset 吗?

A: 可以。在配置文件中用不同的 key 定义多个服务器实例,每个指向不同的 toolset URL 或使用不同的 toolset 标志。