Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to main content

使用 GitHub MCP 服务器

了解如何使用 GitHub Model Context Protocol (MCP) 服务器扩展 Copilot Chat。

注意

GitHub MCP 服务器目前为公共预览版,可能会更改。

关于 GitHub MCP 服务器

GitHub MCP 服务器是由 GitHub 提供并维护的模型上下文协议 (MCP) 服务器。 MCP 使你可以将 AI 功能集成到其他工具和服务中,通过提供基于上下文的 AI 辅助,提升你的开发体验。

有关 MCP 的详细信息,请参阅官方 MCP 文档

你可以通过 Visual Studio Code 或其他支持远程 MCP 的编辑器远程访问 GitHub MCP 服务器;也可以在任何与 MCP 兼容的编辑器中本地运行该服务器,灵活选择托管解决方案的便捷性或自托管设置的可自定义性。

如果你希望使用远程 GitHub MCP 服务器,只需几个步骤即可完成,无需任何本地设置。 对于希望快速利用 GitHub AI 功能,又不想承担本地服务器运维负担的用户来说,这种方式非常实用。

在本地运行 GitHub MCP 服务器则需要更多设置,但可让你对 AI 交互实现更高程度的自定义和控制。

你可以使用 GitHub MCP 服务器来实现以下目的:

  • 自动化并简化与代码相关的任务。
  • 连接第三方工具(如 Cursor、Windsurf 或未来的集成),以利用 GitHub 的上下文和 AI 功能。
  • 实现无需本地设置、可从任何设备访问的基于云的工作流。

可用性

目前,Visual Studio Code、JetBrains IDE、Xcode 等客户端广泛支持本地 MCP 服务器。

而对远程 MCP 服务器的支持也在不断扩大,现已包括 Visual Studio Code(支持 OAuth 或 PAT)、Visual Studio(仅支持 PAT)、Windsurf(仅支持 PAT)和 Cursor(仅支持 PAT)等编辑器。

如需了解你偏好的编辑器是否支持远程 MCP 服务器,请查阅该编辑器的相关文档。

先决条件

  • GitHub 帐户。
  • Visual Studio Code 或其他与 MCP 兼容的编辑器。

在 Visual Studio Code 中设置 GitHub MCP 服务器

以下说明将指导你在 Visual Studio Code 中设置 GitHub MCP 服务器。 其他与 MCP 兼容的编辑器可能具有类似的步骤,但具体过程可能会有所不同。

你可以根据需求和偏好,选择远程或从本地设置 GitHub MCP 服务器。 你也可以配置 GitHub MCP 服务器,以实现以下任一模式:

  • 特定仓库。 这使你能够将 MCP 服务器共享给任何在 Visual Studio Code 中打开该项目的人。 为此,请在仓库的根目录中,创建 .vscode/mcp.json 文件。
  • Visual Studio Code 的个人实例。 你将是唯一有权访问已配置的 MCP 服务器的人员。 为此,请将配置添加到 Visual Studio Code 中的 settings.json 文件。 以这种方式配置的 MCP 服务器将在所有工作区中可用。

远程 GitHub MCP 服务器默认使用一键式的 OAuth 身份验证,但你也可以手动将其配置为使用 personal access token (PAT) 进行身份验证。 如果你使用 OAuth,MCP 服务器将拥有与你个人帐户相同的访问权限。 如果你使用 PAT,MCP 服务器将根据该 PAT 所授予的权限范围进行访问。

注意

如果你是具有 PAT 限制的 Enterprise Managed User 用户,则无法使用 PAT 方式进行身份验证。 如果你具有 OAuth 访问策略限制,则需要为每个客户端启用 OAuth 应用(Visual Studio Code 和 Visual Studio 除外)。

使用 OAuth 配置远程 MCP 服务器

注意

远程 GitHub MCP 服务器对 GitHub Enterprise Server 用户不可用。 如果使用 GitHub Enterprise Server,则可以在本地安装 GitHub MCP 服务器。 请参阅本地 MCP 服务器设置

使用 OAuth 时,你无需创建 PAT 或安装任何额外软件,即可使用远程 GitHub MCP 服务器。 可直接在 Visual Studio Code 中进行设置。 你也可以以只读模式或完整的读/写权限安装各个工具集,从而根据你的具体需求调整服务器的功能。 有关详细信息,请参阅工具配置

  1. 在 Visual Studio Code 中,按 Ctrl+Shift+P (Windows/Linux)/Command+Shift+P (Mac) 打开命令面板。

  2. 键入 mcp: add server,然后按 Enter****。

  3. 从列表中选择“HTTP (HTTP or Server-Sent Events)”****。

  4. 在“Server URL”字段中,输入 https://api.githubcopilot.com/mcp/ 并按 Enter********。

  5. 在“Enter Server ID”下,按 Enter 以使用默认服务器 ID,或输入自定义服务器 ID********。

  6. 在“Choose where to save the configuration”下,选择要保存 MCP 服务器配置的位置****。

    • Visual Studio Code 将打开并在编辑器中将配置添加到所选文件,或创建新文件(如果不存在)。
  7. 在 Visual Studio Code 弹出窗口中,单击“Allow”并从列表中选择你的个人帐户,以授权 MCP 服务器使用 OAuth********。

使用 PAT 配置远程 MCP 服务器

要使用 PAT 配置远程 GitHub MCP 服务器,请确保已创建 PAT 并具备授予 MCP 服务器所需的访问权限范围。 有关详细信息,请参阅“管理个人访问令牌”。

你需要在 Visual Studio Code 中手动配置 MCP 服务器以使用该 PAT 进行授权。

  1. 在 Visual Studio Code 中,按 Ctrl+Shift+P (Windows/Linux)/Command+Shift+P (Mac) 打开命令面板。

  2. 键入 mcp: add server,然后按 Enter****。

  3. 从列表中选择“HTTP (HTTP or Server-Sent Events)”****。

  4. 在“Server URL”字段中,输入 https://api.githubcopilot.com/mcp/ 并按 Enter********。

  5. 在“Enter Server ID”下,按 Enter 以使用默认服务器 ID,或输入自定义服务器 ID********。

  6. 在“Choose where to save the configuration”下,选择要保存 MCP 服务器配置的位置****。

    • Visual Studio Code 将打开并在编辑器中将配置添加到所选文件,或创建新文件(如果不存在)。
  7. 在 Visual Studio Code 弹出窗口中,单击“Cancel”可拒绝 OAuth 授权********。

  8. 需要手动编辑配置文件才能使用 PAT。 在配置文件的 url 行末尾,添加以下内容:

    JSON
        ,
          "headers": {
            "Authorization": "Bearer ${input:github_token}"
          }
        },
      },
      "inputs": [
        {
          "id": "github_token",
          "type": "promptString",
          "description": "GitHub Personal Access Token",
          "password": true
        }
      ]
    }
    
  9. 文件中将显示“Restart”按钮。 单击“Restart”以使用新配置重启 MCP 服务器。

    配置文件中 MCP 服务器“Restart”按钮的屏幕截图。 “Restart”按钮以深橙色框出。

  10. 在命令面板中,你将看到输入 GitHub 令牌的提示。 请输入之前创建的 PAT,然后按 Enter****。

    • MCP 服务器现在将配置为使用 PAT 进行授权。

本地 MCP 服务器设置

注意

如果你是 GitHub Enterprise Server 用户,且你的企业启用了 PAT 限制策略,则你只能使用符合企业 PAT 策略范围的 API 终结点。 如果所有 API 终结点都受到限制,你将无法使用 MCP 服务器。 如果你不确定企业的 PAT 策略,请联系你的企业管理员以获取更多信息。

在本地使用 GitHub MCP 服务器需要你在计算机上已安装并运行 Docker。 此外,本地 MCP 服务器仅支持使用 PAT 进行身份验证,不支持 OAuth。

  1. 请确保你已在计算机上安装并运行 Docker。 请参阅 Docker 安装说明

  2. 创建 PAT,并(至少)包含 read:packagesrepo 范围。 有关详细信息,请参阅“管理个人访问令牌”。

  3. 决定你是要为特定仓库配置 MCP 服务器,还是为你个人的 Visual Studio Code 实例进行配置。

    • 如果你使用的是特定仓库,请在 Visual Studio Code 中打开 .vscode/mcp.json 文件,并添加以下配置:
    JSON
       {
        "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}"
            }
          }
        }
      }
    
    • 如果你使用的是 Visual Studio Code 个人实例,请在 Visual Studio Code 中打开你的 settings.json 文件:
      • Ctrl+Shift+P (Windows/Linux) 或 Cmd+Shift+P (macOS)。
      • 键入“Preferences: Open Settings (JSON)”并选择它****。
      • 添加以下配置:
    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}"
            }
          }
        }
      }
    }
    
  4. 保存文件。

  5. 在命令面板中,你会看到一个提示,要求你输入 GitHub 令牌。 请输入之前创建的 PAT,然后按 Enter****。

    • MCP 服务器现在将配置为在本地运行,并使用 PAT 进行授权。

工具配置

GitHub MCP 服务器支持以只读模式或完整的读/写权限安装各个工具集,使你可以根据你的具体需求调整服务器的功能。 有关每个工具集的一键式安装选项,请参阅 GitHub MCP 服务器仓库

在 Visual Studio Code 中使用 GitHub MCP 服务器

GitHub MCP 服务器可让你通过 Visual Studio Code 中的 Copilot Chat,在 GitHub 上执行各种操作。

  1. 单击 Visual Studio Code 标题栏中的 图标,打开 Copilot Chat。
  2. 在 Copilot Chat 框中,从弹出菜单选择“Agent”****。
  3. 要查看可用操作,请在 Copilot Chat 框中单击“Select tools”图标****。
    • 在“Tools”下拉菜单中,找到“MCP Server:GitHub”,你将看到可用操作的列表********。
  4. 在 Copilot Chat 输入框中,键入与你希望执行的操作相关的命令或问题,然后按 Enter****。
    • 例如,你可以请求 GitHub MCP 服务器创建新的议题、列出拉取请求,或检索仓库信息。
  5. GitHub MCP 服务器将处理你的请求,并在聊天界面中提供响应。
    • 在 Copilot Chat 框中,系统可能会要求你授予额外权限或提供更多信息以完成操作。
  6. 按照提示完成操作。

故障排除

如果你在使用 GitHub MCP 服务器时遇到问题,可以尝试以下一些常见的故障排除步骤:

授权问题

如果你在授权 MCP 服务器时遇到问题,请确保:

  • 你已在所选的 IDE 中登录 GitHub。

如果你使用 personal access token (PAT) 进行身份验证,请确保:

  • 你的 GitHub PAT 是有效的,并且具备你希望执行的操作所需的权限范围。
  • 当在 Visual Studio Code 中提示输入 PAT 时,你输入了正确的 PAT。

Copilot 代理模式问题

如果你在使用 Copilot Chat 代理模式时遇到问题,请确保:

  • 你已在 Copilot Chat 框中选择了正确的代理。
  • 你已在 Visual Studio Code 中正确配置了 MCP 服务器。
  • 你拥有执行目标操作所需的权限。

一般提示

如果你遇到其他与 GitHub MCP 服务器相关的问题,可以尝试以下通用的故障排除建议:

  • 检查 MCP 服务器的输出日志,查看是否有任何错误信息。
  • 如果你是在本地运行 MCP 服务器,请确保你的本地环境已正确设置为支持运行 Docker 容器。
  • 尝试重启 MCP 服务器或 IDE。

其他阅读材料