GitHub¶
GitHub MCP 服务器 将 AI 工具直接连接到 GitHub 平台。这使你的 ADK 智能体能够读取仓库和代码文件、管理问题和 PR、分析代码,并使用自然语言自动化工作流。
使用案例¶
- 仓库管理:浏览和查询代码,搜索文件,分析提交,并理解你有权访问的任何仓库的项目结构。
- 问题和 PR 自动化:创建、更新和管理问题和拉取请求。让 AI 帮助分类错误、审查代码更改和维护项目板。
- 代码分析:检查安全发现,审查 Dependabot 警报,理解代码模式,并获得对你代码库的全面洞察。
前置条件¶
与智能体一起使用¶
from google.adk.agents import Agent
from google.adk.tools.mcp_tool.mcp_session_manager import StreamableHTTPServerParams
from google.adk.tools.mcp_tool.mcp_toolset import MCPToolset
GITHUB_TOKEN = "YOUR_GITHUB_TOKEN"
root_agent = Agent(
model="gemini-2.5-pro",
name="github_agent",
instruction="帮助用户从 GitHub 获取信息",
tools=[
MCPToolset(
connection_params=StreamableHTTPServerParams(
url="https://api.githubcopilot.com/mcp/",
headers={
"Authorization": f"Bearer {GITHUB_TOKEN}",
"X-MCP-Toolsets": "all",
"X-MCP-Readonly": "true"
},
),
)
],
)
可用工具¶
| 工具 | 描述 |
|---|---|
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 问题相关工具 |
labels |
GitHub 标签相关工具 |
notifications |
GitHub 通知相关工具 |
orgs |
GitHub 组织相关工具 |
projects |
GitHub 项目相关工具 |
pull_requests |
GitHub 拉取请求相关工具 |
repos |
GitHub 仓库相关工具 |
secret_protection |
机密保护相关工具,例如 GitHub 机密扫描 |
security_advisories |
安全公告相关工具 |
stargazers |
GitHub 星标用户相关工具 |
users |
GitHub 用户相关工具 |
配置¶
远程 GitHub MCP 服务器具有可选头部,可用于配置可用的工具集和只读模式:
-
X-MCP-Toolsets:要启用的工具集的逗号分隔列表。(例如,"repos,issues")- 如果列表为空,将使用默认工具集。如果提供了错误的工具集,服务器将无法启动并发出 400 错误请求状态。忽略空白字符。
-
X-MCP-Readonly:仅启用"读取"工具。- 如果此头部为空、"false"、"f"、"no"、"n"、"0"或"off"(忽略空白字符和大小写),将被解释为 false。所有其他值都被解释为 true。