

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

# 将 MCP 与 Amazon Q 开发者版结合使用
<a name="qdev-mcp"></a>

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

**Topics**
+ [MCP 概述](qdev-mcp-overview.md)
+ [CLI 中的 MCP 配置](command-line-mcp-config-CLI.md)
+ [MCP 配置](#mcp-configuration)
+ [工具和提示](#command-line-mcp-tools-prompts)
+ [IDE 中 Q 开发者版的 MCP 配置](mcp-ide.md)
+ [主要优势](#command-line-mcp-benefits)
+ [MCP 架构](#command-line-mcp-architecture)
+ [核心 MCP 概念](#command-line-mcp-concepts)
+ [MCP 安全](command-line-mcp-security.md)
+ [Q Developer 的 MCP 管理](mcp-governance.md)

## MCP 配置
<a name="mcp-configuration"></a>

### 使用 Q CLI 设置 MCP 服务器
<a name="setting-up-mcp-Q-CLI"></a>

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

```
~/.aws/amazonq/cli-agents
```

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

有关更多信息，请参阅 [Q CLI Github 存储库中的自定义代理配置指南](https://github.com/aws/amazon-q-developer-cli/blob/main/docs/agent-format.md#mcpservers-field)和。[远程 MCP 服务器](command-line-mcp-config-CLI.md#command-line-mcp-remote-servers)

### 在 IDE 中使用 Q 设置 MCP 服务器
<a name="setting-up-mcp-Q-IDE"></a>

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

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

有关更多信息，请参阅 [IDE 中 Q 开发者版的 MCP 配置](mcp-ide.md)。

### MCP 服务器加载
<a name="command-line-mcp-server-loading"></a>

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

#### 检查服务器状态
<a name="command-line-mcp-server-status"></a>

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

#### 配置服务器初始化
<a name="command-line-mcp-server-config"></a>

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

```
$ q settings mcp.initTimeout [value]
```

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

## 工具和提示
<a name="command-line-mcp-tools-prompts"></a>

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

### 了解 MCP 工具
<a name="command-line-mcp-tools"></a>

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

MCP 中的每个工具都有：
+  **名称**：工具的唯一标识符
+  **描述**：有关工具功能的用户可读描述
+  **输入架构**：定义该工具接受的参数的 JSON 架构
+  **注释**：有关工具的行为和效果的可选提示

### 发现可用的工具
<a name="command-line-mcp-discovering-tools"></a>

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

```
/tools
```

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

工具可能具有不同的权限级别，用于确定使用工具的方式：
+  **Auto-approved**: 这些工具可在未经明确许可的情况下用于每次调用
+  **需要批准**：在每次使用时，这些工具都需要您的显式权限
+  **危险**：这些工具标记为具有潜在风险，在批准之前需要仔细考虑

### 使用工具
<a name="command-line-mcp-using-tools"></a>

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

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

1.  **直接工具调用**：也可以显式请求 Q 使用特定工具。

### 使用提示
<a name="command-line-mcp-prompts"></a>

MCP 服务器可以提供预定义的提示，协助指导 Q 完成特定任务：
+ 列出可用的提示：`/prompts`
+ 使用提示：
  +  `@ {{prompt-name}} arg1 arg2` 

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

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

## 主要优势
<a name="command-line-mcp-benefits"></a>
+  **可扩展性**：将 Amazon Q 连接到适用于特定域或工作流程的专用工具
+  **自定义**：创建根据您的特定需要量身定制的自定义工具
+  **生态系统集成**：利用不断增长的 MCP-compatible 工具生态系统
+  **标准化**：使用由多个 AI 助手支持的一致协议
+  **灵活性**：MCP 支持您在不同的 LLM 提供商之间切换，同时保持相同的工具集成
+  **安全性**：使用本地 MCP 服务器将数据保存在基础设施中

## MCP 架构
<a name="command-line-mcp-architecture"></a>

MCP 遵循客户端/服务器架构，其中：
+  **MCP 主机**：像 Amazon Q 开发者版 CLI 这样想要通过 MCP 访问数据的程序
+  **MCP 客户端**：与服务器保持 1:1 连接的协议客户端
+  **MCP 服务器**：轻量级程序，每个程序都通过标准化的模型上下文协议来公开特定的功能
+  **本地数据来源**：MCP 服务器可以安全访问的计算机的文件、数据库和服务
+  **远程服务**：可通过互联网（例如通过 API）访问的外部系统，MCP 服务器可以连接到这些系统

**Example MCP 通信流**  

```
  User
   |
   v
+------------------+     +-----------------+     +------------------+
|                  |     |                 |     |                  |
| Amazon Q Dev     | --> | MCP Client API  | --> | MCP Server       |
|                  |     |                 |     |                  |
+------------------+     +-----------------+     +------------------+
                                                        |
                                                        v
                                                 +------------------+
                                                 |                  |
                                                 | External Service |
                                                 |                  |
                                                 +------------------+
```
用户、Amazon Q 开发者版 CLI 和外部服务之间通过 MCP 进行的通信流

## 核心 MCP 概念
<a name="command-line-mcp-concepts"></a>

### 工具
<a name="command-line-mcp-concepts-tools"></a>

工具是 MCP 服务器向客户端公开的可执行函数。它们支持 Amazon Q：
+ 在外部系统中执行操作
+ 以专门的方式处理数据
+ 与 API 和服务互动
+ 代表您执行命令

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

### 提示
<a name="command-line-mcp-concepts-prompts"></a>

提示是预定义的模板，有助于指导 Amazon Q 完成特定任务。他们可以：
+ 接受动态参数
+ 包括来自资源的上下文
+ 链接多次互动
+ 指导特定的工作流程
+ 以用户界面元素的形式出现（如斜杠命令）

### 资源
<a name="command-line-mcp-concepts-resources"></a>

资源表示 MCP 服务器可以向 Amazon Q 提供的数据，例如：
+ 文件内容
+ 数据库记录
+ API 响应
+ 文档
+ 配置数据