Skip to main content
Glama

Cloud Diagram MCP

Tests CodeQL License: MIT

MCP server that visualizes Terraform plan changes as cloud architecture diagrams with official AWS, Azure, and GCP icons.

Features

  • Generate diagrams from Terraform plan JSON (no cloud credentials required)

  • Multi-cloud support with official provider icons

  • Hierarchical architecture views with dependency connections

  • Interactive HTML with clickable resources showing configuration details

  • Color-coded changes: green (create), red (delete), orange (update), purple (replace)

Related MCP server: CloudForge MCP Server

Screenshots

AWS Infrastructure Azure Infrastructure Complex AWS Architecture Interactive HTML

Installation

Prerequisites: Python 3.10+, Graphviz, Node.js 18+

# Install Graphviz
# Ubuntu/Debian: sudo apt-get install graphviz
# macOS: brew install graphviz
# Windows: winget install --id Graphviz.Graphviz (add bin to PATH)

# Clone and install
git clone https://github.com/aviveldan/cloud-diagram-mcp.git
cd cloud-diagram-mcp
pip install -r requirements.txt

# Build React UI
cd ui && npm install && npm run build && cd ..

Usage

MCP Server

Add to your MCP client configuration (e.g., Claude Desktop):

{
  "mcpServers": {
    "cloud-diagram": {
      "command": "python3",
      "args": ["-m", "cloud_diagram_mcp.server"],
      "cwd": "/path/to/cloud-diagram-mcp"
    }
  }
}

Terraform Plan

terraform plan -out=tfplan
terraform show -json tfplan > plan.json

Use the MCP visualize_tf_diff tool with the plan JSON as input:

{
  "plan": "<plan-json-content>"
}

Command Line

python3 test_mcp.py                          # Test MCP tools
python3 generate_documentation_diagrams.py    # Generate example diagrams

Supported Resources

AWS: EC2, VPC, RDS, S3, ELB, Lambda, IAM, ElastiCache, Route53, CloudFront, NAT Gateway, and more
Azure: VMs, Virtual Networks, SQL Database, Storage Accounts, Managed Identities, and more
GCP: Compute Engine, VPC, Cloud SQL, Cloud Storage, GKE, and more

Development

# Build UI
cd ui && npm install && npm run build

# Run Python tests (requires Graphviz)
python3 test_mcp.py

# Run Playwright UI tests
cd ui
npm run build
python create-test-harness.py
python create-test-harness-architecture.py
npm test

For complete testing documentation, see TESTING.md.

Continuous Integration

All tests run automatically on every pull request via GitHub Actions. See .github/workflows/test.yml for the complete CI configuration.

For complete CI/CD documentation, including release process and workflows, see CI_CD.md.

CI/CD

This repository includes comprehensive CI/CD workflows:

  • Tests (.github/workflows/test.yml): Runs Python and Playwright tests on all PRs and pushes to main

  • Release (.github/workflows/release.yml): Automatically publishes to PyPI when a new version tag is pushed

  • Dependabot (.github/dependabot.yml): Automatically updates dependencies weekly

Creating a Release

  1. Update version in cloud_diagram_mcp/__init__.py

  2. Update CHANGELOG.md with the new version and changes

  3. Commit the changes

  4. Create and push a version tag:

    git tag v2.1.0
    git push origin v2.1.0
  5. The release workflow will automatically:

    • Build the package

    • Create a GitHub release with release notes

    • Publish to PyPI

Contributing

We welcome contributions! Please see CONTRIBUTING.md for guidelines on how to contribute to this project.

License

MIT

Related MCP Connectors

Related MCP Servers