

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 MCP 搭配 Amazon Q Developer
<a name="qdev-mcp"></a>

模型上下文協定 (MCP) 是一種開放標準，可讓 AI 助理與外部工具和服務互動。Amazon Q Developer CLI 現在支援 MCP，可讓您透過將 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 Developer 的 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 Developer 的 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 Developer CLI 使用 MCP 工具和提示。

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

MCP 工具是 MCP 伺服器向 Amazon Q Developer CLI 公開的可執行函式。這些函式可讓 Amazon Q Developer 代表您執行動作、處理資料，以及與外部系統互動。

MCP 中的每一項工具都有：
+  **名稱**：工具的唯一識別符
+  **說明**：人類可讀的工具功能說明
+  **輸入結構描述**：定義工具可接受參數的 JSON 結構描述
+  **註釋**：有關工具行為和效果的選用提示

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

若要查看 Q CLI 工作階段中有哪些可用的工具：

```
/tools
```

此命令會顯示所有可用的工具，包括內建工具和 MCP 伺服器提供的工具。

工具可以有不同的許可層級來決定其使用方式：
+  **自動核准**：這些工具不需明確的許可就能在每次調用時使用
+  **需要核准**：這些工具每次使用時都需要您的明確許可
+  **危險**：這些工具標記為具有潛在風險，核准之前務必仔細考慮

### 使用工具
<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 相容工具生態系統
+  **標準化**：使用多個 AI 助理支援的一致通訊協定
+  **彈性**：MCP 可讓您切換不同的 LLM 提供者，同時維持相同的工具整合
+  **安全**：使用本機 MCP 伺服器將資料保留在基礎結構內

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

MCP 採用用戶端-伺服器架構，其中：
+  **MCP 主機**：像是 Amazon Q Developer CLI 這類想要透過 MCP 存取資料的程式
+  **MCP 用戶端**：與伺服器維持 1:1 連線的通訊協定用戶端
+  **MCP 伺服器**：透過標準化模型上下文協定公開特定功能的輕量型程式
+  **本機資料來源**：您電腦上可供 MCP 伺服器安全存取的檔案、資料庫和服務
+  **遠端服務**：MCP 伺服器可透過網際網路 (例如透過 API) 連線的外部系統

**Example MCP 通訊流程**  

```
  User
   |
   v
+------------------+     +-----------------+     +------------------+
|                  |     |                 |     |                  |
| Amazon Q Dev     | --> | MCP Client API  | --> | MCP Server       |
|                  |     |                 |     |                  |
+------------------+     +-----------------+     +------------------+
                                                        |
                                                        v
                                                 +------------------+
                                                 |                  |
                                                 | External Service |
                                                 |                  |
                                                 +------------------+
```
使用者、Amazon Q Developer 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 進行特定任務。他們可以：
+ 接受動態引數
+ 包含來自資源的內容
+ 鏈結多個互動
+ 引導特定工作流程
+ 以 UI 元素形式呈現 (例如斜線命令)

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

資源代表 MCP 伺服器可提供給 Amazon Q 的資料，例如：
+ 檔案內容
+ 資料庫記錄
+ API 回應
+ 文件
+ 組態資料