View a markdown version of this page

模型上下文协议 (MCP) 集成 - Amazon Quick

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

模型上下文协议 (MCP) 集成

模型上下文协议 (MCP) 是一种开放标准,它定义了 AI 应用程序如何与外部工具和数据源通信。MCP 使用客户端-服务器架构。AI 应用程序充当连接到 MCP 服务器的客户端。每个 MCP 服务器都公开了一组工具。这些工具是结构化操作,AI 应用程序可以调用这些操作来执行任务,例如查询数据库、调用 API 或与第三方服务交互。

通过在 Amazon Quick 中集成 MCP,您可以连接到远程 MCP 服务器,这样您的 AI 助手就可以使用这些服务器提供的工具。例如,您可以连接到提供项目管理系统访问权限的 MCP 服务器。此连接允许助手在对话中创建工单、查找问题或更新状态。由于 MCP 是一种开放标准,因此您可以连接到任何兼容的服务器,而无需为每个工具构建自定义集成。

您可以连接到可通过公共互联网访问的 MCP 服务器。您还可以使用 Amazon Quick VPC 连接连接到可从您 AWS 账户中的虚拟私有云 (VPC) 访问的私有 MCP 服务器。MCP 服务器可以位于 VPC 中,也可以位于可通过对等互连或传输网关访问的另一个 VPC 中,或者可通过 Direc AWS t Connect 或 VPN 访问本地。有关在 Amazon Quick 中创建 VPC 连接的信息,请参阅在 Amazon Quick Sight 中配置 VPC 连接

重要

当您通过 VPC 连接连接到私有 MCP 服务器时,MCP 服务器使用的 OAuth 终端节点必须可通过公共互联网访问。这适用于用户身份验证(授权和令牌端点)和服务身份验证(令牌端点)。不支持私有 OAuth 提供商。还支持不需要身份验证的 MCP 服务器。

支持的功能

MCP 集成在 Amazon Quick 中将 MCP 服务器工具注册为操作。

动作连接器

MCP 服务器公开的每个工具都注册为你的 AI 助手可以在对话期间调用的操作。该集成通过使用代码交换证明密钥 (PKCE) 和 S256 质询方法和资源指示器 (RFC 8707) 将访问令牌绑定到特定 MCP 服务器来保护这些连接。

开始前的准备工作

在设置 MCP 集成之前,请确保具备以下条件:

注意

MCP 集成仅支持远程服务器。HTTP 流媒体优先于 Server-Sent 事件 (SSE)。不支持本地 stdio 连接。

准备 MCP 服务器设置和身份验证

当您连接到 MCP 服务器时,Amazon Quick 会使用 OAuth 2.0 受保护的资源元数据 (RFC 9728) 来自动发现授权服务器信息。客户端向 MCP 服务器发送未经身份验证的初始请求。如果服务器以 401 状态进行响应,其中包含带有 resource_metadata URL 的WWW-Authenticate标头,则 Amazon Quick 会使用该网址来获取元数据文档。如果标头不存在,则 Amazon Quick 会回退到服务器根目录下的众所周知的 URI。

如果授权服务器支持动态客户端注册 (DCR),则 Amazon Quick 会使用registration_endpoint从授权服务器元数据中发现的内容自动进行自我注册。无需手动配置凭证。Amazon Quick 支持机密和公共客户流程。无论您选择哪种身份验证方法,都适用 DCR。

如果授权服务器不支持 DCR,则必须手动提供凭据。选择符合您的 MCP 服务器要求的身份验证方法。

用户身份验证 (OAuth)

从 MCP 服务器配置中收集以下信息:

  • 客户端 ID — OAuth 客户端 ID。

  • 客户端密钥-OAuth 客户端密钥。

  • 令牌网址-OAuth 令牌端点。

  • 授权网址-OAuth 授权端点。

  • 重定向网址-OAuth 重定向网址。

服务认证 (Service-to-Service)

从 MCP 服务器配置中收集以下信息:

  • 客户端 ID-服务客户端 ID。

  • 客户密钥-服务客户端密钥。

  • 令牌 URL-服务令牌端点。

不使用身份验证

如果 MCP 服务器不需要身份验证,则不需要凭据。对于允许未经身份验证的访问的 MCP 服务器,请选择此选项。

设置 MCP 集成

准备好 MCP 服务器配置和身份验证凭证后,创建 MCP 集成。

  1. 在 Amazon Quick 控制台中,选择连接器

  2. 选择 “为你的团队创建” 选项卡。

  3. 找到并选择模型上下文协议 (MCP)

  4. 创建集成页面上,输入集成详细信息:

    • 名称-您的 MCP 集成的描述性名称。

    • 描述(可选)-集成的目的。

    • MCP 服务器端点-MCP 服务器的 URL。

    • 连接类型-选择 Amazon Quick 连接到 MCP 服务器的方式:

      • 公共网络-对于可通过公共互联网访问的 MCP 服务器,请使用此选项。

      • 命名的 VPC 连接-将此选项用于专用 MCP 服务器。下拉列表列出了在您的 Amazon Quick 账户上配置的 VPC 连接。选择可通过网络访问您的 MCP 服务器的连接。如果您在列表中看不到您的 VPC 连接,请确认该连接已完全配置且处于活动状态。有关更多信息,请参阅 在 Amazon Quick Sight 中配置 VPC 连接

  5. 选择下一步

  6. 选择身份验证方法(用户、服务或不进行身份验证)。

  7. 输入相应的配置详细信息。

  8. 选择创建并继续

  9. 查看集成详细信息。

  10. 选择下一步

  11. 如果需要,可以与其他用户共享集成。

创建 MCP 集成后,Amazon Quick 会发现可用的工具并将其注册为操作。

评论集成

配置身份验证后,请查看 MCP 集成功能:

  1. 系统连接到 MCP 服务器并发现可用功能。

  2. 查看 MCP 服务器提供的可用操作和任务列表。

  3. 确认集成配置和功能。

能力发现

在中描述的连接过程中准备 MCP 服务器设置和身份验证,Amazon Quick 还会发现并注册 MCP 服务器提供的工具。发现完成后,每个工具都列为一项操作,您可以查看并开启该操作。

管理 MCP 集成

要编辑、共享或删除您的集成,请参阅管理现有集成

问题排查

在 Amazon Quick 中创建或使用 MCP 集成时,请使用以下指南来诊断和解决常见问题。

连接器创建问题

  • Conn@@ ector 通过发现但发布失败 Creation failed — 此错误通常意味着 MCP 服务器tools/list响应中的一个或多个工具定义包含无效inputSchema的定义。在发布阶段,Amazon Quick 会inputSchema根据 JSON 架构草稿 7 或更高版本验证每个工具。

    最常见的原因是已弃用的 Draft 3 语法,其中required是属性定义中的布尔值(例如"required": true)。在 JSON Schema Draft 7 及更高版本中,required必须是架构根目录下的属性名称数properties组,作为同级。

    更新您的工具定义以使用正确的格式并重新部署 MCP 服务器。重新部署后,删除出现故障的连接器并创建一个新的连接器以重新触发发现和发布。

    以下示例显示了错误的 Draft 3 语法:

    { "type": "object", "properties": { "logNumber": { "type": "string", "description": "The permit log number", "required": true } } }

    以下示例显示了正确的 Draft 7 语法:

    { "type": "object", "properties": { "logNumber": { "type": "string", "description": "The permit log number" } }, "required": ["logNumber"] }

    某些 MCP 框架库和代码生成器默认会发出 Draft 3 语法。请查看您的框架文档,了解选择 JSON 架构输出版本的选项。在部署之前,您还可以使用任何 JSON 架构草案 7 验证器验证您的架构。有关inputSchema要求的更多信息,请参阅模型上下文协议规范中的工具

    您可能还会注意到,连接器创建会暂停两到五分钟,然后才会失败。经过的时间反映的是发布阶段的内部重试次数,而不是网络超时。修复方法是一样的:检查您的工具inputSchema定义是否符合 JSON 架构草案 7。

VPC 连接问题

  • VPC 连接未在连接类型下拉列表中列出,或者 MCP 创建在您选择后立即失败 — 在配置完成之前,VPC 连接可能会出现在下拉列表中。等待 VPC 连接在 Amazon Quick 管理页面上显示为可用,然后再针对该连接创建 MCP 集成。有关更多信息,请参阅 在 Amazon Quick Sight 中配置 VPC 连接

  • 由于无法解析 MCP 服务器主机名,MCP 创建失败 — Amazon Quick 不使用默认 VPC DNS 解析器进行 MCP 集成。您必须使用可以解析您的 MCP 服务器主机名的 Route 53 解析器入站终端节点 IP 地址填充 VPC 连接上的 DNS 解析器终端节点 IP 地址。此要求既适用于私有主机名,也适用于您要从 VPC 内部解析为私有地址的公用主机名,例如前面的 Route 53 私有托管区域 AWS PrivateLink 或 Route 53 私有托管区域的终端节点。如果没有这些解析器端点,则无法解析 MCP 服务器主机名,集成创建失败。有关更多信息,请参阅 在 Amazon Quick Sight 中配置 VPC 连接

  • 无法通过 VPC 连接访问 MCP 服务器 — 从 Amazon Quick 到您的 MCP 服务器的流量来自您在 VPC 连接设置期间选择的子网。确认路由表、网络 ACL 和安全组允许这些子网与 MCP 服务器端点之间的流量。有关 VPC 联网的一般指南,请参阅在 Amazon Quick Sight 中配置 VPC 连接

  • 使用私有 MCP 服务器时身份验证失败 — 当您通过 VPC 连接连接到私有 MCP 服务器时,MCP 服务器使用的 OAuth 终端节点必须仍然可以通过公共互联网访问。这适用于用户身份验证(授权和令牌端点)和服务身份验证(令牌端点)。不支持私有 OAuth 提供商。确认您的 MCP 服务器在其受保护的资源元数据中返回的 OAuth 网址是否通过公共互联网解析。

微软 Entra ID 问题

如果您的 MCP 服务器使用 Microsoft Entra ID 作为授权服务器,则在连接器安装过程中经常会出现以下错误。这些问题既适用于公共网络连接,也适用于您通过 VPC 连接访问的私有 MCP 服务器。

  • AADSTS9010010— v2.0 终端节点拒绝资源参数 — Amazon Quick 按照 MCP 规范 (RFC 8707) 的要求在 OAuth 请求上发送resource参数。Entra ID v2.0 端点拒绝同时包含resource参数和值的请求。scope要解决此错误,请将您的应用程序注册配置为使用 Entra ID v1.0 OAuth 端点,并在应用程序清单2accessTokenAcceptedVersion将其设置为。

  • AADSTS90009— 应用程序为自己请求令牌 — 当您使用用户身份验证(授权码流)且 OAuth 客户端和 MCP 资源解析到同一 Entra ID 应用程序时,Entra ID 会阻止该请求。创建两个单独的应用程序注册:一个用于 Amazon Quick 的客户端应用程序和一个用于 MCP 服务器的资源应用程序。此问题不会影响服务身份验证(客户端凭据流),在这种身份验证中,单个应用程序注册可以正常工作。

如果您遇到前几节中未涉及的问题,请通过 Amazon Quick 控制台或 AWS 支持中心联系 AWS 支持部门。

限制

在 Amazon Quick 中使用 MCP 集成时,请注意以下限制:

  • MCP 操作有 60 秒的固定超时时间。超过此限制的操作会自动失败,并出现 HTTP 424 错误。

  • 对于通过 VPC 连接访问的 MCP 服务器,MCP 服务器使用的 OAuth 终端节点必须可通过公共互联网访问。这适用于用户身份验证和服务身份验证。不支持私有 OAuth 提供商。

  • MCP 操作不支持自定义 HTTP 标头。仅传输标准系统标头。

  • 初始注册后,工具列表保持静态。要获取服务器端工具的更改,必须删除集成并重新创建。

  • 如果第三方提供商未将 Amazon Quick 回调 URI 列入允许名单,则连接器创建可能会失败。

  • 服务器连接问题导致无需重试即可立即失败。

  • Step-up 不支持授权。如果 MCP 服务器在初始授权(使用 HTTP 403insufficient_scope)后需要其他范围,则必须重新授权整个连接。增量权限升级不可用。

  • 范围处理有以下限制:

    • Amazon Quick 不会从服务器最初的 401 WWW-Authenticate 质询中提取该scope参数。Amazon Quick 改为根据受保护的资源元数据文档确定范围。

    • 当元数据未指定支持的范围时,Amazon Quick 会应用默认范围,而不是将其省略。对于无法识别默认作用域的服务器,此行为可能会导致身份验证失败。

  • 自动客户端注册仅支持动态客户机注册 (DCR)。不支持客户端 ID 元数据文档。

  • Well-known URI 发现仅使用服务器根路径。 Path-specific 不支持元数据位置(路径插入发现)。此限制可能会阻止发现仅在路径特定的 URI 上提供元数据的服务器。