ソフトウェア開発の状況は常に進化しており、開発者はワークフローを効率化するだけでなく、能力を向上させるツールを求めています。 このようなダイナミックな環境において、Amazon Web Services (AWS) は、Amazon Q Developer ツールの大幅な機能強化として、コマンドラインインターフェイス (CLI) での Model Context Protocol (MCP) のサポート を導入しました。 この統合により、開発者は外部データソースを Amazon Q Developer CLI に接続し、コンテキストをより意識したインテリジェントな応答を実現できます。 MCP ツールとプロンプトを Q Developer CLI にシームレスに統合することで、開発者は stdio
をサポートする事前構築済みの統合と MCP サーバーの広大なエコシステムにアクセスできます。 この豊富なコンテキストにより、Q Developer はより正確なコードを生成し、複雑なデータ構造を理解し、関連するユニットテストを作成し、包括的なデータベースドキュメントを作成し、正確なクエリを実行できます。カスタム統合コードを開発する負担はありません。 MCP ツールとプロンプトで Q Developer を拡張することにより、開発者は開発タスクを加速し、全体的な開発者エクスペリエンスを大幅に向上させることができます。 AWS は、Anthropic が提唱する Model Context Protocol (MCP) など、エージェント向けのオープンソースプロトコルのサポートに取り組んでいます。 この取り組みは、Amazon Q Developer IDE プラグイン内の機能の継続的な拡張に反映されています。
Model Context Protocol (MCP) の概要
ソフトウェア開発の世界では、ワークフローを効率化し、新たな可能性を切り開くツールや技術が常に求められています。Amazon Q Developerのコマンドラインインターフェース(CLI)にModel Context Protocol(MCP)のサポートが追加されたことは、非常に期待できる開発です。MCPは、アプリケーションと大規模言語モデル(LLM)との連携をシームレスにするオープンなプロトコルであり、コンテキストの共有、多様なデータソースへのアクセス、強力なAI駆動機能の実現のための共通フレームワークを提供します。MCPは、アプリケーションとLLMの間の架け橋として機能し、効果的なコミュニケーションと協調を可能にします。アプリケーションはLLMに、タスクを正確かつ効率的に実行するために必要なコンテキストを提供し、LLMはさまざまなソースからのデータにアクセスして利用することができます。
MCPは、すでにツールを利用する機能を備えているQ Developerの既存の機能を基盤としています。以前は、Q DeveloperはCLIコマンドの実行やAWSリソースの説明などの機能を提供していました。MCPツールとプロンプトの統合により、Q Developer CLIは追加のツールを取り込むことができ、その機能をさらに拡張できます。たとえば、Q Developerは以前にAWSリソースを記述できましたが、包括的なアプリケーションを構築するには、データベーススキーマとメッセージ形式を記述する機能が不可欠です。MCPを構成することにより、開発者はこの追加のコンテキストをQ Developerに提供し、タスクをより効果的に実行できるようにすることができます。
以下のセクションでは、現在開発中のシンプルな学習管理システム(LMS)のデータベーススキーマをQ Developerに提供するために、MCPサーバーを構成する方法について説明します。Q DeveloperはSQLクエリの作成に優れていますが、データベーススキーマに関する固有の知識はありません。テーブル構造と関係はデータベース自体に保存されており、プロジェクトのソースコード内で直接アクセスすることはできません。この制限に対処するために、データベーススキーマを照会できるMCPサーバーを使用します。具体的には、公式のPostgreSQLリファレンス実装を利用して、Amazon Relational Database Service(RDS)インスタンスに接続します。
Model Context Protocol導入前の状況
MCPのサポート導入前は、Q Developer CLIは、bashコマンドの実行、ファイルやファイルシステムとの対話、AWSサービスへの呼び出しなど、限られたネイティブツールセットを提供していました。しかし、データベースのクエリに関しては、CLIの機能は制限されていました。
たとえば、MCPサーバーを構成する前に、Q Developerに「学生と各学生が履修している単位数を一覧表示するクエリを作成してください」というリクエストが送信されました。このシナリオでは、Q DeveloperはLMSのデータベーススキーマに関する特定の知識がないため、一般的なSQLクエリしか提供できませんでした。
この一般的なクエリは出発点として機能しますが、データベーススキーマにアクセスできれば、Q Developerがはるかにカスタマイズされた正確な結果を提供できることは明らかです。
Model Context Protocolの設定:ステップバイステップガイド
Q Developer CLIへのMCPサポートの導入により、MCPサーバーの構成が簡素化されました。MCPサーバーはmcp.json
という名前のファイル内で構成されます。この構成ファイルは、ホームディレクトリ(例:~/.aws/amazonq/mcp.json
)に保存して、マシンのすべてのプロジェクトに構成を適用するか、ワークスペースのルート(例:.amazonq/mcp.json
)に保存して、プロジェクトメンバーが構成を共有できるようにすることができます。以下は、PostgreSQL MCPサーバーの構成例です。