MCP server that visualizes Terraform plan changes as cloud architecture diagrams with official AWS, Azure, and GCP icons.
- 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)
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 ..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 -out=tfplan
terraform show -json tfplan > plan.jsonUse the MCP visualize_tf_diff tool with the plan JSON as input:
{
"plan": "<plan-json-content>"
}python3 test_mcp.py # Test MCP tools
python3 generate_documentation_diagrams.py # Generate example diagramsAWS: 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
# 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 testFor complete testing documentation, see TESTING.md.
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.
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
- Update version in
cloud_diagram_mcp/__init__.py - Update
CHANGELOG.mdwith the new version and changes - Commit the changes
- Create and push a version tag:
git tag v2.1.0 git push origin v2.1.0
- The release workflow will automatically:
- Build the package
- Create a GitHub release with release notes
- Publish to PyPI
We welcome contributions! Please see CONTRIBUTING.md for guidelines on how to contribute to this project.
MIT


