Skip to content

用于 ADK 的 GitHub MCP 工具

Supported in ADKPythonTypeScript

GitHub MCP 服务器 将 AI 工具直接连接到 GitHub 平台。这使你的 ADK 智能体能够读取代码仓库和文件、管理问题(Issues)和拉取请求(PRs)、分析代码,并使用自然语言实现工作流自动化。

使用案例

  • 代码仓库管理:浏览并查询代码、搜索文件、分析提交记录(Commits),并深入理解你有权访问的任何项目的结构。
  • 问题与 PR 自动化:创建、更新及管理 Issues 和拉取请求。让 AI 协助进行 Bug 分类、审查代码更改以及维护项目板。
  • 代码分析:检查安全发现、审查 Dependabot 警报、理解代码模式,并获得对代码库的全面洞察。

先决条件

在智能体中使用

from google.adk.agents import Agent
from google.adk.tools.mcp_tool import McpToolset
from google.adk.tools.mcp_tool.mcp_session_manager import StreamableHTTPConnectionParams

GITHUB_TOKEN = "YOUR_GITHUB_TOKEN"

root_agent = Agent(
    model="gemini-2.5-pro",
    name="github_agent",
    instruction="帮助用户从 GitHub 获取信息",
    tools=[
        McpToolset(
            connection_params=StreamableHTTPConnectionParams(
                url="https://api.githubcopilot.com/mcp/",
                headers={
                    "Authorization": f"Bearer {GITHUB_TOKEN}",
                    "X-MCP-Toolsets": "all",
                    "X-MCP-Readonly": "true"
                },
            ),
        )
    ],
)
import { LlmAgent, MCPToolset } from "@google/adk";

const GITHUB_TOKEN = "YOUR_GITHUB_TOKEN";

const rootAgent = new LlmAgent({
    model: "gemini-2.5-pro",
    name: "github_agent",
    instruction: "帮助用户从 GitHub 获取信息",
    tools: [
        new MCPToolset({
            type: "StreamableHTTPConnectionParams",
            url: "https://api.githubcopilot.com/mcp/",
            transportOptions: {
                requestInit: {
                    headers: {
                        Authorization: `Bearer ${GITHUB_TOKEN}`,
                        "X-MCP-Toolsets": "all",
                        "X-MCP-Readonly": "true",
                    },
                },
            },
        }),
    ],
});

export { rootAgent };

可用工具

工具 描述
context 提供有关当前用户和你正在操作的 GitHub 上下文的工具
copilot Copilot 相关工具(例如 Copilot 编码智能体)
copilot_spaces Copilot Spaces 相关工具
actions GitHub Actions 工作流和 CI/CD 操作
code_security 代码安全相关工具,如 GitHub 代码扫描
dependabot Dependabot 相关工具
discussions GitHub 讨论区相关工具
experiments 尚未被视为稳定的实验性功能
gists GitHub Gist 相关工具
github_support_docs_search 搜索文档以回答 GitHub 产品和支持问题
issues GitHub 问题(Issues)相关工具
labels GitHub 标签相关工具
notifications GitHub 通知相关工具
orgs GitHub 组织相关工具
projects GitHub 项目相关工具
pull_requests GitHub 拉取请求(PRs)相关工具
repos GitHub 代码仓库相关工具
secret_protection 敏感信息保护工具,如 GitHub 机密扫描
security_advisories 安全公告相关工具
stargazers GitHub 星标(Stars)用户相关工具
users GitHub 用户相关工具

配置

远程 GitHub MCP 服务器提供可选的 HTTP 头部,可用于配置可用的工具集以及是否开启只读模式:

  • X-MCP-Toolsets:以逗号分隔的欲启用的工具集列表(例如 "repos,issues")。

    • 若列表为空,将使用默认工具集。若提供了不存在的工具集,服务器将因 400 Bad Request 错误而无法启动。空格将被忽略。
  • X-MCP-Readonly:仅启用“读取”类工具。

    • 若该头部为空、或值为 "false""f""no""n""0""off"(不区分大小写,忽略空格),则被解析为 false。其他所有值均被视为 true

其他资源