記事公開日
Diagram MCPを使ってAIに構成図を作らせてみた!

はじめに
こんにちは!DXソリューション営業本部の菊池です。
今回はAmazon Q DeveloperでDiagram MCPを使用して、自作アプリケーションの構成図をAIに生成させてみました。
この記事では、「Diagram MCPの使用方法」と、「実行結果から得られた知見」を共有します。
Diagram MCPとは、AWS公式のMCPサーバーで、ユーザーの入力からAIが構成図を作成してくれるMCPです。
MCPとは
Model Context Protocol (MCP)とは、簡単に説明すると「AIが外部ツールやデータソースと通信するために使用する規格のこと」です。詳細な内容は下記ブログで説明していますので、是非ご一読ください。
Azure AI エージェント サービスを使って MCP サーバ を作成してみた 2024年11月に Anthropic 社 によって Model Context Protocol(MCP) が提唱され、LLM アプリケーションと外部データソースやツールとの連携を標準化するオープンプロトコルとして注目を集めています。
Diagram MCPのセットアップ
今回テストを行った環境は、下図のようになっています。
Diagram MCPを試してみたい方は、以降の説明を参考にしてください。
前提条件
- WSL環境にAmazon Q Developer CLIがインストール済み
- 読み取らせたいアプリケーションファイルの準備
WSL環境にAmazon Q Developer CLIをインストールする手順は、下記公式ドキュメントを参考にしてください。
コマンドライン用の Amazon Q をインストールする
MCP設定ファイルの作成
- Amazon Qがインストールされているフォルダに移動します。
cd ~/.aws/amazonq
- mcp.jsonを作成します。
touch mcp.json
- mcp.jsonに下記JSONテキストを貼り付けます。
{ "mcpServers": { "awslabs.aws-diagram-mcp-server": { "command": "uvx", "args": ["awslabs.aws-diagram-mcp-server"], "env": { "FASTMCP_LOG_LEVEL": "ERROR" }, "autoApprove": [], "disabled": false } } }
上記設定を終えると、Amazon Q Developer CLIで、Diagram MCPが使用できるようになります。
もし、ワークスペース単位で使用するMCPを分けたい場合は、下記公式ドキュメントを参考にしてください。
Amazon Q CLI Command Reference
読み取らせたアプリケーション
今回は、開発中の文書添削用AI Chatアプリケーションの、ローカルテスト用ファイルを読み込ませました。
AIに文書の作成を頼むと、生成した文書をS3に保存し、ダウンロード用の署名付きURLを返答してくれます。
使用しているAWSリソースは下表の通りです。
| リソース名 | 用途 |
| S3バケット | 生成した文書の保存用 |
| Amazon Bedrock | チャット用AIモデル利用 |
ディレクトリ構成は下記の通りとなっています。
aws_web_agent/ ├── PandocTemplates │ ├── custom-reference.docx │ └── doc_template.docx ├── ai_agent.py ├── app.py ├── file_utils.py ├── requirements.txt ├── static │ ├── css │ │ └── style.css │ └── js │ └── script.js └── templates └── index.html
構成図の自動作成
今回はAmazon Q Developerに対応している3つのAIモデルに同じプロンプトを与え、構成図を生成させてみました。
使用したAIモデルは以下の3つです。
- claude-3.5-sonnet
- claude-4-sonnet
- claude-4.5 -sonnet (experimental)
使用したプロンプトは「 aws_web_agent内のファイルを読み取って構成図を作成してください」です。
claude-3.5-sonnet

claude-3.5-sonnetの場合は、かなり簡素な構成図が生成されました。
Flask AppやS3は公式のアイコンを使用できていますが、AI AgentやAIサービスでは望んでいたものとは違うアイコンが使用されていました。
また、今回のwebアプリにはあまり関係のない、IAM Roleも追加されていました。
claude-4-sonnet

claude-4-sonnetでは、3.5よりも細かく、よりアプリケーション本来の構成に近い構成図が生成されました。
3.5では見られなかった、Pythonライブラリを使った処理まで、構成図に含めてくれています。
しかし、FlaskがEC2のアイコンになっていたり、Bedrockのアイコンが見慣れないものになってしまっています。
claude-4.5-sonnet

claude-4.5-sonnetでは、一番理想形に近い構成図が生成されました。
リソースアイコンの違いは多少はありますが、配置・関係ともにほぼ間違いない構成図となっています。
明確な他モデルとの違いは、Read File等の流れの中で何を行っているかが追加された点です。
使用してみて
今回Diagram MCPを使用してみて、得られた知見が2点あります。
- ある程度のクオリティの構成図が生成される
- 構成図生成のスピードが速い
構成図のクオリティについては、特にclaude-4.5-sonnetが高く感じました。
結果として、リソースのアイコンに不十分な点が見られましたが、とりあえず関係を可視化したい時に、サンプルとして活用するのには十分だと感じました。
本格的に運用する際には、プロンプトやコードの様々なパターンを試すことで、生成される構成図の精度を制御することが可能だと思います。
構成図生成のスピードについては、全モデル1~2分で生成が完了しました。
私が手動で構成図を作成するには、30分~1時間程度かかってしまう所を、1~2分で生成するという点には驚きました。
まとめ
今回は、Diagram MCPを用いてAIに構成図を生成してもらいました。
現状では、構成図のサンプルをAIに生成してもらい、それを参考に手動で作図する運用が良いでしょう。
これにより、何もない状態から構成図を作図するより、効率的に作業を進めることができます。
構成図作成のような、構築に付随する業務をAIに作業させることによって、全体の業務効率化に繋がります。
人の手で行う作業を減らし業務効率化に寄与できるよう、これからもAI関連の検証を積極的に行っていきます。
もし「このサービスについて知りたい」「AWS環境の構築、移行」などのリクエストがございましたら、弊社お問合せフォームまでお気軽にご連絡ください。 のちほど当ブログにてご紹介させていただくか、複雑な内容に関するお問い合わせの内容の場合には直接営業からご連絡を差し上げます。 また、よろしければ以下のリンクもご覧ください!
<QES関連ソリューション/ブログ>
<QESが参画しているAWSのセキュリティ推進コンソーシアムがホワイトペーパーを公開しました>
※Amazon Web Services、”Powered by Amazon Web Services”ロゴ、およびブログで使用されるその他のAWS商標は、米国その他の諸国における、Amazon.com, Inc.またはその関連会社の商標です。


