GitHub CopilotのエージェントモードがGAされたのでAmazon Nova Canvas MCP Serverを接続して画像生成をしてみた

GitHub CopilotのエージェントモードがGAされたのでAmazon Nova Canvas MCP Serverを接続して画像生成をしてみた

VSCode Insidersを別途インストールする必要はありません。
Clock Icon2025.04.07

こんにちは、なおにしです。

VSCodeでGitHub CopilotとAmazon Nova Canvas MCP Serverを使用して画像生成をする機会がありましたのでご紹介します。

はじめに

GitHub Copilotのエージェントモードはこれまでプレビュー版として提供されていたため、使用するにはVSCode Insidersを別途インストールする必要がありました。(参考

ですが、先日公開されたVSCodeバージョン1.99よりエージェントモードがGAとなり、通常版のVSCodeでも利用できるようになっています。

https://code.visualstudio.com/updates/v1_99

リリースノートには以下の記載もあり、MCPサーバを利用できるようなので標題の内容を実際にやってみました。

Extend agent mode with Model Context Protocol (MCP) server tools (more...).

なお、趣旨としては以下の記事(Cline版)に対するGitHub Copilot版ですので、併せてご参照ください。

https://dev.classmethod.jp/articles/amazon-nova-canvas-mcp-integrate-cline/

やってみた

事前準備

Amazon Nova Canvas MCP Serverのドキュメントに基づいて準備します。

https://awslabs.github.io/mcp/servers/nova-canvas-mcp-server/

まず、パッケージ管理ツールのuvをインストールします。

$ pipx install uv
$ uvx --version
uv-tool-uvx 0.6.12 (e4e03833f 2025-04-02)

(直近でAWSumeのように公式でHomebrewをサポートしないパターンに遭遇したため、なんとなくpipxを使用しました。uvについてはAstral社のInstallationページにインストール方法と明記されているので、どちらでも良いとは思います)

続いて、Amazon Nova Canvasを利用できる状態にします。
Amazon Nova Canvasは東京リージョンで利用可能となっていますので、せっかくなので東京リージョンを指定します。利用に際し、事前にモデルアクセスのリクエストが必要なので詳細は以下の記事をご参照ください。

https://dev.classmethod.jp/articles/amazon-nova-canvas-awsreinvent/

また、エージェントモードはVSCodeをバージョン1.99にアップデートしたタイミングで有効(使用可能)になっていましたが、以下のように選択できない場合はリリースノートにあるとおり有効化されているかご確認ください。

20250407_naonishi_copilot-agent-with-nova-canvas-image-generation_1.png

MCPサーバを設定する

以下のようにエージェントモードの設定ボタンからMCPサーバの追加を選択することができます。

20250407_naonishi_copilot-agent-with-nova-canvas-image-generation_2.jpg

追加するMCPサーバの種類を選択する必要がありますので、「コマンド(stdio)」を選択します。

20250407_naonishi_copilot-agent-with-nova-canvas-image-generation_3.jpg

先ほどインストールしたuvパッケージに含まれるuvxコマンドを使用するので、uvxと入力します。

20250407_naonishi_copilot-agent-with-nova-canvas-image-generation_4.png

20250407_naonishi_copilot-agent-with-nova-canvas-image-generation_5.png

サーバーIDの入力を求められますので、今回はドキュメントの設定を参考にしてawslabs.nova-canvas-mcp-serverとします。

20250407_naonishi_copilot-agent-with-nova-canvas-image-generation_6.png

ワークスペースを開いた状態であれば以下のように構成の保存場所を選択できるので、今回はワークスペースの設定とします。なお、ワークスペースを開いていない状態の場合は以下の選択画面は表示されず、ユーザー設定としてsettings.jsonに保存されるのでご注意ください。

20250407_naonishi_copilot-agent-with-nova-canvas-image-generation_7.png

ここまで設定するとmcp.jsonが作成されて開きます。

20250407_naonishi_copilot-agent-with-nova-canvas-image-generation_8.png

ドキュメントの設定を参考に、追加で以下のように設定しました。上記と比較した設定箇所はargsenvのみです。

{
  "servers": {
    "awslabs.nova-canvas-mcp-server": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "awslabs.nova-canvas-mcp-server@latest"
      ],
      "env": {
        "AWS_PROFILE": "naonishi-bedrock",
        "AWS_REGION": "ap-northeast-1",
        "FASTMCP_LOG_LEVEL": "ERROR"
      }
    }
  }
}

"type": "stdio"を含む各項目の説明についてはVSCodeのドキュメントをご参照ください。

https://code.visualstudio.com/docs/copilot/chat/mcp-servers

以下、stdio接続の場合における抜粋(機械翻訳)です。

フィールド 説明
type サーバー接続タイプ。 "stdio"
command サーバー実行可能ファイルを起動するコマンド。 "npx"、、、"node"``"python"``"docker"
args コマンドに渡される引数の配列。 ["server.py", "--port", "3000"]
env サーバーの環境変数。 {"API_KEY": "${input:api-key}"}
envFile .env追加の環境変数を読み込むパス。 "${workspaceFolder}/.env"

そもそも上記設定におけるstdioとは?に関しては以下の記事もご参照ください。

https://dev.classmethod.jp/articles/shuntaka-mcp-study/

設定を保存して起動を押下します。以下のように実行中状態になればMCPサーバを利用可能となります。

20250407_naonishi_copilot-agent-with-nova-canvas-image-generation_9.jpg

設定ボタンを押して使用可能なツールが選択できていることを確認します。

20250407_naonishi_copilot-agent-with-nova-canvas-image-generation_10.jpg

画像を生成する

「福岡の画像を生成してください。」と指示しました。generate_imageを実行する前に続行して良いか確認してくれるようです。また、トグルを開くとMCPサーバからの応答メッセージやパラメータを確認可能です。

20250407_naonishi_copilot-agent-with-nova-canvas-image-generation_11.png

続行すると福岡(...?)の画像を生成してくれました。

20250407_naonishi_copilot-agent-with-nova-canvas-image-generation_12.jpg

まとめ

標準のVSCode + GitHub CopilotでもMCPサーバを利用できることが確認できました。より簡単に画像生成を試すことができて面白いのですが、Amazon Nova Canvasの利用料金についてはご注意ください。

20250407_naonishi_copilot-agent-with-nova-canvas-image-generation_13.png

本記事がどなたかのお役に立てれば幸いです。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.