

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon Q Developer での MCP の使用
<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 ツールは、次の 2 つの方法で使用できます。

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 ホスト**: MCP を介してデータにアクセスする Amazon Q Developer CLI などのプログラム
+  **MCP クライアント**: サーバーとの 1:1 接続を維持するプロトコルクライアント
+  **MCP サーバー**: 標準化されたモデルコンテキストプロトコルを通じて、それぞれが特定の機能を公開する軽量プログラム
+  **ローカルデータソース**: MCP サーバーが安全にアクセスできるコンピュータのファイル、データベース、サービス
+  **リモートサービス**: MCP サーバーが接続できるインターネット (API など) 経由で利用可能な外部システム

**Example MCP コミュニケーションフロー**  

```
  User
   |
   v
+------------------+     +-----------------+     +------------------+
|                  |     |                 |     |                  |
| Amazon Q Dev     | --> | MCP Client API  | --> | MCP Server       |
|                  |     |                 |     |                  |
+------------------+     +-----------------+     +------------------+
                                                        |
                                                        v
                                                 +------------------+
                                                 |                  |
                                                 | External Service |
                                                 |                  |
                                                 +------------------+
```
MCP を介したユーザー、Amazon Q Developer CLI、外部サービス間のコミュニケーションフロー

## コア 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 要素として表示する (スラッシュコマンドなど)

### リソース
<a name="command-line-mcp-concepts-resources"></a>

リソースは、次のような MCP サーバーが Amazon Q に提供できるデータを表します。
+ ファイルコンテンツ
+ データベースレコード
+ API レスポンス
+ ドキュメント
+ 設定データ