将 MCP 与 Amazon Q 开发者版结合使用 - Amazon Q 开发者版

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

将 MCP 与 Amazon Q 开发者版结合使用

模型上下文协议(MCP)是一种开放标准,它支持 AI 助手与外部工具和服务进行交互。Amazon Q 开发者版 CLI 现在支持 MCP,可让您通过将 Q 连接到自定义工具和服务来扩展 Q 的功能。

MCP 配置

为您的组织禁用 MCP

根据您的设置,您可以选择在 Amazon Q 开发者控制台中为您的 AWS 账户或组织禁用 MCP 服务器。这适用于以下情况:

  • 您正在使用管理账户管理组织,或者您使用的是独立账户。

  • 您正在受支持的 IDE 中使用 Amazon Q 开发者版。

注意

此设置在客户端强制实施。请注意,最终用户可能会规避它。

要在您的账户或组织中禁用 MCP:

  1. 打开 Amazon Q 开发者版控制台。

  2. 选择设置

  3. 首选项下,选择编辑

  4. 编辑首选项弹出窗口中,切换模型上下文协议(MCP)

  5. 选择保存

使用 Q CLI 设置 MCP 服务器

Amazon Q CLI 的全局定义的 MCP 配置在以下位置处理:

~/.aws/amazonq/cli-agents

Amazon Q Developer CLI 支持本地 MCP 服务器(作为进程运行)和远程 MCP 服务器(通过 HTTP 进行通信)。远程服务器可以使用 OAuth 身份验证或无需身份验证即可打开。

有关更多信息,请参阅 Q CLI Github 存储库中的自定义代理配置指南和。远程 MCP 服务器

在 IDE 中使用 Q 设置 MCP 服务器

IDE 中全局定义的 Amazon Q 的 MCP 配置在以下位置处理:

~/.aws/amazonq/agents/default.json

有关更多信息,请参阅 IDE 中 Q 开发者版的 MCP 配置

MCP 服务器加载

Amazon Q 在后台加载 MCP 服务器,使您无需等待所有服务器进行初始化即可立即开始交互。工具将在相应服务器完成加载后逐渐变为可用。

检查服务器状态

可以使用 /tools 命令来查看哪些服务器仍在加载以及哪些工具已经可用。

配置服务器初始化

可以使用以下方法自定义服务器初始化超时:

$ q settings mcp.initTimeout [value]

其中,[value] 为超时,以毫秒为单位。此设置控制 Amazon Q 在可让您开始交互之前等待服务器进行初始化的时间长度。

工具和提示

本节介绍如何在 Amazon Q 开发者版 CLI 中使用 MCP 工具和提示。

了解 MCP 工具

MCP 工具是 MCP 服务器向 Amazon Q 开发者版 CLI 公开的可执行函数。它们使 Amazon Q 开发者版能够代表您执行操作、处理数据以及与外部系统交互。

MCP 中的每个工具都有:

  • 名称:工具的唯一标识符

  • 描述:有关工具功能的用户可读描述

  • 输入架构:定义该工具接受的参数的 JSON 架构

  • 注释:有关工具的行为和效果的可选提示

发现可用的工具

要查看 Q CLI 会话中有哪些工具可用:

/tools

此命令显示所有可用的工具,包括内置工具和 MCP 服务器提供的工具。

工具可能具有不同的权限级别,用于确定使用工具的方式:

  • 自动批准:在每次调用时,无需显式权限即可使用这些工具

  • 需要批准:在每次使用时,这些工具都需要您的显式权限

  • 危险:这些工具标记为具有潜在风险,在批准之前需要仔细考虑

使用工具

您可以通过两种方式使用 MCP 工具:

  1. 自然语言请求:只需描述您想要做什么,Q 就会决定要使用哪种工具。

  2. 直接工具调用:也可以显式请求 Q 使用特定工具。

使用提示

MCP 服务器可以提供预定义的提示,协助指导 Q 完成特定任务:

  • 列出可用的提示:/prompts

  • 使用提示:

    • @ prompt-name arg1 arg2

使用带有参数的提示的示例:

@fetch https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/command-line-mcp-configuration.html

主要优势

  • 可扩展性:将 Amazon Q 连接到适用于特定域或工作流程的专用工具

  • 自定义:创建根据您的特定需要量身定制的自定义工具

  • 生态系统集成:利用不断增长的 MCP 兼容工具的生态系统

  • 标准化:使用由多个 AI 助手支持的一致协议

  • 灵活性:MCP 支持您在不同的 LLM 提供商之间切换,同时保持相同的工具集成

  • 安全性:使用本地 MCP 服务器将数据保存在基础设施中

MCP 架构

MCP 遵循客户端/服务器架构,其中:

  • MCP 主机:像 Amazon Q 开发者版 CLI 这样想要通过 MCP 访问数据的程序

  • MCP 客户端:与服务器保持 1:1 连接的协议客户端

  • MCP 服务器:轻量级程序,每个程序都通过标准化的模型上下文协议来公开特定的功能

  • 本地数据来源:MCP 服务器可以安全访问的计算机的文件、数据库和服务

  • 远程服务:MCP 服务器可以通过 Internet(例如,通过 APIs)连接的外部系统

例 MCP 通信流
User | v +------------------+ +-----------------+ +------------------+ | | | | | | | Amazon Q Dev | --> | MCP Client API | --> | MCP Server | | | | | | | +------------------+ +-----------------+ +------------------+ | v +------------------+ | | | External Service | | | +------------------+

用户、Amazon Q 开发者版 CLI 和外部服务之间通过 MCP 进行的通信流

核心 MCP 概念

工具

工具是 MCP 服务器向客户端公开的可执行函数。它们支持 Amazon Q:

  • 在外部系统中执行操作

  • 以专门的方式处理数据

  • 与之互动 APIs 并提供服务

  • 代表您执行命令

工具由唯一的名称、描述、输入架构(使用 JSON 架构)和有关工具行为的可选注释来定义。

提示

提示是预定义的模板,有助于指导 Amazon Q 完成特定任务。他们可以:

  • 接受动态参数

  • 包括来自资源的上下文

  • 链接多次互动

  • 指导特定的工作流程

  • 以用户界面元素的形式出现(如斜杠命令)

Resources(资源)

资源表示 MCP 服务器可以向 Amazon Q 提供的数据,例如:

  • 文件内容

  • 数据库记录

  • API 响应

  • 文档

  • 配置数据