本页面适用于 Apigee,但不适用于 Apigee Hybrid。
查看 Apigee Edge 文档。
本页介绍了如何使用 Apigee 将 API 产品作为 MCP 工具公开给代理应用。您可以将 Apigee 政策应用于 API 产品,以提供一层安全性并控制 MCP 工具的使用方式。
什么是 MCP?
Model Context Protocol (MCP) 是由 Anthropic 开发的开源协议,可标准化 AI 应用连接到数据源、工作流和工具的方式。
AI 应用可以使用 MCP 将 Google 和 Google Cloud 服务作为工具进行访问。在这种情况下,了解以下 MCP 术语很有用:
- MCP 主机:与用户互动的 AI 应用或环境。MCP 主机使用大语言模型 (LLM) 处理可能需要外部数据或工具的请求。
- MCP 客户端:MCP 主机内的一个组件,可帮助 LLM 与 MCP 服务器进行通信。 它将 LLM 的请求转换为 MCP 可处理的格式,并将 MCP 的回复转换为 LLM 可理解的格式。它还会发现并调用可用的 MCP 服务器。
- MCP 服务器:为 LLM 提供上下文、数据或功能的外部服务,充当 LLM 与 MCP 客户端之间的代理。
Apigee 中的 MCP 的运作方式
Google、 Google Cloud和 Apigee 的 MCP 端点实现了 MCP 服务器规范。这样,符合要求的 MCP 客户端便可访问这些资源,以执行以下操作:
- 发现可用的端点。
- 列出端点上可用的工具。
- 向端点进行身份验证。
- 根据定义的访问政策调用工具。
- 接收来自工具的流式响应。
任何支持通过 HTTP/S 实现远程 MCP 端点的 MCP 客户端都可以访问这些工具。
由于端点是受管理的,因此您无需安装或管理本地 MCP 服务器、远程 MCP 服务器或其他基础架构,即可让代理应用访问您的服务。
Apigee 中的 MCP 为 tools/list 和 tools/call 方法提供 JSON-RPC 支持。您可以使用参数自定义 MCP 端点,以实现可发现性、安全性、网络可用性和可观测性。
Apigee 中 MCP 的主要功能
Apigee 中的 MCP 提供工具发现、安全和治理功能。这些功能可帮助您管理代理应用与服务的互动方式。
简化了工具发现
您可以使用可通过 REST 接口访问的目录服务来发现 Apigee 服务的可用 MCP 端点。每个 MCP 端点还支持 MCP tools/list 方法,该方法可让 MCP 客户端发现相应端点中可用的工具。
安全
Apigee 中的 MCP 包含多层安全防护机制,可保护您的服务。您可以使用身份验证、授权、网络边界和内容扫描来控制访问权限。
身份验证
Apigee 托管的 MCP 端点支持 OAuth 2.1 身份验证。这样可确保只有已建立身份的代理、MCP 客户端和最终用户才能访问您的 MCP 端点并调用 MCP 工具。受保护的资源元数据可让客户端发现 OAuth 授权服务器。
细粒度授权政策
您可以根据 OAuth 客户端身份(包括最终用户的身份)限制对 MCP 工具的访问。例如,您可以在 MCP 发现代理中配置一项政策,以指定只有具有已知客户端身份的指定代理才能访问付款服务的 MCP 工具。
集中式分析
对于 Apigee 托管的端点,您可以在 Apigee Analytics 中查看 MCP 工具使用情况信息。
将 MCP 与 Apigee 搭配使用
您可以将现有的 Apigee API 作为 MCP 工具公开,并通过 MCP 端点访问这些工具。 这些端点可以在每个主机或环境组级别进行配置。例如,如果您的 Cymbal 组织有 8 个主机名(例如,api.Cymbal.com、partners.Cymbal.com),每个主机名都与不同的环境组相关联,那么您可以为每个主机名托管一个专用 MCP 服务器。
受管理的目标端点 (mcp.apigee.internal) 是使用 Apigee 组织中的专用 MCP 发现代理部署的,MCP 服务器可在其中使用。
下表展示了一个示例,说明了客户(包括虚构的 Cymbal 组织)如何使用 Apigee 配置多个 MCP 端点。
| 客户 | 主机名和 MCP 基本路径 | MCP 服务器目标端点 | API 代理和产品 | 工具 |
|---|---|---|---|---|
| Cymbal | api.cymbal.com/mcp |
mcp.apigee.internal(Cymbal 租户项目) |
mcp-api-proxy1和api-product1之间 |
Tool1..50 |
api-internal.cymbal.com/mcp |
mcp.apigee.internal(Cymbal 租户项目) |
mcp-api-proxy2和api-product2之间 |
Tool51..100 | |
api-service.cymbal.com/mcp |
mcp.apigee.internal(Cymbal 租户项目) |
mcp-api-proxy3和api-product3之间 |
Tool101..130 |
限制
Apigee 中的 MCP 非公开预览版存在以下限制:
- 组织级 OpenAPI 规范的总大小限制为 1 MB。
- Apigee 中的 MCP 支持以下 OpenAPI 版本:3.0.0、3.0.1、3.0.2、3.0.3。
- Apigee 中的 MCP 不适用于 Apigee Hybrid 组织或必须满足数据驻留要求的 Apigee 组织。
此外,请注意,Apigee 中的 MCP 非公开预览版产品不适合在生产环境中使用。