Amazon Web Services ブログ

より豊かなコンテキストのための Model Context Protocol (MCP) による Amazon Q Developer CLI の拡張

本記事は 2025 年 4 月 29 日に公開された “Extend the Amazon Q Developer CLI with Model Context Protocol (MCP) for Richer Context” を翻訳したものです。

本日、Amazon Q Developer はコマンドラインインターフェイス(CLI)での Model Context Protocol (MCP) サポートを発表しました。開発者は MCP サポートを使用して外部データソースを Amazon Q Developer CLI に接続し、よりコンテキストを意識した応答を得ることができます。MCP ツールとプロンプトを Amazon Q Developer CLI に統合することで、事前構築された幅広い統合リストや、stdio をサポートするあらゆる MCP サーバーにアクセスできるようになります。この追加コンテキストにより、Amazon Q Developer は、独自の統合用のコードを開発する必要なく、より正確なコードを記述し、データ構造を理解し、適切なユニットテストを生成し、データベースドキュメントを作成し、正確なクエリを実行できるようになります。MCP ツールとプロンプトで Amazon Q Developer を拡張することで、開発者は開発タスクをより迅速に実行でき、開発者体験を効率化できます。AWS では、Anthropic による Model Context Protocol (MCP) のようなエージェント向けの人気のあるオープンソースプロトコルをサポートすることに取り組んでいます。今後数週間のうちに、Amazon Q Developer IDE プラグイン内でこの機能を拡張していく予定です。

はじめに

私は常に、自分の作業を効率化し、新しい可能性を引き出せるツールやテクノロジーを探しています。そのため、Amazon Q Developer コマンドラインインターフェイス(CLI)に Model Context Protocol (MCP) サポートが最近追加されたことをとても嬉しく思います。MCP は、アプリケーションが LLM とシームレスに統合する方法を標準化するオープンプロトコルであり、コンテキストを共有し、データソースにアクセスし、AI を活用した機能を実現する共通の方法を提供します。MCP についての詳細はこの記事で読むことができます。

Amazon Q Developer は以前からツールを実行することができました。私はこれまで、CLI コマンドの実行や AWS リソースの記述ができることについて紹介してきました。そして、Amazon Q Developer CLI が MCP ツールとプロンプトをサポートしたことで、さらにツールを追加できるようになりました。たとえば、これまではAWリソースを取得して確認することはできましたが、アプリケーションを開発するためには、データベーススキーマやメッセージのフォーマットなども確認する必要があります。ここで、MCP を設定してこの追加コンテキストを提供する方法を見てみましょう。

この投稿では、私が取り組んでいる単純な学習管理システム(Learning Management System : LMS)のデータベーススキーマを Amazon Q Developer に提供するための MCP サーバーを設定します。Amazon Q Developer は SQL を記述するのが得意ですが、私のデータベースのスキーマは知りません。テーブル構造やリレーションはデータベースに保存されており、プロジェクトのソースコードには含まれていません。そこで、データベーススキーマを照会できる MCP サーバーを使用することにしました。具体的には、公式の PostgreSQL リファレンス実装を使用して Amazon Relational Database Service (RDS) に接続します。それでは、始めましょう。

Model Context Protocol の登場前

MCP サポートが導入される以前の Amazon Q Developer CLI は、bash コマンドの実行、ファイルやファイルシステムとのやりとり、さらには AWS サービスへの呼び出しなど、ネイティブツール群を提供していました。しかし、データベースのクエリに関しては、CLI の機能は限られていました。

たとえば、MCP サーバーを設定する前に、Amazon Q Developer に「学生と各学生が取得している単位数を一覧表示するクエリを書いて」と頼みました。以下の画像にあるように、Amazon Q Developer は私の LMS のデータベーススキーマに関する具体的な知識がなかったため、一般的な SQL クエリしか生成できませんでした。

これは素晴らしいスタートですが、Amazon Q developer がデータベーススキーマを把握していれば、もっと多くのことができそうです。

Model Context Protocol の設定

Amazon Q Developer CLI の MCP サポートの開始により、MCP サーバーを簡単に設定できるようになりました。mcp.json というファイルに 1 つ以上の MCP サーバーを設定します。この設定をホームディレクトリ(例:~/.aws/amazonq/mcp.json)に保存すると、マシン上のすべてのプロジェクトに適用されます。あるいは、ワークスペースのルート(例:.amazonq/mcp.json)に設定を保存して、プロジェクトメンバー間で共有することもできます。以下は PostgreSQL の MCP サーバーの設定例です。

{
  "mcpServers": {
    "postgres": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-postgres",
        "postgresql://USERNAME:PASSWORD@HOST:5432/DBNAME"
      ]
    }
  }
}

MCP サーバーを設定したところで、Amazon Q Developer がどのように私の体験を向上させるかを見てみましょう。

Model Context Protocol の登場後

まず、新しい Amazon Q Developer セッションを開始すると、すぐにその良さが確認できます。既存のツールに加えて、Amazon Q Developer は以下の画像に示すように PostgreSQL にアクセスできるようになりました。これにより、追加で統合用のコードを書くことなく、データベースのスキーマを簡単に探索し、テーブルの構造を理解し、さらには複雑な SQL クエリを実行できます。

MCP サーバーをテストするために、Amazon Q Developer に「データベーステーブルを一覧表示して」と頼んでみましょう。以下の例で見られるように、Amazon Q Developer は私が PostgreSQL データベースについて尋ねていることを理解し、MCP サーバーを使用して私の 3 つのテーブル「students」「courses」「enrollment」をリストアップしました。

この投稿の前半で取り上げた例に戻ってみましょう。再び、Amazon Q Developer に「学生と各学生が取得している単位数を一覧表示するクエリを書いて」と頼むと、今度はもはや一般的なクエリを返すだけではありませんでした。代わりに、Amazon Q Developer はまず私のデータベース内の関連するテーブルについて記述し、適切な SQL クエリを生成し、それを実行して、期待する結果を提供してくれました。

もちろん、Amazon Q Developer はクエリを書くだけでなく、もっと多くのことができます。Amazon Q Developer は MCP サーバーを使用して、データベースにアクセスする Java コードを書いたり、データレイヤーのユニットテストを作成したり、データベースのドキュメントを作成したりなど、さらに多くのことができます。たとえば、Amazon Q Developer に「Mermaid 構文を使用してエンティティ関係(ER)図を作成して」と頼みました。Amazon Q Developer はデータベーススキーマの視覚的な表現を生成し、さまざまなエンティティ間の関係をより明確に理解するのに役立ちました。

MCP の Amazon Q Developer CLI への統合により、必要に応じて追加ツールを導入できるようになり、作業が大幅に効率化されました。

まとめ

Amazon Q Developer CLI に MCP サポートが追加されたことで、コンテキストの共有やデータソースへのアクセスを標準化された方法で行えるようになりました。この投稿では、Amazon Q Developer CLI の MCP 統合を使用して、PostgreSQL データベースへの接続をすばやく設定し、スキーマを探索し、追加の統合コードを書くことなく複雑な SQL クエリを生成する方法をご紹介しました。今後、皆さんが MCP を活用して開発作業をさらに強化する様子を見るのが楽しみです。是非、MCP の機能を試し、GitHub の AWS MCP サーバーリポジトリをチェックすることをオススメします。

翻訳はApp Dev Consultantの宇賀神が担当しました。