Amazon Q Developer CLIとMCPを連携してみよう

technologies

(From What is Model Context Protocol (MCP)? How it simplifies AI integrations compared to APIs

目次

  1. はじめに
  2. 本記事の対象読者
  3. 前提条件
  4. Amazon Q Developer CLIとMCPとの連携方法
    1. Amazon Q DeveloperとAWS Documentation MCP Serverを連携してみる
  5. MCPを構築しAmazon Q Developer CLIと連携してみた
    1. MCPを構築する
    2. Amazon Q Developer CLIのMCP設定ファイルにMCPを追加する
    3. 動作確認
  6. まとめ

1. はじめに

こんにちは!ベンジャミンの松延(まつのぶ)です!
先日、Amazon Q Developer CLIがMCPをサポートしたというアップデートがありました。
MCP(Model Context Protocol)は、大規模言語モデル(LLM)アプリケーションが様々なデータソースやツールと接続できるようにする標準化されたプロトコルとして登場しました。
Amazon Q Developer CLIでMCPの使用が可能になったことにより、Amazon Q Developer CLIにさまざまな拡張機能を持たせることが可能になったと考えています。
本記事ではAmazon Q Developer CLIとMCPとの連携について、もう少し深掘りしていきます。


2. 本記事の対象読者

「Amazon Q Developer CLIに関する基本操作はできるがMCPとの連携方法を知りたい/実践してみたい方」を対象読者としています。
そのため、Amazon Q Developer CLIやMCPの概要については本記事では割愛させていただきます。


3. 前提条件

本記事では、Mac利用者向けに解説しています。Windows利用者向けではないため、ハンズオンを実施する際は必要に応じてコマンドを置き換えてください。
ローカル端末にAmazon Q Developer CLI(バージョンは1.9.1以上)がセットアップされていることが前提となります。
Amazon Q Developer CLIのセットアップはOS等により異なるため、AWS公式ドキュメントを参考にしてください。

バージョンアップする際は、AWS公式ドキュメントを参考に以下コマンドを実行してください。

q update
q --version

4. Amazon Q Developer CLIとMCPとの連携方法

Amazon Q Developer CLIでも他MCPクライアントと同様に、MCPサーバ用の設定ファイルを使用して、どのMCPサーバを使用するかを設定する必要があります。
主に設定ファイルは以下2種類になります。

項目説明
~/.aws/amazonq/mcp.jsonローカル端末上の全てのプロジェクトにMCPが適用される
ワークスペースのルート上で
.amazonq/mcp.jsonファイルを配置
対象のワークスペース内でMCPが適用される

ワークスペースのルート上に.amazonq/mcp.jsonを配置しGitリポジトリ上で管理することが可能になります。
プロジェクトごとにMCPサーバの設定をメンバ間で統一できることや設定ファイルのバージョン管理も可能になるのは便利ですね。
本記事では検証用ワークスペースを作成し、awslabsが提供しているAWS Documentation MCP Serverを使用してみましょう。

1. Amazon Q Developer CLIとAWS Documentation MCP Serverを連携してみる

ハンズオンとして、AWSの最新ドキュメントを取得してくれるAWS Documentation MCP Serverと連携してみましょう。
Amazon Q Developer CLIは内部でClaude 3.7 Sonnetを使用していますが、Anthropic公式によると2025/05/13時点でClaude 3.7 Sonnetは2024年11月までのデータまで学習されています。そのため、最新ドキュメントを取得するような指示をしてもハルシネーションが発生する可能性があります。
そこで、AWS Documentation MCP Serverを使用することでAmazon Q Developer CLIから最新ドキュメントを取得するようになるためチャット上での回答精度が高まります。

では、ハンズオンを始めましょう。
まずは、検証用ワークスペースを作成して、MCP設定ファイルを作成します。

mkdir -p ~/Desktop/q-cli/.amazonq
cd ~/Desktop/q-cli
touch .amazonq/mcp.json

MCP設定ファイル(.amazonq/mcp.json)を開き、以下をコピー&ペーストして保存してください。

{
  "mcpServers": {
    "awslabs.aws-documentation-mcp-server": {
      "command": "uvx",
      "args": [
        "awslabs.aws-documentation-mcp-server@latest"
      ],
      "env": {
        "FASTMCP_LOG_LEVEL": "ERROR"
      },
      "disabled": false,
      "autoApprove": [
        "read_documentation"
      ]
    }
  }
}

以下コマンドを実行して、Amazon Q Developer CLIを起動してください。

q chat
To learn more about MCP safety, see https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/command-line-mcp-security.html
✓ awslabsaws_documentation_mcp_server loaded in 5.12 s
✓ 1 of 1 mcp servers initialized

Welcome to 

 █████╗ ███╗   ███╗ █████╗ ███████╗ ██████╗ ███╗   ██╗     ██████╗ 
██╔══██╗████╗ ████║██╔══██╗╚══███╔╝██╔═══██╗████╗  ██║    ██╔═══██╗
███████║██╔████╔██║███████║  ███╔╝ ██║   ██║██╔██╗ ██║    ██║   ██║
██╔══██║██║╚██╔╝██║██╔══██║ ███╔╝  ██║   ██║██║╚██╗██║    ██║▄▄ ██║
██║  ██║██║ ╚═╝ ██║██║  ██║███████╗╚██████╔╝██║ ╚████║    ╚██████╔╝
╚═╝  ╚═╝╚═╝     ╚═╝╚═╝  ╚═╝╚══════╝ ╚═════╝ ╚═╝  ╚═══╝     ╚══▀▀═╝ 
                                                        


╭─────────── Did you know? ───────────────╮
│                                                                 │
│      You can execute bash commands by typing ! followed by      │
│                           the command                           │
│                                                                 │
╰──────────────────────────────────╯


/help all commands  •  ctrl + j new lines  •  ctrl + k fuzzy search
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
> 

以下のようにAWS Documentation MCP Serverと連携が成功しています。

To learn more about MCP safety, see https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/command-line-mcp-security.html
✓ awslabsaws_documentation_mcp_server loaded in 5.12 s
✓ 1 of 1 mcp servers initialized

たったこれだけでAmazon Q Developer CLIとMCPを連携することが可能になります!
非常にシンプルですね。

設定済みのtool一覧を表示するには以下チャットコマンドを実行します。tool一覧に設定済みMCPも含まれています。
(その他のチャットコマンドについては、AWS公式ドキュメントに記載されています)

> /tools

Tool                                                            Permission
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
awslabsaws_documentation_mcp_server (MCP):
- awslabsaws_documentation_mcp_server___read_documentation      * not trusted
- awslabsaws_documentation_mcp_server___recommend               * not trusted
- awslabsaws_documentation_mcp_server___search_documentation    * not trusted

Built-in:
- report_issue                                                  * trusted
- fs_write                                                      * not trusted
- use_aws                                                       * trust read-only commands
- execute_bash                                                  * trust read-only commands
- fs_read                                                       * trusted


Trusted tools can be run without confirmation

* Default settings

実行結果からawslabsaws_documentation_mcp_serverが設定されていることがわかります。
また、Amazon Q Developer CLIでは、fs_writeやfs_read、execute_bashなどがビルトインされています。
そのため、ローカル端末上のファイルやフォルダの読み込み・作成、コマンド実行なども可能になっています。

それぞれのツールには権限(Permission)が割り当てられています。
ツールのアクセス許可に関する詳細はAWS公式ドキュメントに記載されています。

では、実際にこのMCPを使用してAWS最新ドキュメントを参照させてみましょう。
Amazon Q Developer CLIは日本語も対応しています。
以下は、「Amazon Q Developer for GitHub」に関する解説をしてもらうためのチャットです。

> AWS公式の最新ドキュメントを参照して「Amazon Q Developer for GitHub」についてわかりやすく解説してください。

すると、AWS Documentation MCP Serverを使用して公式ドキュメントを検索しようとしています。

AWS公式の最新ドキュメントを参照して、Amazon Q Developer for GitHubについて解説します。まず関連ドキュメントを検索しましょう。

🛠️  Using tool: search_documentation from mcp server awslabsaws_documentation_mcp_server
 ⋮ 
 ● Running search_documentation with the param:
 ⋮  {
 ⋮    "arguments": {
 ⋮      "limit": 5,
 ⋮      "search_phrase": "Amazon Q Developer for GitHub"
 ⋮    },
 ⋮    "name": "search_documentation"
 ⋮  }
Allow this action? Use 't' to trust (always allow) this tool for the session. [y/n/t]:

ここで、ユーザに選択を求められています。今回はAmazon Qを信頼(trustモード)して実行してみます。

> t

ドキュメントの検索に成功しました。ドキュメントの詳細を読むため再度選択を求められていますので、今回もAmazon Qを信頼します。

 ● Completed in 3.126s

最も関連性の高いドキュメントを詳しく読んでみましょう。

🛠️  Using tool: read_documentation from mcp server awslabsaws_documentation_mcp_server
 ⋮ 
 ● Running read_documentation with the param:
 ⋮  {
 ⋮    "arguments": {
 ⋮      "max_length": 10000,
 ⋮      "url": "https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/amazon-q-for-github.html"
 ⋮    },
 ⋮    "name": "read_documentation"
 ⋮  }
Allow this action? Use 't' to trust (always allow) this tool for the session. [y/n/t]:

> t

すると、Amazon Qがドキュメントを読み込んでくれます。

🛠️  Using tool: read_documentation (trusted) from mcp server awslabsaws_documentation_mcp_server
 ⋮ 
 ● Running read_documentation with the param:
 ⋮  {
 ⋮    "arguments": {
 ⋮      "max_length": 10000,
 ⋮      "start_index": 10000,
 ⋮      "url": "https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/amazon-q-for-github.html"
 ⋮    },
 ⋮    "name": "read_documentation"
 ⋮  }
 ⋮ 
 ● Completed in 0.575s

以下のようにMarkdown形式ファイル(AmazonQ.md)を出力してくれるそうなので、今回はyes(y)とします。

🛠️  Using tool: fs_write
 ⋮ 
 ● Path: /Users/matsunobu/Desktop/q-cli/AmazonQ.md

+     1: # Amazon Q Developer for GitHub
+     2: 
+     3: ## 概要
+     4: 
+     5: Amazon Q Developer for GitHubは、ソフトウェア開発ワークフローを強化するAWSのAIアシスタントサービスです。GitHubリポジトリと連携し、特殊な開発エージェントを通じて、新機能の実装、コードレビュー、脆弱性対応、レガシーJavaアプリケーションのモダナイゼーションなどを自動化します。
+     6: 
+     7: **注意**: 現在プレビューリリース段階であり、変更される可能性があります。
+     8: 
+     9: ## 主な機能
+    10: 
+    11: Amazon Q Developer for GitHubは以下の3つの主要なエージェントを提供しています:
+    12: 
+    13: ### 1. Amazon Q 開発エージェント
+    14: - 新機能の実装やバグ修正を自動化
+    15: - GitHubイシューに「Amazon Q development agent」ラベルを追加するだけで起動
+    16: - コードを自動生成し、プルリクエストを作成
+    17: - フィードバックに基づいて解決策を改善
+    18: 
+    19: ### 2. Amazon Q コードレビューエージェント
+    20: - 新しいプルリクエストを自動的にレビュー
+    21: - コード品質、潜在的な問題、セキュリティ上の懸念についてフィードバックを提供
+    22: - 特定された問題に対する修正を生成
+    23: - プルリクエストへのコミットが可能
+    24: 
+    25: ### 3. Amazon Q 変換エージェント
+    26: - Javaコードをバージョンアップグレードするためのツール
+    27: - Java 8または11からJava 17へのコード変換を実行
+    28: - 変更内容をプルリクエストとして提案
+    29: 
+    30: ## 導入方法
+    31: 
+    32: 1. **インストールと認証**:
+    33:    - GitHubマーケットプレイスから[Amazon Q Developer アプリ](https://github.com/apps/amazon-q-developer)をインストール
+    34:    - 組織のリポジトリへのアクセスを許可(全リポジトリまたは選択したリポジトリ)
+    35:    - AWS アカウントは初期設定には不要
+    36: 
+    37: 2. **使用開始**:
+    38:    - 機能開発: GitHubイシューに「Amazon Q development agent」ラベルを追加
+    39:    - コード変換: GitHubイシューに「Amazon Q transform agent」ラベルを追加
+    40:    - コードレビュー: 新しいプルリクエストを作成すると自動的に実行
+    41: 
+    42: 3. **ブラウザ拡張機能**:
+    43:    - Chrome、Firefox、Microsoft Edgeで利用可能
+    44:    - GitHubイシューにラベルを簡単に追加できる機能を提供
+    45: 
+    46: ## 使用制限と拡張
+    47: 
+    48: - 無料利用枠: 機能開発とコード変換は月間利用回数に制限あり、コードレビューは月間行数に制限あり
+    49: - AWS アカウントでアプリインストールを登録することで、無料利用枠を拡大可能
+    50: - [Amazon Q Developer コンソール](https://us-east-1.console.aws.amazon.com/amazonq/developer/home#/gitlab)で設定可能
+    51: 
+    52: ## 注意事項
+    53: 
+    54: - データ処理は米国内で行われます
+    55: - GitHubアプリのインストールと認証には、GitHubの組織要件を満たす必要があります
+    56: - コード変換機能を使用するには、GitHubリポジトリでGitHub Actionsが有効になっている必要があります
+    57: - ラベルが自動作成されない場合は、手動で「Amazon Q development agent」と「Amazon Q transform agent」ラベルを作成する必要があります
+    58: 
+    59: ## 詳細情報
+    60: 
+    61: 詳細については、[Amazon Q Developer ドキュメント](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/amazon-q-for-github.html)を参照してください。

Allow this action? Use 't' to trust (always allow) this tool for the session. [y/n/t]:

> y

実際にAmazonQ.mdが作成されているか確認しましょう。
Amazon Q Developer CLIのセッションを閉じずにシェルコマンドを実行することが可能です。
具体的には、以下のように「!」をシェルコマンドの先頭に付与することでチャット上でシェルコマンドを実行できます。

> !ls

AmazonQ.md

実際にファイル出力までされています。
このようにAmazon Q Developer CLIとMCPを連携することで、機能拡張ができるようになります。
ここまでクリアできた方はすでにAmazon Q Developer CLIとMCPの基本的な連携方法について押さえたことになります。

では、Amazon Q Developer CLIのセッションを終了しましょう。以下チャットコマンドを実行してください。

> /quit

補足となりますが、2025/05/13時点では以下AWS MCP Serversが提供されています。
MCP設定ファイルには複数のMCPを登録することが可能です。設定ファイルにMCPを追加した後はq chatコマンドを実行することで、MCPが適用されます。
興味のあるMCPがあれば、ぜひ追加してみてください。

MCPサーバ名概要
Core MCP Server他のMCPサーバを管理するMCP
AWS Documentation MCP ServerAWSドキュメントとベストプラクティスへのアクセスを提供するMCP
AWS CDK MCP ServerAWS Cloud Development Kit (CDK) のベストプラクティス、Infrastructure as Code(IaC)パターン、およびCDK Nagとのセキュリティコンプライアンスを提供するMCP
Amazon Nova Canvas MCP ServerAmazon Nova Canvasを使用して画像を生成するMCP
Amazon Bedrock Knowledge Base Retrieval MCP ServerAmazon Bedrock Knowledge Basesから情報を検索するMCP
Cost Analysis MCP ServerAWSサービスのコストを分析するMCP
AWS Lambda MCP ServerAWS Lambda関数をMCPツールとして実行するMCP
AWS Diagram MCP ServerPythonのdiagramsパッケージDSLを使用して、構成図等を作成するMCP
AWS Terraform MCP ServerTerraformのベストプラクティス、IaCパターン、およびCheckovとのセキュリティコンプライアンスを提供するMCP

MCP設定ファイルに複数MCPを追加する際の例は以下になります(AWS Terraform MCP Serverを追加)。

{
  "mcpServers": {
    "awslabs.aws-documentation-mcp-server": {
      "command": "uvx",
      "args": [
        "awslabs.aws-documentation-mcp-server@latest"
      ],
      "env": {
        "FASTMCP_LOG_LEVEL": "ERROR"
      },
      "disabled": false,
      "autoApprove": [
        "read_documentation"
      ]
    },
    "awslabs.terraform-mcp-server": {
      "command": "uvx",
      "args": ["awslabs.terraform-mcp-server@latest"],
      "env": {
        "FASTMCP_LOG_LEVEL": "ERROR"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

5. MCPを構築しAmazon Q Developer CLIと連携してみた

Amazon Q Developer CLIとMCPとの連携方法の基本を押さえたところで、これからもう少し発展した内容をお届けできればと思います。
MCP公式によると、MCPは独自で構築することが可能となっています。PythonやTypeScriptなどがサポートされています。
構築したMCPはAmazon Q Developer CLIのMCP設定に追加することで独自機能を持たせることが可能になります!
MCP公式クイックスタートの内容に沿って、天気情報を取得するMCPを構築していきましょう。
天気情報を取得するMCPはMCP公式のソースコードを参考にしています。
(Python 3.10以上、Python MCP SDK 1.2.0以上であることが前提条件)

1. MCPを構築する

uvコマンドを使用するため、以下コマンドを実行してuvをインストールしてください。

curl -LsSf https://astral.sh/uv/install.sh | sh

作業用ディレクトリを作成します。

mkdir -p ~/Desktop/mcp/.amazonq
cd ~/Desktop/mcp

プロジェクトを作成します。

uv init weather --python=3.13
cd weather

仮想環境を起動して有効化します。

uv venv
source .venv/bin/activate

MCPを使用するための依存関係をインストールします。

uv add "mcp[cli]" httpx

MCPサーバ用のファイルを作成します。

touch weather.py

ここまでのフォルダ構成は以下のようになっているかと思います。

weather/
├── .git
├── .gitignore
├── .python-version
├── .venv
├── README.md
├── main.py
├── uv.lock
├── pyproject.toml
└── weather.py

weather.pyを開いて以下をコピー&ペーストして保存してください。

from typing import Any
import httpx
from mcp.server.fastmcp import FastMCP

# Initialize FastMCP server
mcp = FastMCP("weather")

# Constants
NWS_API_BASE = "https://api.weather.gov"
USER_AGENT = "weather-app/1.0"

async def make_nws_request(url: str) -> dict[str, Any] | None:
    """Make a request to the NWS API with proper error handling."""
    headers = {
        "User-Agent": USER_AGENT,
        "Accept": "application/geo+json"
    }
    async with httpx.AsyncClient() as client:
        try:
            response = await client.get(url, headers=headers, timeout=30.0)
            response.raise_for_status()
            return response.json()
        except Exception:
            return None

def format_alert(feature: dict) -> str:
    """Format an alert feature into a readable string."""
    props = feature["properties"]
    return f"""
Event: {props.get('event', 'Unknown')}
Area: {props.get('areaDesc', 'Unknown')}
Severity: {props.get('severity', 'Unknown')}
Description: {props.get('description', 'No description available')}
Instructions: {props.get('instruction', 'No specific instructions provided')}
"""

@mcp.tool()
async def get_alerts(state: str) -> str:
    """Get weather alerts for a US state.

    Args:
        state: Two-letter US state code (e.g. CA, NY)
    """
    url = f"{NWS_API_BASE}/alerts/active/area/{state}"
    data = await make_nws_request(url)

    if not data or "features" not in data:
        return "Unable to fetch alerts or no alerts found."

    if not data["features"]:
        return "No active alerts for this state."

    alerts = [format_alert(feature) for feature in data["features"]]
    return "\n---\n".join(alerts)

@mcp.tool()
async def get_forecast(latitude: float, longitude: float) -> str:
    """Get weather forecast for a location.

    Args:
        latitude: Latitude of the location
        longitude: Longitude of the location
    """
    # First get the forecast grid endpoint
    points_url = f"{NWS_API_BASE}/points/{latitude},{longitude}"
    points_data = await make_nws_request(points_url)

    if not points_data:
        return "Unable to fetch forecast data for this location."

    # Get the forecast URL from the points response
    forecast_url = points_data["properties"]["forecast"]
    forecast_data = await make_nws_request(forecast_url)

    if not forecast_data:
        return "Unable to fetch detailed forecast."

    # Format the periods into a readable forecast
    periods = forecast_data["properties"]["periods"]
    forecasts = []
    for period in periods[:5]:  # Only show next 5 periods
        forecast = f"""
{period['name']}:
Temperature: {period['temperature']}°{period['temperatureUnit']}
Wind: {period['windSpeed']} {period['windDirection']}
Forecast: {period['detailedForecast']}
"""
        forecasts.append(forecast)

    return "\n---\n".join(forecasts)

if __name__ == "__main__":
    # Initialize and run the server
    mcp.run(transport='stdio')

2. Amazon Q Developer CLIのMCP設定ファイルにMCPを追加する

MCP設定ファイルを作成します。

mkdir -p ~/Desktop/mcp/.amazonq
touch .amazonq/mcp.json

MCP設定ファイルを開き、以下をコピー&ペーストしてください。
–directoryで指定するパス(赤文字部分)はweatherディレクトリまでの絶対パスで指定してください。

{
    "mcpServers": {
        "weather": {
            "command": "uv",
            "args": [
                "--directory",
                "/Users/matsunobu/Desktop/mcp/weather",
                "run",
                "weather.py"
            ]
        }
    }
}

これでMCPの構築は完了です。

3. 動作確認

早速Amazon Q Developer CLIを起動してみましょう。

q chat
To learn more about MCP safety, see https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/command-line-mcp-security.html
✓ weather loaded in 0.49 s
✓ 1 of 1 mcp servers initialized

Welcome to 

 █████╗ ███╗   ███╗ █████╗ ███████╗ ██████╗ ███╗   ██╗     ██████╗ 
██╔══██╗████╗ ████║██╔══██╗╚══███╔╝██╔═══██╗████╗  ██║    ██╔═══██╗
███████║██╔████╔██║███████║  ███╔╝ ██║   ██║██╔██╗ ██║    ██║   ██║
██╔══██║██║╚██╔╝██║██╔══██║ ███╔╝  ██║   ██║██║╚██╗██║    ██║▄▄ ██║
██║  ██║██║ ╚═╝ ██║██║  ██║███████╗╚██████╔╝██║ ╚████║    ╚██████╔╝
╚═╝  ╚═╝╚═╝     ╚═╝╚═╝  ╚═╝╚══════╝ ╚═════╝ ╚═╝  ╚═══╝     ╚══▀▀═╝ 
                                                        


╭───────────── Did you know? ─────────────╮
│                                                                 │
│       You can enable custom tools with MCP servers. Learn       │
│                         more with /help                         │
│                                                                 │
╰──────────────────────────────────╯


/help all commands  •  ctrl + j new lines  •  ctrl + k fuzzy search
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
> 

以下のような表示になっている場合は、MCPの起動に成功しています。

To learn more about MCP safety, see https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/command-line-mcp-security.html
✓ weather loaded in 0.56 s
✓ 1 of 1 mcp servers initialized

では、weather MCPを使用して、アメリカ(ラスベガス)の天気を調べてみます。

> weather mcpを使用してアメリカ(ラスベガス)の今日の天気を教えてください。

以下のようにweather MCPを使用して天気情報を取得しようとしています。
今回はyes(y)とします。

ラスベガスの天気予報を確認するために、まず天気情報を取得する必要があります。ラスベガスの緯度と経度を使って天気予報を取得します。

🛠️  Using tool: get_forecast from mcp server weather
 ⋮ 
 ● Running get_forecast with the param:
 ⋮  {
 ⋮    "arguments": {
 ⋮      "latitude": 36.1699,
 ⋮      "longitude": -115.1398
 ⋮    },
 ⋮    "name": "get_forecast"
 ⋮  }
Allow this action? Use 't' to trust (always allow) this tool for the session. [y/n/t]:

> y

すると、ラスベガスの天気について回答が来ました!

 ● Completed in 1.542s

# ラスベガスの天気予報

ラスベガスの今日(木曜日)の天気予報は以下の通りです:

• **最高気温**: 89°F(約32°C)
• **風**: 東北東の風 5 mph(約8 km/h)
• **天気**: 晴れ(Sunny)

## 詳細な予報

### 今夜(木曜日の夜)
• 気温: 69°F(約21°C)
• 風: 西風 5 mph(約8 km/h)
• 天気: ほぼ晴れ(Mostly clear)

### 明日(金曜日)
• 最高気温: 95°F(約35°C)
• 風: 東北東の風 3〜7 mph(約5〜11 km/h)
• 天気: 晴れ(Sunny)

ラスベガスは今日も明日も晴れの良い天気が続く予報です。今日は快適な暑さですが、明日はさらに気温が上がる見込みです。

では、Amazon Q Developer CLIのセッションを終了しましょう。以下チャットコマンドを実行してください。

> /quit

今回はMCP公式のサンプルコードをもとに独自MCPを構築しました。
アイデア次第ですが、さまざまなMCPを実装しAmazon Q Developer CLIと連携することが可能です。

少し話が逸れますが、事前にMarkdownファイル(ORDER.md)に構築したいMCPに関する要件をまとめておき、チャット上で「ORDER.mdにMCPに関する要件をまとめています。内容を理解してMCPを構築してください。」と指示することで、Amazon Q Developer CLI上でMCPを構築させることができます。


6. まとめ

Amazon Q Developer CLIとMCPを連携することで、さまざまな機能拡張を持たせることが可能になりました。
今後は徐々にMCP通信方式に切り替わっていくような動きが出てきているようなので、キャッチアップはマストだと思います。みなさまの一助になれば幸いです!

Related posts