mcpField
T
TerraVision

TerraVision

ローカル
patrickchugh.github.ioクラウド・インフラ1.7k5 日前に更新

TerraVision について

TerraVisionは、テキストの説明、Terraform、JSONグラフから AWS、Azure、Google Cloud の構成図を作るオープンソースツールです。クラウドアカウントにアクセスせずローカルで動作し、図から Terraform も生成できます。

主な機能

  1. 01AWS、Azure、Google Cloud の構成図作成
  2. 02terraform plan からの図の生成
  3. 03構成図からの Terraform 生成
  4. 04編集可能な draw.io 図とインタラクティブ HTML の出力
  5. 05GitHub Action による変更時の図の再生成
  6. 06CLI と JSON グラフ入力

活用シーン

  1. 01説明文からクラウド構成図を作成
  2. 02デプロイ前の Terraform 構成を図示
  3. 03Terraform の変更時に CI で図を再生成
  4. 04リソース設定をクリックで確認できる HTML 文書の公開

MCP 対応

TerraVision は、Claude、ChatGPT、Copilot、Cursor などの MCP クライアント向けに MCP サーバーとして動作します。クライアントから図の作成を依頼でき、画像、SVG、draw.io ファイルなどを出力します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"patrickchugh-terravision": {
"command": "uvx",
"args": [
"terravision"
]
}
}
}
起動コマンドuvx terravision

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypiterravision0.56.0

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

README の画像 TerraVision

Claude、ChatGPT、または Terraform での説明から、AWS、Azure、GCP 公式スタイルのプロフェッショナルなクラウドアーキテクチャ図を作成

pytest CodeQL Ruff security rules pip-audit SonarQube quality gate SonarQube vulnerabilities SonarQube coverage

PyPI version PyPI downloads GitHub stars License

🌐 terravision.online · 📖 ドキュメント全文 →

TerraVision は、AWS、Azure、Google Cloud 向けの無料オープンソースのクラウドアーキテクチャ図ジェネレーターです。双方向に利用できます。設計からコードへ(AI アシスタントに説明し、図を作成してから Terraform を生成)と、コードから図へ(Terraform がデプロイする内容を図にする)に対応しています。

AI アシスタントに平易な言葉でクラウドアーキテクチャ図を依頼すると、クラウドアーキテクトが描くような図を作成できます。AWS、Azure、GCP の公式アイコンを使い、すべてのリソースを VPC、サブネット、ゾーン、またはリソースグループ内に配置します。説明からでも、Terraform コードからでも、またはその逆に、図から Terraform を生成することもできます。TerraVision はお使いのコンピューター上で動作し、クラウドへのアクセスは必要ありません。

本番環境へのアクセスなしで、本番環境を描画。

TerraVision はコードだけをもとに、Terraform がデプロイする予定のものを描画します。インフラストラクチャはまだ存在していなくてもよく、デプロイ先のアカウントへのアクセスも必要ありません。稼働中のクラウドスキャナーでは実現できません。仕組みを見る →


90 秒の紹介動画を見る

Claude と ChatGPT 向け TerraVision 拡張機能


ギャラリー

各クラウドで同じ3層構成を紹介し、さらに各クラウドの代表的な例も掲載しています。すべての例にプロンプトとソースファイルが付属しています:ギャラリー全体を見る →

AWSの3層ウェブアプリケーションアーキテクチャ図
AWSの3層ウェブアプリ
Azureの3層ウェブアプリケーションアーキテクチャ図
Azureの3層ウェブアプリ
Google Cloudの3層ウェブアプリケーションアーキテクチャ図
Google Cloudの3層ウェブアプリ
Karpenterを使用したAmazon EKSのアーキテクチャ図
AWSのKarpenterを使用したEKS
Azureのハブアンドスポーク型ネットワークアーキテクチャ図
Azureのハブアンドスポーク型ランディングゾーン
Google CloudのGKEマイクロサービスアーキテクチャ図
Google CloudのPrivate Service Connectを使用したGKE

ギャラリーにはさらに次の例があります:AWSのサーバーレスイベント駆動型 · AWSのデータレイク · AWSのマルチリージョンフェイルオーバー · AWSのマルチアカウントネットワーク · Azure AKS · Google Cloudのデータパイプライン


ClaudeまたはChatGPTで始める

TerraVisionはClaude Desktopでは拡張機能として、ChatGPT desktop appではプラグインとしてインストールでき、図はチャット内に直接表示されます。Claude Code、Codex CLI、GitHub Copilot、Cursor、その他あらゆるMCPクライアントでも動作します。

1. 前提条件をインストールする(一度だけ)

TerraVision では、図を描画するための Graphviz と Git が必要です。uv は、Claude Code、Codex、Antigravity CLI、その他の MCP クライアントで TerraVision を実行します。Claude Desktop は Windows と macOS では独自のものを同梱しているため、そこでのインストールは不要です。Terraform コードから図を描画する場合に限り、Terraform が必要です。

macOS

Homebrew を使う場合:

brew install graphviz git
brew install uv                        # not needed for Claude Desktop
brew install hashicorp/tap/terraform   # optional: to draw from Terraform code
Windows

PowerShell で実行します:

winget install --id Graphviz.Graphviz -e
winget install --id Git.Git -e
winget install --id astral-sh.uv -e    # not needed for Claude Desktop
winget install --id Hashicorp.Terraform -e   # optional: to draw from Terraform code

その後、新しいターミナルを開き、AI アプリを再起動して、新しいプログラムが認識されるようにしてください。

Linux(Debian、Ubuntu)
sudo apt install graphviz git
# Ubuntu 26.04 and later only (also Debian 14 "forky"/testing).
# Skip on older releases such as Ubuntu 24.04: graphviz already includes it.
sudo apt install libgvplugin-neato-layout8

curl -LsSf https://astral.sh/uv/install.sh | sh   # Claude Desktop on Linux needs uv pre-installed

# optionally install terraform, to draw from Terraform code: HashiCorp's apt repository
wget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list
sudo apt update && sudo apt install terraform

その他のディストリビューションについては、HashiCorp のインストールガイドをご覧ください。

管理者権限がない場合、またはパッケージマネージャーがない場合は、各ツールをホームフォルダーに展開して PATH に追加できます:インストールガイド。

2. アシスタントを接続する

Claude Desktop: 最新リリースから terravision-<version>.mcpb をダウンロードして開きます(または Settings → Extensions にドラッグします)。図はチャット内に直接表示され、画像を開く、draw.io で編集する、保存先フォルダーを表示する、ソースを確認するといった操作をボタンから行えます。

Claude Code(ターミナル、VS Code、または JetBrains):

claude plugin marketplace add patrickchugh/terravision
claude plugin install terravision-cloud-diagrams@terravision

その後、新しい Claude Code セッションを開始します。図はプロジェクト内の diagrams フォルダーに保存されます。初回起動時に /mcp で TerraVision の接続失敗が表示される場合(インストールに Claude Code の待機時間以上かかることがあります)は、Reconnect を選択するか、uvx --from "terravision[mcp]" terravision --version で事前にインストールしてください。

ChatGPT デスクトップアプリと OpenAI Codex CLI: デスクトップアプリで Settings を開き、マーケットプレイス https://github.com/patrickchugh/terravision を追加してから、terravision-cloud-diagrams を選択します。CLI の場合:

codex plugin marketplace add https://github.com/patrickchugh/terravision
codex plugin add terravision-cloud-diagrams@terravision

Google Antigravity CLI(agy):

agy mcp add terravision -- uvx --from "terravision[mcp]" terravision mcp --output-dir /path/for/diagrams

GitHub Copilot を搭載した VS Code、Cursor、その他の MCP クライアント: uvx --from "terravision[mcp]" terravision mcp --output-dir <folder for diagrams> を実行する MCP サーバーを追加します。各クライアントの設定と、スキルのみをインストールする npx skills add patrickchugh/terravision の手順は、セットアップガイドをご覧ください。

3. 図(またはコード)を依頼する
用意するもの依頼の例得られるもの
アイデア「AWS の 3 層アプリを描いてください。CloudFront 上の React、2 つの AZ にある ALB の背後の ECS Fargate、RDS Multi-AZ 上の SQL Server」図(PNG、SVG、編集可能な draw.io)とそのグラフが得られます。「ElastiCache を追加して」「リクエストがどのように流れるかを示して」のように依頼して調整できます
TerraVision で生成した、お気に入りの図「このアーキテクチャの Terraform を書いてください」リソース、ゾーン、接続の Terraform が得られます。図のフローとラベルも維持されます(品質は使用するモデルによって異なります)
ローカルまたは GitHub 上にある Terraform コード。ただし、VERIFIED な図はない「./infra の Terraform のアーキテクチャを描いてください」 または 「https://github.com/patrickchugh/testcase-bastion//examples のクラウドアーキテクチャ図を見せてください」terraform plan がコードによってデプロイされると示す内容の図が得られます
HTML ドキュメントで公開したい、またはセキュリティ監査などでリソースごとにレビューしたい、自分の Terraform の TerraVision 図「この図をインタラクティブにしてください」 または 「クリックして内容を確認できるインタラクティブ版を作成してください」サーバー不要で、どのブラウザーやドキュメントサイトでも動作する単一の HTML ページが得られます。リソースをクリックして設定(暗号化、パブリックアクセス、ポート、IAM)を確認したり、検索やズームをしたりできます。terraform plan から生成されるため、画像だけではなく Terraform が必要です
リポジトリに既存の TerraVision 図がある Terraform「CI でこの図を最新の状態に保ってください」Terraform が変更されるたびに図を再描画するワークフローが得られます

最初の図は、TerraVision のインストール中に少し時間がかかります。不足しているものがあれば、アシスタントがインストールするものを案内します。いつでも確認するには、「TerraVision は正しくセットアップされていますか?」と尋ねてください。

プロンプト例をさらに掲載した完全なガイドはこちらです:AI アシスタントで TerraVision を使う。


CI/CD で図を最新の状態に保つ

TerraVision GitHub Action に Terraform を指定すると、変更のたびに図が再描画されます:

- uses: hashicorp/setup-terraform@v3
- uses: patrickchugh/terravision-action@v2
  with:
    source: ./infrastructure
    outfile: docs/architecture
    format: both

Terraform の隣に terravision.yml を置くと、すべてのバージョンにタイトル、番号付きフロー、接続ラベルが追加されます。GitLab、Jenkins、Azure DevOps などについては、CI/CD 連携をご覧ください。


TerraVision を選ぶ理由

  • ✅ AI アシスタント向けに設計:Claude、ChatGPT、Codex、Copilot、Cursor 用の拡張機能とプラグインを提供し、チャット内に図を表示します(ガイド)
  • ✅ 確かな正確性:terraform plan から描画するため、コードが信頼できる唯一の情報源となり、表示される内容がそのままデプロイされます
  • ✅ 本番環境へのアクセスなしで本番環境を描画:インフラが実際に存在する必要はなく、デプロイ先のアカウントへのアクセスも不要です。1 つのコードベースで、各環境の変数ファイルから開発、ステージング、本番環境を描画できます(方法)
  • ✅ 公式アイコンと規約:AWS、Azure、GCP のアイコンを使用し、すべてのリソースを VPC、サブネット、ゾーン、またはリソースグループ内に配置します
  • ✅ JSON グラフ入力:数行の JSON でアーキテクチャを記述でき、独自の DSL を学ぶ必要はありません(グラフ形式)
  • ✅ 100% クライアントサイド:ローカルで実行でき、クラウドへのアクセスは不要です。コードがマシンの外に出ることはありません
  • ✅ インタラクティブな HTML と編集可能な draw.io 出力、フロー注釈(YAML または Ollama、Bedrock による AI 生成)、Terragrunt のサポート。無料でオープンソース

比較

TerraVision手動ツール
(draw.io、Lucidchart、Visio)
AI ワークスペース
(Eraser)
コードとしての図
(Mermaid、D2、Python Diagrams)
ライブクラウドスキャナー
(例:Cloudcraft)
平易な英語の説明から図を作成✅ すでに使用しているアシスタント(Claude、ChatGPT、Copilot)内で利用できます一部対応 組織がサードパーティモデルを承認している場合に限ります✅いいえいいえ
Terraform から図を作成✅ terraform plan から作成。クライアント側で処理しますいいえ一部対応 貼り付けたファイルを AI が解釈します(コードやシークレットが漏えいする可能性があります)いいえいいえ
アクセス権のない環境、またはまだ構築されていない環境の図を作成✅ コードと変数ファイルだけから作成できます。インフラが存在している必要はなく、デプロイ先のアカウントへのアクセスも不要です。--varfile prod.tfvars で本番環境を、--varfile dev.tfvars で開発環境を描画します一部対応 ドキュメントから手作業で作成します一部対応 貼り付けたコードから作成します一部対応 手作業で記述しますいいえ 接続可能なアカウントのみ描画します
デザインの Terraform を作成✅ アシスタントが作成し、AI が記述したコードを再描画して検証します一部対応 Lucidchart のベータ版。AWS のみ。有料アドオンですいいえいいえいいえ
公式アイコンと VPC、サブネット、ゾーンのグループ化規則✅ 組み込み済みです一部対応 アイコンライブラリを利用できます。適切なグループ化は利用者次第です一部対応 アイコンと汎用グループを利用できますいいえいいえ
自動的に最新の状態を維持✅ CI でコードから再描画しますいいえ一部対応 リポジトリと同期しますいいえ✅ ライブアカウントに追従します
高度なセキュリティ — クラウドアカウントへのアクセスもコードのアップロードも不要✅✅いいえ✅いいえ
価格無料、オープンソース無料から有料まで無料プラン、有料プラン無料、オープンソース有料
すでに手作業で描いていますか?TerraVision で最初のバージョンを生成し、エクスポートしたファイルを draw.io や Lucidchart で仕上げましょう。詳しい比較はこちら:TerraVision と draw.io、Lucidchart、Eraser、Mermaid などの比較。

対応クラウドプロバイダー

プロバイダーステータスリソースタイプ
AWS✅ 完全対応427 種類
Google Cloud✅ 完全対応267 種類
Azure✅ 完全対応263 種類

全リスト:ノードタイプ。


コマンドラインから使う

TerraVision はコマンドラインツールとしても利用でき、スクリプトで使う場合や、自分でグラフを書きたい場合に便利です。

インストール
pipx install terravision   # or: uv tool install terravision
                           # or: pip install terravision in a virtual env

Python 3.11 以降(uv がインストールします)、Graphviz、Git も必要です。また、Terraform コードから図を作成する場合は Terraform 1.x(または OpenTofu)も必要ですが、JSON グラフでは不要です。プラットフォーム別の手順、Docker、Nix については、インストールガイドをご覧ください。

JSON から図を作成する(Terraform 不要)

各キーは <terraform_resource_type>.<name>、各値は接続先または包含するものです。形式はこれだけです。

{
  "tv_aws_users.users": ["aws_cloudfront_distribution.cdn"],
  "aws_cloudfront_distribution.cdn": ["aws_s3_bucket.static_site", "aws_alb.api"],
  "aws_vpc.main": ["aws_subnet.public~1", "aws_subnet.private~1"],
  "aws_subnet.public~1": ["aws_alb.api"],
  "aws_subnet.private~1": ["aws_lambda_function.orders"],
  "aws_alb.api": ["aws_lambda_function.orders"],
  "aws_lambda_function.orders": ["aws_dynamodb_table.orders", "aws_sqs_queue.events"]
}
terravision draw --source architecture.tvg.json --format svg

AWS(aws_*)、Azure(azurerm_*)、GCP(google_*)で動作します。詳しい仕様、スキーマ、Azure と GCP の例については、グラフ形式をご覧ください。

Terraform から図を作成する
terravision draw --source ./path-to-your-terraform --show                    # local directory
terravision draw --source https://github.com/user/repo.git//subfolder --show # public Git repo
terravision draw --source ./path-to-your-terraform --varfile prod.tfvars     # draw prod without prod access
terravision visualise --source ./path-to-your-terraform --show               # interactive HTML

図は terraform plan から生成されるため、コードが実際にデプロイする内容を示します。条件分岐、count、for_each、モジュールは解決されます。Eraser などは AI が想像した内容を描きますが、TerraVision はコードがデプロイする内容を明らかにします。

出力形式、事前生成プラン、AI による注釈、簡易表示、すべてのオプション(terravision --help)については、使用ガイドをご覧ください。

インタラクティブなデモを試す
  • 🟧 AWS デモ:CloudFront、RDS、EFS を備えた ECS Fargate 上の Wordpress
  • 🟦 Azure デモ:ロードバランサーと VNet を備えた VM スケールセット
  • 🟩 GCP デモ:GCP の主要なネットワーク機能とコンピューティング

ドキュメント

すべてのドキュメントは patrickchugh.github.io/terravision にあります(AI エージェント向けの llms.txt もあります)。


貢献とサポート

TerraVision では、招待されたコラボレーターからのプルリクエストのみ受け付けています。バグ報告、機能リクエスト、ご質問は、Issues と Discussions で歓迎しています。バグ報告に記載する内容については、CONTRIBUTING.md をご覧ください。

AGPL-3.0 のライセンスで提供されています。詳細は LICENSE をご覧ください。Graphviz、Terraform、Terragrunt を基盤とし、AWS、Azure、GCP の公式アイコンセットを使用しています。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。