用于 ADK 的 GitHub MCP 工具¶
Supported in ADKPythonTypeScript
GitHub MCP 服务器 将 AI 工具直接连接到 GitHub 平台。这使你的 ADK 智能体能够读取代码仓库和文件、管理问题(Issues)和拉取请求(PRs)、分析代码,并使用自然语言实现工作流自动化。
使用案例¶
- 代码仓库管理:浏览并查询代码、搜索文件、分析提交记录(Commits),并深入理解你有权访问的任何项目的结构。
- 问题与 PR 自动化:创建、更新及管理 Issues 和拉取请求。让 AI 协助进行 Bug 分类、审查代码更改以及维护项目板。
- 代码分析:检查安全发现、审查 Dependabot 警报、理解代码模式,并获得对代码库的全面洞察。
先决条件¶
- 在 GitHub 中创建一个 个人访问令牌 (Personal Access Token)。有关更多信息,请参阅官方文档。
在智能体中使用¶
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。
- 若该头部为空、或值为