模型上下文协议 (MCP)¶
模型上下文协议 (MCP) 是一种开放标准,旨在标准化大型语言模型(LLM)如 Gemini 和 Claude 与外部应用程序、数据源和工具的通信方式。可以将其视为一种通用连接机制,简化了 LLM 获取上下文、执行操作和与各种系统交互的方式。
MCP 如何工作?¶
MCP 遵循「客户端 - 服务器(client-server)」架构,定义了数据(资源)、交互模板(提示)和可执行函数(工具)如何由 MCP 服务器公开并由 MCP 客户端(可能是 LLM 主机应用程序或 AI 智能体)使用。
ADK 中的 MCP 工具¶
ADK 帮助你在智能体中使用和消费 MCP 工具,无论你是试图构建工具来调用 MCP 服务,还是暴露 MCP 服务器供其他开发者或智能体与你的工具交互。
参考 MCP 工具文档 获取代码示例和设计模式,帮助你将 ADK 与 MCP 服务器一起使用,包括:
- 在 ADK 中使用现有 MCP 服务器:ADK 智能体可以作为 MCP 客户端,使用外部 MCP 服务器提供的工具。
- 通过 MCP 服务器暴露 ADK 工具:如何构建一个包装 ADK 工具的 MCP 服务器,使其可被任何 MCP 客户端访问。
数据库 MCP 工具箱¶
数据库 MCP 工具箱 是一个开源 MCP 服务器,它安全地将你的后端数据源暴露为一组预构建的、生产就绪的工具,供 Gen AI 智能体使用。它充当通用抽象层,允许你的 ADK 智能体安全地查询、分析和检索来自各种数据库的信息,并提供内置支持。
MCP 工具箱服务器包含一个全面的连接器库,确保智能体能够安全地与你的复杂数据资产交互。
支持的数据源¶
MCP 工具箱为以下数据库和数据平台提供开箱即用的工具集:
Google Cloud¶
- BigQuery (包括用于 SQL 执行、模式发现和 AI 驱动的时间序列预测的工具)
- AlloyDB (兼容 PostgreSQL,具有标准查询和自然语言查询的工具)
- AlloyDB Admin
- Spanner (支持 GoogleSQL 和 PostgreSQL 方言)
- Cloud SQL (专门支持 Cloud SQL for PostgreSQL、Cloud SQL for MySQL 和 Cloud SQL for SQL Server)
- Cloud SQL Admin
- Firestore
- Bigtable
- Dataplex (用于数据发现和元数据搜索)
- Cloud Monitoring
关系型和 SQL 数据库¶
- PostgreSQL (通用)
- MySQL (通用)
- Microsoft SQL Server (通用)
- ClickHouse
- TiDB
- OceanBase
- Firebird
- SQLite
- YugabyteDB
NoSQL 和键值存储¶
- MongoDB
- Couchbase
- Redis
- Valkey
-
MongoDB
- Couchbase
- Redis
-
Valkey
-
Neo4j (包含用于 Cypher 查询和模式检查的工具)
-
Neo4j(包含 Cypher 查询和模式检查工具)
-
Dgraph
-
Looker (用于通过 Looker API 运行 Looks、查询和构建仪表板)
- Trino (用于跨多个源运行联邦查询)
其他¶
-
Looker(通过 Looker API 运行 Looks、查询和构建仪表板)
- Trino(跨多个源运行联邦查询)
参考MCP 数据库工具箱文档,了解如何将 ADK 与 MCP 数据库工具箱一起使用。要开始使用 MCP 数据库工具箱,还可以参考博客文章 教程:MCP 数据库工具箱 - 公开 Big Query 数据集 和 Codelab MCP 数据库工具箱:使 BigQuery 数据集可用于 MCP 客户端。
参考数据库 MCP 工具箱文档了解如何将 ADK 与数据库 MCP 工具箱一起使用。为了帮助你开始使用数据库 MCP 工具箱,还提供了博客文章教程:数据库 MCP 工具箱 - 公开 Big Query 数据集和 Codelab 数据库 MCP 工具箱:使 BigQuery 数据集可用于 MCP 客户端。

ADK 智能体和 FastMCP 服务器¶
FastMCP 处理所有复杂的 MCP 协议细节和服务器管理,因此你可以专注于构建优秀的工具。它被设计为高级且符合 Python 风格;在大多数情况下,只需装饰一个函数就足够了。
参考 MCP 工具文档 了解如何将 ADK 与在 Cloud Run 上运行的 FastMCP 服务器一起使用。
Agent Development Kit (ADK) 和 Genkit 为这些 MCP 工具提供内置支持,让你的 AI 智能体能够有效地编排生成式媒体工作流。有关实现指导,请参阅 ADK 示例智能体和 Genkit 示例。