本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
将 MCP 与 Amazon Q 开发者版结合使用
模型上下文协议(MCP)是一种开放标准,它支持 AI 助手与外部工具和服务进行交互。Amazon Q 开发者版 CLI 现在支持 MCP,可让您通过将 Q 连接到自定义工具和服务来扩展 Q 的功能。
MCP 配置
为您的组织禁用 MCP
根据您的设置,您可以选择在 Amazon Q 开发者控制台中为您的 AWS 账户或组织禁用 MCP 服务器。这适用于以下情况:
您正在使用管理账户管理组织,或者您使用的是独立账户。
您正在受支持的 IDE 中使用 Amazon Q 开发者版。
注意
此设置在客户端强制实施。请注意,最终用户可能会规避它。
要在您的账户或组织中禁用 MCP:
打开 Amazon Q 开发者版控制台。
选择设置。
在首选项下,选择编辑。
在编辑首选项弹出窗口中,切换模型上下文协议(MCP)。
选择保存。
使用 Q CLI 设置 MCP 服务器
Amazon Q CLI 的全局定义的 MCP 配置在以下位置处理:
~/.aws/amazonq/cli-agents
Amazon Q Developer CLI 支持本地 MCP 服务器(作为进程运行)和远程 MCP 服务器(通过 HTTP 进行通信)。远程服务器可以使用 OAuth 身份验证或无需身份验证即可打开。
有关更多信息,请参阅 Q CLI Github 存储库中的自定义代理配置指南
在 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 工具:
-
自然语言请求:只需描述您想要做什么,Q 就会决定要使用哪种工具。
-
直接工具调用:也可以显式请求 Q 使用特定工具。
使用提示
MCP 服务器可以提供预定义的提示,协助指导 Q 完成特定任务:
-
列出可用的提示:
/prompts -
使用提示:
-
@prompt-namearg1 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 响应
-
文档
-
配置数据