MCP サーバーを活用して Amazon Q デベロッパーCLIの能力を強化しよう

少し前に、Model Context Protocol (MCP) が LLM アプリケーションに不足しているコンテキストを補完する方法について、4部構成のブログシリーズで紹介しました。このシリーズでは、AWS リソース管理を支援するカスタムMCPサーバーを構築しました。次に、RAG ナレッジベースとユーティリティをサーバーに追加して、AWS サービスのドメイン固有知識を持たせることで、新しいアプリケーションの学習と開発を迅速に進められるようにしました。最後に、MCP サーバーが提供するツールを利用して Amazon Bedrock を通じて Claude 3.7 Sonnet を呼び出すカスタム MCP クライアントを作成しました。 カスタム MCP クライアントの開発は MCP と Amazon Bedrock について理解を深めるための良い練習になりましたが、実際には私たちの MCP サーバーは MCP プロトコルに対応するどのクライアントとも連携できます。今回は、これまで作成したカスタム MCP サーバーを Amazon Q Developer CLI と連携させる方法をご紹介します。 Amazon Q Developer まだ Amazon Q Developer をお試しでない方は、ぜひインストールして使ってみることをお勧めします。優れた生成 AI を搭載したコーディング支援ツールとして、お気に入りの IDE と連携し、開発作業を強力にサポートします。また、q chat コマンドで起動できるコマンドラインベースのアシスタント、Amazon Q Developer CLI も含まれています。執筆時点ではちょうど、この Amazon Q Developer CLI がカスタムMCPサーバーに対応するようになりました。この新機能の詳細は発表ブログをご覧いただくとして、ここでは Amazon IVS 用MCPサーバーを実際に追加して試してみましょう! Amazon Q Developer CLI にカスタム MCP サーバーを追加する まず、Amazon Qをインストールし、AWS Builder ID で認証を行います。既にインストール済みの場合は、バージョンが 1.9.0 以上であることをご確認ください。 次に、~/.aws/amazonq 配下にある mcp.json というファイルで MCP サーバーを定義しましょう。このファイルに、Amazon Q が MCP サーバーと連携できるように、必要な情報を記述しなければなりません。 { "mcpServers": { "amazon-ivs-mcp-server": { "command": "node", "args": ["/projects/demos/ivs-mcp/amazon-ivs-mcp-server-demo/index.js"], "env": { } } } } mcpServer オブジェクトの中に、amazon-ivs-mcp-server というキーでオブジェクトを定義します。このキー名自体は好きに書いてもいいのですが、追加するサーバーの概要が伝わるものにすると良いでしょう。このキーに対してバリューとなるオブジェクトでは、実行コマンド (node) と、MCP サーバーに渡すを引数 (args) 配列を指定します。必要に応じて、env オブジェクトでは環境変数を定義することもできます。私の場合は、環境変数をセッションで設定しているので、このファイルでの明示的な定義は不要です。 最後に、q chat コマンドで Amazon Q Developer CLI を起動しましょう。このブログシリーズで作成した Amazon IVS MCP サーバーが正しく設定されていれば、起動時に利用可能なツール一覧に表示されます。 $ q chat To learn more about MCP safety, see https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/command-line-mcp-security.html ⚠ amazon_ivs_mcp_server has the following warning: The following tool names are changed: - amazon_ivs_mcp_server___get-logging-configuration -> amazon_ivs_mcp_server___getloggingconfiguration - amazon_ivs_mcp_server___get-playback-restriction-policy -> amazon_ivs_mcp_server___getplaybackrestrictionpolicy ...more warnings ✓ 1 of 1 mcp servers initialized ⚠️の警告は気にしないでください。これは、Amazon Q がツール名を命名規則に合わせて変更したことを通知しているだけです。重要なのは「✓ 1 of 1 mcp servers initialized」という部分です。MCP サーバーとAmazon Q Developer CLI の連携に成功しました! ツールの管理 ツールを管理するためのコマンドがいくつか用意されています。利用可能なコマンドの一覧は /help コマンドで確認できます。以下はツール関連のコマンド一覧です: /tools View and manage tools and permissions help Show an explanation for the trust command trust Trust a specific tool or tools for the session untrust Revert a tool or tools to per-request confirmation trustall Trust all tools (equivalent to deprecated /acceptall) reset Reset all tools to default permission levels ツールが「trust (信頼)」されていない場合、Amazon Q Developer CLI がそのツールを使用する必要があると判断したときに、「信頼」するかどうかの確認が表示されます。 Amazon Q Developer CLI から Amazon IVS MCP サーバーを利用する これで、Amazon IVS があるアカウントについて Amazon Q に質問できるようになりました。例えば: tell me about the last streaming session on demo-stage (demo-stageでの最後のストリーミングセッションについて教えて) と聞くと、次のような応答が返ってきます: I'll help you find information about the last streaming session on "demo-stage". To do this, I need to first check if this stage exists and then retrieve its session information. Let me first list the available IVS Real-Time stages to find the one named "demo-stage":

May 2, 2025 - 17:44
 0
MCP サーバーを活用して Amazon Q デベロッパーCLIの能力を強化しよう

少し前に、Model Context Protocol (MCP) が LLM アプリケーションに不足しているコンテキストを補完する方法について、4部構成のブログシリーズで紹介しました。このシリーズでは、AWS リソース管理を支援するカスタムMCPサーバーを構築しました。次に、RAG ナレッジベースとユーティリティをサーバーに追加して、AWS サービスのドメイン固有知識を持たせることで、新しいアプリケーションの学習と開発を迅速に進められるようにしました。最後に、MCP サーバーが提供するツールを利用して Amazon Bedrock を通じて Claude 3.7 Sonnet を呼び出すカスタム MCP クライアントを作成しました。

カスタム MCP クライアントの開発は MCP と Amazon Bedrock について理解を深めるための良い練習になりましたが、実際には私たちの MCP サーバーは MCP プロトコルに対応するどのクライアントとも連携できます。今回は、これまで作成したカスタム MCP サーバーを Amazon Q Developer CLI と連携させる方法をご紹介します。

Amazon Q Developer

まだ Amazon Q Developer をお試しでない方は、ぜひインストールして使ってみることをお勧めします。優れた生成 AI を搭載したコーディング支援ツールとして、お気に入りの IDE と連携し、開発作業を強力にサポートします。また、q chat コマンドで起動できるコマンドラインベースのアシスタント、Amazon Q Developer CLI も含まれています。執筆時点ではちょうど、この Amazon Q Developer CLI がカスタムMCPサーバーに対応するようになりました。この新機能の詳細は発表ブログをご覧いただくとして、ここでは Amazon IVS 用MCPサーバーを実際に追加して試してみましょう!

Amazon Q Developer CLI にカスタム MCP サーバーを追加する

まず、Amazon Qをインストールし、AWS Builder ID で認証を行います。既にインストール済みの場合は、バージョンが 1.9.0 以上であることをご確認ください。

Amazon Q Release Notes

次に、~/.aws/amazonq 配下にある mcp.json というファイルで MCP サーバーを定義しましょう。このファイルに、Amazon Q が MCP サーバーと連携できるように、必要な情報を記述しなければなりません。

{
  "mcpServers": {
    "amazon-ivs-mcp-server": {
      "command": "node",
      "args": ["/projects/demos/ivs-mcp/amazon-ivs-mcp-server-demo/index.js"],
      "env": {
      }
    }
  }
}

mcpServer オブジェクトの中に、amazon-ivs-mcp-server というキーでオブジェクトを定義します。このキー名自体は好きに書いてもいいのですが、追加するサーバーの概要が伝わるものにすると良いでしょう。このキーに対してバリューとなるオブジェクトでは、実行コマンド (node) と、MCP サーバーに渡すを引数 (args) 配列を指定します。必要に応じて、env オブジェクトでは環境変数を定義することもできます。私の場合は、環境変数をセッションで設定しているので、このファイルでの明示的な定義は不要です。

最後に、q chat コマンドで Amazon Q Developer CLI を起動しましょう。このブログシリーズで作成した Amazon IVS MCP サーバーが正しく設定されていれば、起動時に利用可能なツール一覧に表示されます。

$ q chat
To learn more about MCP safety, see https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/command-line-mcp-security.html
⚠ amazon_ivs_mcp_server has the following warning:
The following tool names are changed:
 - amazon_ivs_mcp_server___get-logging-configuration -> amazon_ivs_mcp_server___getloggingconfiguration
 - amazon_ivs_mcp_server___get-playback-restriction-policy -> amazon_ivs_mcp_server___getplaybackrestrictionpolicy
...more warnings
✓ 1 of 1 mcp servers initialized

⚠️の警告は気にしないでください。これは、Amazon Q がツール名を命名規則に合わせて変更したことを通知しているだけです。重要なのは「✓ 1 of 1 mcp servers initialized」という部分です。MCP サーバーとAmazon Q Developer CLI の連携に成功しました!

ツールの管理

ツールを管理するためのコマンドがいくつか用意されています。利用可能なコマンドの一覧は /help コマンドで確認できます。以下はツール関連のコマンド一覧です:

/tools        View and manage tools and permissions
  help        Show an explanation for the trust command
  trust       Trust a specific tool or tools for the session
  untrust     Revert a tool or tools to per-request confirmation
  trustall    Trust all tools (equivalent to deprecated /acceptall)
  reset       Reset all tools to default permission levels

ツールが「trust (信頼)」されていない場合、Amazon Q Developer CLI がそのツールを使用する必要があると判断したときに、「信頼」するかどうかの確認が表示されます。

Amazon Q Developer CLI から Amazon IVS MCP サーバーを利用する

これで、Amazon IVS があるアカウントについて Amazon Q に質問できるようになりました。例えば:

tell me about the last streaming session on demo-stage
(demo-stageでの最後のストリーミングセッションについて教えて)

と聞くと、次のような応答が返ってきます:

I'll help you find information about the last streaming session on "demo-stage". To do this, I need to first check if this stage exists and then retrieve
its session information.

Let me first list the available IVS Real-Time stages to find the one named "demo-stage":