Google 开发者知识 MCP 服务器使 AI 赋能的开发工具能够搜索 Google 的官方开发者文档,并检索 Google 产品(例如 Firebase、Google Cloud、Android、Maps 等)的相关信息。通过将 AI 应用直接连接到我们的官方文档库,您可以确保收到的代码和指南是最新的,并且基于权威的上下文。
设置服务器后,集成式工具可以帮助您处理以下请求:
植入指南
- 例如:在 Android 应用中,使用 Firebase Cloud Messaging 实现推送通知的最佳方式是什么?
代码生成和说明
- 例如:在 Google 文档中搜索 Python 示例,以列出 Cloud Storage 项目中的所有存储分区。
问题排查和调试
- 例如:为什么我的 Google 地图 API 密钥显示“仅用于开发目的”的水印?
比较分析和总结
- 例如:帮我为新的微服务选择 Cloud Run 还是 Cloud Functions。创建一个 Markdown 表格,比较主要用例、并发性和价格模式等关键方面。
MCP 服务器功能
Google Developer Knowledge MCP 服务器可为您的 AI 应用提供以下工具:
| 工具名称 | 说明 |
|---|---|
search_documents |
搜索 Google 的开发者文档(Firebase、Google Cloud、Android、Maps 等),查找与您的查询相关的网页和代码段。将 get_documents 与搜索结果中的 parent 搭配使用,即可获取完整网页内容。 |
get_documents |
使用 search_documents 结果中的 parent 获取多个文档的完整内容。 |
answer_query |
(预览版)使用开发者知识语料库来回答查询,以生成依托数据的回答。 |
search_documents 工具会将文档划分为较小的文本块,这些文本块经过优化,可用于 AI 赋能的搜索和检索。当您进行搜索时,该工具会返回一个或多个与您的查询相关的文档片段。如果您需要查看片段周围的完整网页内容,请使用 get_documents 和搜索结果中提供的 parent 来检索完整网页内容。
如果您希望获得从 Developer Knowledge 语料库中提取的直接答案,而不是相关代码段或完整文档的列表,请使用 answer_query 工具。
安装
Google Developer Knowledge MCP 服务器是一个远程 MCP 服务器,它使用 Developer Knowledge API 来搜索和检索文档。您可以使用 OAuth 或 API 密钥进行身份验证。
使用 OAuth 进行身份验证
本部分将引导您完成使用 OAuth 向开发者知识 MCP 服务器进行 AI 应用身份验证的过程。
前提条件:设置 Google Cloud CLI
在继续操作之前,请确保您已备妥:
第 1 步:在项目中启用 Developer Knowledge API
- 在 Google API 库中打开 Developer Knowledge API 页面。
- 检查您是否已选择要使用相应 API 的正确项目。
- 点击启用。启用或使用该 API 不需要任何特定的 IAM 角色。
第 2 步:选择身份验证方法
您选择的身份验证方法取决于 AI 助理是否支持使用 gcloud CLI 的应用默认凭证 (ADC),或者是否需要独立的 OAuth 客户端 ID。Gemini CLI 等助理可以使用您现有的 Google Cloud 登录信息实现无缝设置,而 Antigravity 等助理则需要您手动创建并提供自己的凭据才能建立安全连接。
选择与特定 AI 助理的设置要求对应的标签页。
ADC
关联账号
如需授予 MCP 服务器代表您执行操作的权限,请运行以下命令,并将 PROJECT_ID 替换为您的 Google Cloud 项目 ID:
gcloud auth application-default login --project=PROJECT_ID出现提示时,选择一个账号,然后点击继续。
配置 AI 应用
完成身份验证后,最后一步是向 AI 应用提供服务器配置详细信息。虽然确切的 JSON 结构因应用而异,但您可以将以下示例用作模板。
如需配置 Gemini CLI 或 Gemini Code Assist,请修改或创建以下配置文件之一:
- 在项目中:
.gemini/settings.json - 在您的主目录中:
~/.gemini/settings.json
{ "mcpServers": { "google-developer-knowledge": { "httpUrl": "https://developerknowledge.googleapis.com/mcp", "authProviderType": "google_credentials", "oauth": { "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "timeout": 30000, "headers": { "X-goog-user-project": "PROJECT_ID" } } } }如需检查 MCP 服务器是否按预期运行,请继续验证安装。
- 在项目中:
手动凭据
配置 OAuth 权限请求页面
配置项目的 OAuth 权限请求页面,并将自己添加为测试用户。如果您已为自己的 Google Cloud 云项目完成此步骤,请跳至下一步。
- 打开 Google Cloud 控制台的身份验证概览页面,然后点击开始。
- 输入应用名称,选择支持电子邮件地址,然后点击下一步。
- 在受众群体部分,选择外部,然后点击下一步。
- 在联系信息中输入您的电子邮件地址,然后点击下一步。
- 查看并同意《Google API 服务:用户数据政策》,然后点击继续。
- 点击创建。
添加测试用户
- 在 Google Auth Platform 中,点击受众群体。
- 在测试用户下,点击添加用户。
- 输入您的电子邮件地址和任何其他已获授权的测试用户,然后点击保存。
创建 OAuth 客户端
如需以最终用户身份进行身份验证并访问应用中的用户数据,您需要创建一个 OAuth 2.0 客户端 ID。客户端 ID 用于向 Google 的 OAuth 服务器标识单个应用。
- 在 Google Auth Platform 中,点击客户端。
- 点击创建客户端。
- 从应用类型选择器中,选择桌面应用。
- 在名称字段中,输入凭证的名称。此名称仅在 Google Cloud 控制台中显示。
- 点击创建。此时会显示“OAuth 客户端已创建”界面,其中显示您的新客户端 ID 和客户端密钥。
- 点击确定。新创建的凭证会显示在 OAuth 2.0 客户端 ID 下。
- 点击您新建的客户端 ID。在客户端密钥部分中,点击下载图标以保存 JSON 文件。您将在后续步骤中使用此文件中的
client_id和client_secret值。
配置 AI 应用
接下来,您需要向 AI 应用提供服务器配置详细信息。虽然具体步骤因应用而异,但您可以将以下示例用作模板。
如需将 Antigravity 配置为使用 MCP 服务器,请执行以下操作:
- 在 Antigravity 中,依次点击“智能体”窗格中的其他选项 菜单 > MCP 服务器 > 管理 MCP 服务器。
在随即打开的“管理 MCP 服务器”窗格顶部,点击查看原始配置以修改
mcp_config.json文件:{ "mcpServers": { "google-developer-knowledge": { "serverUrl": "https://developerknowledge.googleapis.com/mcp" } } }返回到管理 MCP 服务器,然后点击刷新。
添加 OAuth 凭据
首次尝试使用开发者知识 MCP 服务器时,AI 助理会提示您完成设置:
使用以下提示要求代理使用开发者知识 MCP 服务器:
How do I list Cloud Storage buckets?如果您看到一条消息,要求您注册一个或多个重定向 URI,请点击相应选项以继续操作。由于您将客户端 ID 设置为桌面应用,因此无需在 Google Auth 平台中添加这些特定 URI。
当 AI 助理提示您输入客户端 ID 和客户端密钥 时,请粘贴您之前保存的客户端密钥 JSON 文件中的每个相应密钥。
出现提示时,选择一个账号,然后点击继续。
返回到 AI 助理。该代理现在将使用新身份验证的服务器处理您的请求。
使用 API 密钥进行身份验证
本部分将引导您完成以下过程:使用 API 密钥向开发者知识 MCP 服务器验证 AI 应用的身份。
第 1 步:创建 API 密钥
您可以使用 Google Cloud 控制台或 gcloud CLI 在 Google Cloud 项目中生成 Developer Knowledge API 密钥:
Google Cloud Console
启用 API
- 在 Google API 库中打开 Developer Knowledge API 页面。
- 检查您是否已选择要使用相应 API 的正确项目。
- 点击启用。启用或使用该 API 不需要任何特定的 IAM 角色。
创建并保护 API 密钥
- 在您启用该 API 的项目的 Google Cloud 控制台中,前往“凭据”页面。
- 点击创建凭证,然后从菜单中选择 API 密钥。
- 在名称字段中,提供密钥的名称。
-
点击选择 API 限制下拉菜单,然后输入 Developer Knowledge API。点击相应结果,然后点击确定。
注意:
- 如果您刚刚启用 Developer Knowledge API,则可能需要过一段时间才能在列表中看到它。请等待几分钟,然后重试。
-
如果您计划将此密钥用于 AI 客户端的一般模型调用(例如
GEMINI_API_KEY),则还必须选择 Generative Language API。否则,这些来电将被屏蔽。
- 点击创建。
创建密钥后,点击显示密钥即可查看该密钥。请记下该密钥,以便在配置 AI 应用时使用。
gcloud CLI
- 如果您尚未下载并安装 gcloud CLI,请先执行此操作。
启用 Developer Knowledge API,并将 PROJECT_ID 替换为您的 Google Cloud 项目 ID:
gcloud services enable developerknowledge.googleapis.com --project=PROJECT_ID使用同一 Google Cloud 项目 ID 创建 API 密钥:
gcloud services api-keys create --project=PROJECT_ID --display-name="DK API Key"此命令会返回两个需要注意的值:
keyString是您的 API 密钥。您需要在配置 AI 应用时使用此密钥。name将在下一步中用于保护您的密钥。
将密钥限制为 Developer Knowledge API,并将 KEY_NAME 替换为密钥的名称(例如
projects/my-project/locations/global/keys/12345-67890):gcloud services api-keys update KEY_NAME --api-target=service=developerknowledge.googleapis.com重要提示:如果您打算将此密钥用于 AI 客户端的一般模型调用(例如
GEMINI_API_KEY),还必须允许 Generative Language API:gcloud services api-keys update KEY_NAME \ --api-target=service=developerknowledge.googleapis.com \ --api-target=service=generativelanguage.googleapis.com
第 2 步:在项目中启用开发者知识 MCP 服务器
如需在 Google Cloud 项目中启用 Developer Knowledge MCP 服务器,请下载并安装 gcloud CLI,然后运行以下命令,将 PROJECT_ID 替换为您的 Google Cloud 项目 ID:
gcloud beta services mcp enable developerknowledge.googleapis.com --project=PROJECT_ID
如果没有为您的 Google Cloud 项目启用 Developer Knowledge 服务,系统会提示您先启用该服务,然后再启用远程 MCP 服务器。
作为安全性最佳实践,我们建议您仅为 AI 应用正常运行所需的服务启用 MCP 服务器。
第 3 步:配置 AI 应用
按照以下说明配置热门 AI 应用。将 YOUR_API_KEY 替换为您在上一步中生成的 Developer Knowledge API 密钥:
Gemini CLI
如需配置 Gemini CLI,请运行以下命令:
gemini mcp add -t http -H "X-Goog-Api-Key: YOUR_API_KEY" google-developer-knowledge https://developerknowledge.googleapis.com/mcp --scope user
或者,修改或创建以下配置文件之一:
- 在项目中:
.gemini/settings.json - 在您的主目录中:
~/.gemini/settings.json
{
"mcpServers": {
"google-developer-knowledge": {
"httpUrl": "https://developerknowledge.googleapis.com/mcp",
"headers": {
"X-Goog-Api-Key": "YOUR_API_KEY"
}
}
}
}
Gemini Code Assist
如需配置 Gemini Code Assist,请修改或创建以下配置文件之一:
- 在项目中:
.gemini/settings.json - 在您的主目录中:
~/.gemini/settings.json
{
"mcpServers": {
"google-developer-knowledge": {
"httpUrl": "https://developerknowledge.googleapis.com/mcp",
"headers": {
"X-Goog-Api-Key": "YOUR_API_KEY"
}
}
}
}
Claude Code
如需配置 Claude Code,请在应用文件夹下运行以下命令。
claude mcp add google-dev-knowledge --transport http https://developerknowledge.googleapis.com/mcp --header "X-Goog-Api-Key: YOUR_API_KEY"
光标
如需配置 Cursor,请修改 .cursor/mcp.json(针对特定项目)或 ~/.cursor/mcp.json(针对所有项目)。
{
"mcpServers": {
"google-developer-knowledge": {
"url": "https://developerknowledge.googleapis.com/mcp",
"headers": {
"X-Goog-Api-Key": "YOUR_API_KEY"
}
}
}
}
GitHub Copilot
如需在 VS Code 中为单个项目配置 GitHub Copilot,请修改工作区中的 .vscode/mcp.json 文件。
{
"servers": {
"google-developer-knowledge": {
"url": "https://developerknowledge.googleapis.com/mcp",
"headers": {
"X-Goog-Api-Key": "YOUR_API_KEY"
}
}
}
}
如需使服务器在每个项目中可用,请修改用户设置。点击打开设置 (JSON) 按钮。
{
"mcp": {
"servers": {
"google-developer-knowledge": {
"url": "https://developerknowledge.googleapis.com/mcp",
"headers": {
"X-Goog-Api-Key": "YOUR_API_KEY"
}
}
}
}
}
Windsurf
如需配置 Windsurf 编辑器,请修改 ~/.codeium/windsurf/mcp_config.json 文件。
{
"mcpServers": {
"google-developer-knowledge": {
"url": "https://developerknowledge.googleapis.com/mcp",
"headers": {
"X-Goog-Api-Key": "YOUR_API_KEY"
}
}
}
}
验证安装
配置完成后,打开 AI 应用并输入提示,例如:
How do I list Cloud Storage buckets?
如果您看到对 search_documents 或其他开发者知识 MCP 服务器工具的工具调用,则表示服务器正常运行。
管理令牌使用情况
检索文档内容(尤其是使用 batch_get_documents 时)会消耗 AI 应用上下文窗口中的令牌。由于某些 Google 开发者文档页面非常大,因此提取多个文档可能会迅速导致成本增加、模型响应时间变慢以及上下文窗口溢出。
为了优化性能并避免产生意外费用,请精心设计具体提示,以便仅获取所需信息。避免提出宽泛的请求(例如“比较所有 Firebase 产品”),以免迫使代理一次性提取大量数据。
包含的文档
如需了解服务器搜索哪些文档,请参阅语料库参考。
已知限制
- 内容范围:仅包含语料库参考中公开可见的网页。不包含来自其他来源(例如 GitHub、OSS 网站、博客或 YouTube)的内容。
- 仅限英语的结果:服务器仅支持英语结果。
- 依赖于网络:服务器的工具依赖于实时 Google Cloud 服务。如果您遇到持续性错误,请检查您的互联网连接和 Developer Knowledge API 密钥配置。
可选的安全配置
由于 MCP 工具可执行各种操作,因此 MCP 会引发新的安全风险和注意事项。为了最大限度地降低这些风险并进行管理,Google Cloud 提供了默认设置和可自定义的政策,用于控制 MCP 工具在 Google Cloud 组织或项目中的使用。
如需详细了解 MCP 安全性和治理,请参阅 AI 安全性。
使用 Model Armor
Model Armor 是一项 Google Cloud 服务,旨在增强 AI 应用的安全性。它通过主动筛选 LLM 提示和回答来防范各种风险,并支持 Responsible AI 实践。无论您是在云环境还是外部云服务提供商中部署 AI,Model Armor 都能帮助您防止恶意输入、验证内容安全性、保护敏感数据、保持合规性,并在各种 AI 环境中以一致的方式实施 AI 安全政策。
如果启用 Model Armor 并启用日志记录,Model Armor 会记录整个载荷。这可能会泄露日志中的敏感信息。
启用 Model Armor
按照与 Google 和 Google Cloud MCP 服务器集成中的步骤启用 Model Armor。
为 Google 和 Google Cloud 远程 MCP 服务器配置保护
为了帮助保护您的 MCP 工具调用和响应,您可以使用 Model Armor 下限设置。下限设置用于定义适用于整个项目的最低安全过滤条件。此配置可对项目中的所有 MCP 工具调用和响应应用一组一致的过滤条件。
设置启用了 MCP 清理功能的 Model Armor 下限设置。如需了解详情,请参阅配置 Model Armor 底价设置。
请参阅以下示例命令:
gcloud model-armor floorsettings update \ --full-uri='projects/PROJECT_ID/locations/global/floorSetting' \ --enable-floor-setting-enforcement=TRUE \ --add-integrated-services=GOOGLE_MCP_SERVER \ --google-mcp-server-enforcement-type=INSPECT_AND_BLOCK \ --enable-google-mcp-server-cloud-logging \ --malicious-uri-filter-settings-enforcement=ENABLED \ --add-rai-settings-filters='[{"confidenceLevel": "MEDIUM_AND_ABOVE", "filterType": "DANGEROUS"}]'
请将 PROJECT_ID 替换为您的 项目 ID。
请注意以下设置:
INSPECT_AND_BLOCK:用于检查 Google MCP 服务器的内容并屏蔽与过滤器匹配的提示和响应的强制执行类型。ENABLED:用于启用过滤或强制执行的设置。MEDIUM_AND_ABOVE:Responsible AI - Dangerous 过滤设置的置信度。您可以修改此设置,但较低的值可能会导致出现更多假正例。如需了解详情,请参阅 Model Armor 置信度级别。
禁止使用 Model Armor 扫描 MCP 流量
如需停止 Model Armor 根据项目的下限设置自动扫描进出 Google MCP 服务器的流量,请运行以下命令:
gcloud model-armor floorsettings update \
--full-uri='projects/PROJECT_ID/locations/global/floorSetting' \
--remove-integrated-services=GOOGLE_MCP_SERVER
将 PROJECT_ID 替换为 项目 ID。Model Armor 不会自动将此项目下限设置中定义的规则应用于任何 Google MCP 服务器流量。
Model Armor 下限设置和常规配置不仅会影响 MCP。由于 Model Armor 与 Vertex AI 等服务集成,因此您对下限设置所做的任何更改都可能会影响所有集成服务(而不仅仅是 MCP)中的流量扫描和安全行为。
调整 Model Armor 设置
如果您使用 Model Armor 来保护应用,则可能会遇到某些查询的 403 PERMISSION_DENIED 错误。由于 Developer Knowledge MCP 服务器仅返回来自可信 Google 来源的公开文档,因此我们建议将提示注入和越狱 (PIJB) 过滤器的置信度级别设置为 HIGH_AND_ABOVE,以减少误报。如果您的使用情形不涉及访问私密或敏感数据的其他工具,您还可以考虑停用 PIJB 过滤器。
问题排查
如果您遇到问题,请确认以下事项:
- AI 工具的 MCP 配置文件格式正确。
- 如果使用 API 身份验证方法,您在配置文件中使用的 Developer Knowledge API 密钥有效,且已启用 Developer Knowledge API。
- 您尚未用尽 Developer Knowledge API 配额。