Amazon Q Developer CLI+Dockerで、MCP Serverを利用してみよう

記事タイトルとURLをコピーする

こんにちは。
アプリケーションサービス部、DevOps担当の兼安です。

今回はAmazon Q Developer CLI+Dockerで、MCP Serverを利用する方法をご紹介します。

本記事のターゲット

本記事はAmazon Q Developer CLIに少し慣れて、もう少し使いこなしたい方を対象としています。
Amazon Qの起動と基本的な使い方と、Dockerの基本的な使い方を理解していることを前提としており、これらの説明は簡略化しています。
ご了承ください。

Amazon Qの起動と基本的な使い方はこちらの記事をご覧ください。

blog.serverworks.co.jp

MCP Serverとは

MCPは、AI アシスタントが外部ツールと通信する方法を標準化するオープンプロトコルです。
AI アシスタントが外部ツールと連携するためのプロトコルです。
例えばAWSの公式ドキュメントを参照するためのMCP Serverを起動しておくと、AI アシスタントに質問する時にそのMCP Serverを経由して、AWSの公式ドキュメントを参照するようになり、より正確な回答を得ることができます。
より詳細な情報は、AWSの公式ドキュメントなどを参照するとよいでしょう。

docs.aws.amazon.com

今回はこのMCP ServerをAmazon Q Developer CLIで動かす方法を紹介します。

AWS MCP ServersとAmazon Q Developer CLIの設定

AWSは、公式のMCP Serverを提供しています。
利用用途ごとにいくつかのMCP Serverが用意されており、必要に応じて選択して利用することができます。
今回は、以下のMCP Serverを利用するとして、Amazon Q Developer CLIの設定を行います。

  • Core MCP Server
  • AWS Documentation MCP Server
  • AWS CloudFormation MCP Server
  • AWS CDK MCP Server

MCP ServerをAmazon Q Developer CLIで利用するためには、まずはMCP Serverの設定を行う必要があります。
Amazon Q Developer CLIにおいては、VS Codeで開くフォルダに.amazonq/mcp.jsonという設定ファイルを作成し、そこにMCP Serverの情報を記述します。

.
├── .amazonq
│   └── mcp.json # MCP Serverの設定ファイル
├── docs
├── src
以下は省略

例えば、Core MCP Serverを利用する場合、AWS MCP ServerのリポジトリにそのソースコードとREADMEが用意されていますので、そちらを参考にして設定を行います。

こんな感じです。

{
  "mcpServers": {
    "awslabs.core-mcp-server": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "--interactive",
        "--env",
        "FASTMCP_LOG_LEVEL=ERROR",
        "awslabs/core-mcp-server:latest"
      ],
      "env": {},
      "disabled": false,
      "autoApprove": []
    }
  }
}

4つ全部指定するとこうですね。
(awslabs.cfn-mcp-serverenv引数は私の環境では不要だったので削除しています。 )

{
  "mcpServers": {
    "awslabs.core-mcp-server": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "--interactive",
        "--env",
        "FASTMCP_LOG_LEVEL=ERROR",
        "awslabs/core-mcp-server:latest"
      ],
      "env": {},
      "disabled": false,
      "autoApprove": []
    },
    "awslabs.aws-documentation-mcp-server": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "--interactive",
        "--env",
        "FASTMCP_LOG_LEVEL=ERROR",
        "--env",
        "AWS_DOCUMENTATION_PARTITION=aws",
        "mcp/aws-documentation:latest"
      ],
      "env": {},
      "disabled": false,
      "autoApprove": []
    },
    "awslabs.cfn-mcp-server": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "--interactive",
        "awslabs/cfn-mcp-server:latest"
      ],
      "env": {},
      "disabled": false,
      "autoApprove": []
    },
    "awslabs.cdk-mcp-server": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "--interactive",
        "--env",
        "FASTMCP_LOG_LEVEL=ERROR",
        "awslabs/cdk-mcp-server:latest"
      ],
      "env": {},
      "disabled": false,
      "autoApprove": []
    }
  }
}

MCP ServerのDockerイメージのビルド

Core MCP ServerのREADMEを見ると、mcp.jsonの書き方が2種類紹介されています。
1つは、commanduvxを指定して、Dockerコンテナを起動する方法。
もう1つは、commanddockerを指定して、Dockerコンテナを起動する方法です。
巷のMCP Serverではnpxが指定されているものもありますが、個人的な印象では大体のMCP Serverはdockerで起動できると感じています。
故に、本記事でもdockerを指定してMCP Serverを起動してみます。

dockerを指定する場合、Core MCP ServerのREADMEのdockerを使った設定例の前にある部分に注目してください。

or docker after a successful docker build -t awslabs/core-mcp-server .:

これは、AWS MCP ServerのDockerイメージをビルドしておく必要があることを示しています。
mcp.jsonをよく見ると、argsの部分で、コンテナイメージ名を指定しています。
故に、このコンテナイメージ名と合致した名前のイメージを事前に用意しておく必要あるわけです。

Dockerイメージのビルド

では、AWS MCP ServerのDockerイメージをビルドしていきましょう。
任意の場所でAWS MCP Serverのソースコードをクローン。
クローンする場所は、MCP Serverを動かしたいフォルダとは全然違う場所でも問題ありません。

git clone https://github.com/awslabs/mcp.git

使用するMCP Serverのディレクトリに移動

# Cloneしたディレクトリに移動してから
cd src/core-mcp-server

Dockerイメージをビルド

docker build -t awslabs/core-mcp-server .

他の3つのMCP Serverも同様にビルドして終了です。
ビルドに失敗する場合、Dockerの最新化やDocker Buildxのインストールが必要な場合があります。

ビルドしたDockerイメージの確認

確認コマンドを実行して、ビルドしたDockerイメージが存在することを確認します。

docker images
REPOSITORY                            TAG       IMAGE ID       CREATED          SIZE
awslabs/cfn-mcp-server                latest    843c6c813368   44 minutes ago   1.79GB
awslabs/core-mcp-server               latest    0c7e56cf7350   54 minutes ago   1.79GB
awslabs/cdk-mcp-server                latest    adb604b5170b   57 minutes ago   1.77GB
mcp/aws-documentation                 latest    0f66baa9ea99   2 days ago       2.02GB

Amazon Q Developer CLIでMCP Serverを起動

コマンドでAmazon Q Developer CLIを起動します。

q /chat

Amazon Q Developer CLIが起動し、MCP Serverも自動的に起動することが確認できます。

q chat
✓ awslabscore_mcp_server loaded in 2.56 s
✓ awslabscfn_mcp_server loaded in 2.87 s
✓ awslabsaws_documentation_mcp_server loaded in 2.95 s
✓ awslabscdk_mcp_server loaded in 2.99 s


    ⢠⣶⣶⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣶⣿⣿⣿⣶⣦⡀⠀
 ⠀⠀⠀⣾⡿⢻⣿⡆⠀⠀⠀⢀⣄⡄⢀⣠⣤⣤⡀⢀⣠⣤⣤⡀⠀⠀⢀⣠⣤⣤⣤⣄⠀⠀⢀⣤⣤⣤⣤⣤⣤⡀⠀⠀⣀⣤⣤⣤⣀⠀⠀⠀⢠⣤⡀⣀⣤⣤⣄⡀⠀⠀⠀⠀⠀⠀⢠⣿⣿⠋⠀⠀⠀⠙⣿⣿⡆
 ⠀⠀⣼⣿⠇⠀⣿⣿⡄⠀⠀⢸⣿⣿⠛⠉⠻⣿⣿⠛⠉⠛⣿⣿⠀⠀⠘⠛⠉⠉⠻⣿⣧⠀⠈⠛⠛⠛⣻⣿⡿⠀⢀⣾⣿⠛⠉⠻⣿⣷⡀⠀⢸⣿⡟⠛⠉⢻⣿⣷⠀⠀⠀⠀⠀⠀⣼⣿⡏⠀⠀⠀⠀⠀⢸⣿⣿
 ⠀⢰⣿⣿⣤⣤⣼⣿⣷⠀⠀⢸⣿⣿⠀⠀⠀⣿⣿⠀⠀⠀⣿⣿⠀⠀⢀⣴⣶⣶⣶⣿⣿⠀⠀⠀⣠⣾⡿⠋⠀⠀⢸⣿⣿⠀⠀⠀⣿⣿⡇⠀⢸⣿⡇⠀⠀⢸⣿⣿⠀⠀⠀⠀⠀⠀⢹⣿⣇⠀⠀⠀⠀⠀⢸⣿⡿
 ⢀⣿⣿⠋⠉⠉⠉⢻⣿⣇⠀⢸⣿⣿⠀⠀⠀⣿⣿⠀⠀⠀⣿⣿⠀⠀⣿⣿⡀⠀⣠⣿⣿⠀⢀⣴⣿⣋⣀⣀⣀⡀⠘⣿⣿⣄⣀⣠⣿⣿⠃⠀⢸⣿⡇⠀⠀⢸⣿⣿⠀⠀⠀⠀⠀⠀⠈⢿⣿⣦⣀⣀⣀⣴⣿⡿⠃
 ⠚⠛⠋⠀⠀⠀⠀⠘⠛⠛⠀⠘⠛⠛⠀⠀⠀⠛⠛⠀⠀⠀⠛⠛⠀⠀⠙⠻⠿⠟⠋⠛⠛⠀⠘⠛⠛⠛⠛⠛⠛⠃⠀⠈⠛⠿⠿⠿⠛⠁⠀⠀⠘⠛⠃⠀⠀⠘⠛⠛⠀⠀⠀⠀⠀⠀⠀⠀⠙⠛⠿⢿⣿⣿⣋⠀⠀
 ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⠿⢿⡧

╭─────────────────────────────── Did you know? ────────────────────────────────╮
│                                                                              │
│      Set a default model by running q settings chat.defaultModel MODEL.      │
│                          Run /model to learn more.                           │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯

/help all commands  •  ctrl + j new lines  •  ctrl + s fuzzy search
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🤖 You are chatting with claude-4-sonnet

念の為、MCP Serverの一覧を確認してみましょう。
/mcpコマンドを実行すると、MCP Serverの一覧が表示されます。

> /mcp
awslabscdk_mcp_server
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
✓ awslabscdk_mcp_server loaded in 2.99 s

awslabscore_mcp_server
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
✓ awslabscore_mcp_server loaded in 2.56 s

awslabsaws_documentation_mcp_server
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
✓ awslabsaws_documentation_mcp_server loaded in 2.95 s

awslabscfn_mcp_server
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
✓ awslabscfn_mcp_server loaded in 2.87 s

>

これで、MCP Serverが起動していることが確認できました。
あとは、AI アシスタントに質問をして、チャットの中で質問をしていくといい感じでMCP Serverを活用してくれます。

今回は、以上です。

兼安 聡(執筆記事の一覧)

アプリケーションサービス部 DS3課所属
2025 Japan AWS Top Engineers (AI/ML Data Engineer)
2025 Japan AWS All Certifications Engineers
2025 AWS Community Builders
Certified ScrumMaster
PMP
広島在住です。今日も明日も修行中です。