A community-driven registry for Claude, Cursor, Windsurf, Cline & more. Not affiliated with Anthropic.
Are you the author? Sign in to claim
An MCP server that seamlessly creates infrastructure diagrams for AWS, Azure, GCP, Kubernetes and more
Model Context Protocol (MCP) server for Multi-Cloud Infrastructure Diagrams
This MCP server seamlessly creates diagrams using the Python diagrams package DSL. Generate professional infrastructure diagrams for any cloud provider (AWS, GCP, Azure), Kubernetes, on-premises, hybrid, and multi-cloud architectures using natural language with Claude Desktop or other MCP clients.
Note: This is a derivative work based on awslabs/aws-diagram-mcp-server, extended with multi-cloud provider support and enhanced features.
uv from Astral (recommended) or use pipparse_helm_chartmacOS (Homebrew):
brew install graphviz
Ubuntu/Debian:
sudo apt-get install graphviz graphviz-dev
Windows (Chocolatey):
choco install graphviz
Or download from graphviz.org
Helm is required for full template rendering with the parse_helm_chart tool. Without Helm, the parser will use a fallback mode with limited template support.
macOS (Homebrew):
brew install helm
Ubuntu/Debian:
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
Windows (Chocolatey):
choco install kubernetes-helm
Or download from helm.sh/docs/intro/install
Configure the MCP server in your MCP client. The CFLAGS and LDFLAGS (or INCLUDE and LIB on Windows) environment variables are needed for the initial build of pygraphviz.
Claude Desktop / Cursor on macOS (~/Library/Application Support/Claude/claude_desktop_config.json or ~/.cursor/mcp.json):
{
"mcpServers": {
"infrastructure-diagrams": {
"command": "uvx",
"args": ["infrastructure-diagram-mcp-server"],
"env": {
"FASTMCP_LOG_LEVEL": "ERROR",
"CFLAGS": "-I/opt/homebrew/include",
"LDFLAGS": "-L/opt/homebrew/lib"
}
}
}
}
Note:
/opt/homebrewis the default Homebrew prefix on Apple Silicon Macs. For Intel Macs, use/usr/localinstead.
Linux (e.g., ~/.config/claude/claude_desktop_config.json):
{
"mcpServers": {
"infrastructure-diagrams": {
"command": "uvx",
"args": ["infrastructure-diagram-mcp-server"],
"env": {
"FASTMCP_LOG_LEVEL": "ERROR"
}
}
}
}
Note: On Linux, install
graphviz-devfirst (sudo apt-get install graphviz graphviz-dev), then no extra env vars are needed.
Windows (e.g., %APPDATA%\Claude\claude_desktop_config.json):
{
"mcpServers": {
"infrastructure-diagrams": {
"command": "uvx",
"args": ["infrastructure-diagram-mcp-server"],
"env": {
"FASTMCP_LOG_LEVEL": "ERROR",
"INCLUDE": "C:\\Program Files\\Graphviz\\include",
"LIB": "C:\\Program Files\\Graphviz\\lib"
}
}
}
}
Note: Adjust the Graphviz path if you installed it in a different location.
Other MCP Clients (e.g., Kiro - ~/.kiro/settings/mcp.json):
{
"mcpServers": {
"infrastructure-diagrams": {
"command": "uvx",
"args": ["infrastructure-diagram-mcp-server"],
"env": {
"FASTMCP_LOG_LEVEL": "ERROR",
"CFLAGS": "-I/opt/homebrew/include",
"LDFLAGS": "-L/opt/homebrew/lib"
},
"autoApprove": [],
"disabled": false
}
}
}
Build and run with Docker:
docker build -t infrastructure-diagram-mcp-server .
Then configure your MCP client:
{
"mcpServers": {
"infrastructure-diagrams": {
"command": "docker",
"args": [
"run",
"--rm",
"--interactive",
"--env",
"FASTMCP_LOG_LEVEL=ERROR",
"infrastructure-diagram-mcp-server:latest"
]
}
}
}
The Infrastructure Diagram MCP Server provides the following capabilities:
Once configured in your MCP client (e.g., Claude Desktop), you can generate diagrams using natural language:
Discover Available Icons:
List all available GCP infrastructure diagram icons
Get Example Code:
Show me examples of Azure microservices diagrams
Generate Diagrams:
Create a GCP data pipeline diagram showing Pub/Sub, Dataflow, and BigQuery
Generate an AWS serverless architecture with API Gateway, Lambda, and DynamoDB
Design a multi-cloud architecture spanning AWS, GCP, and Azure
Parse Infrastructure-as-Code:
Parse the Kubernetes manifests in ./k8s/ and show me the resources and relationships
Parse the Helm chart at ./charts/my-app/ and generate a diagram of the infrastructure
Parse the Terraform configuration in ./infrastructure/ and visualize the AWS resources
The server will automatically:
Every diagram is automatically exported in two formats:
The .drawio files allow you to:
Simply open the generated .drawio file in your browser at diagrams.net - no installation required!
This fork extends the original AWS Diagram MCP Server with:
.png extension and read-only filesystem issuesBelow are Python code examples showing the diagrams package syntax. When using with Claude Desktop, you can simply describe what you want in natural language!
from diagrams import Diagram
from diagrams.aws.compute import Lambda
from diagrams.aws.database import Dynamodb
from diagrams.aws.network import APIGateway
with Diagram("Serverless Application", show=False):
api = APIGateway("API Gateway")
function = Lambda("Function")
database = Dynamodb("DynamoDB")
api >> function >> database
from diagrams import Diagram, Cluster
from diagrams.gcp.compute import CloudRun
from diagrams.gcp.network import LoadBalancing
from diagrams.gcp.database import SQL
with Diagram("GCP Microservices", show=False):
lb = LoadBalancing("load balancer")
with Cluster("Services"):
services = [CloudRun("api"), CloudRun("worker")]
db = SQL("database")
lb >> services >> db
from diagrams import Diagram
from diagrams.azure.web import AppService
from diagrams.azure.database import SQLServer
from diagrams.azure.storage import BlobStorage
with Diagram("Azure Web App", show=False):
AppService("web") >> SQLServer("db") >> BlobStorage("storage")
from diagrams import Diagram, Cluster
from diagrams.aws.compute import EC2
from diagrams.gcp.compute import CloudRun
from diagrams.azure.web import AppService
with Diagram("Multi-Cloud Setup", show=False):
with Cluster("AWS"):
aws = EC2("primary")
with Cluster("GCP"):
gcp = CloudRun("backup")
with Cluster("Azure"):
azure = AppService("cdn")
aws >> [gcp, azure]
Below are complete architecture diagram examples generated using this MCP server. These demonstrate real-world patterns across different cloud providers and deployment scenarios.
A production-ready serverless architecture using AWS services.
Architecture Components:
A serverless architecture on Google Cloud Platform with managed services.
Architecture Components:
A serverless architecture on Microsoft Azure featuring fully managed services.
Architecture Components:
A containerized application deployment on Kubernetes with full storage support.
Architecture Components:
A distributed architecture spanning AWS, GCP, and Azure with global DNS routing for high availability.
Architecture Components:
An enterprise hybrid cloud setup connecting on-premises infrastructure to AWS cloud.
Architecture Components:
A comprehensive GCP organization-level infrastructure parsed from the terraform-example-foundation using the parse_terraform tool.
Architecture Components:
A production-ready Milvus deployment parsed from the official milvus-helm chart using the parse_helm_chart tool.
Architecture Components:
The server includes three tools for parsing Infrastructure-as-Code files:
Parse Kubernetes YAML manifests to extract resources and relationships.
Parse the K8s manifests in ./manifests/ and show me what's deployed
Detects:
Parse Helm charts with full helm template rendering or fallback mode when Helm CLI is unavailable.
Note: For best results, install Helm. Without Helm, the parser uses a fallback mode with limited Go template support.
Parse the Helm chart at ./charts/my-app/ with values from values-prod.yaml
Features:
Parse Terraform HCL configurations to extract resources, data sources, modules, and relationships.
Parse the Terraform configuration in ./terraform/ and visualize the infrastructure
Detects:
depends_on relationshipsThe project includes a comprehensive test suite to ensure the functionality of the MCP server. The tests are organized by module and cover all aspects of the server's functionality.
To run the tests, use the provided script:
./run_tests.sh
This script will automatically install pytest and its dependencies if they're not already installed.
Or run pytest directly (if you have pytest installed):
pytest -xvs tests/
To run with coverage:
pytest --cov=infrastructure_diagram_mcp_server --cov-report=term-missing tests/
To set up the development environment, install the development dependencies:
uv pip install -e ".[dev]"
This will install the required dependencies for development, including pytest, pytest-asyncio, and pytest-cov.
pygraphviz build error: graphviz/cgraph.h not foundThis error occurs when the GraphViz development headers are not found during installation.
macOS:
# Make sure graphviz is installed
brew install graphviz
# Set compiler flags
export CFLAGS="-I$(brew --prefix graphviz)/include"
export LDFLAGS="-L$(brew --prefix graphviz)/lib"
# Then install
uvx infrastructure-diagram-mcp-server
Linux:
# Install development headers
sudo apt-get install graphviz graphviz-dev # Ubuntu/Debian
sudo dnf install graphviz-devel # Fedora/RHEL
Windows:
# Install Graphviz with Chocolatey
choco install graphviz
# Set environment variables
$env:INCLUDE = "C:\Program Files\Graphviz\include"
$env:LIB = "C:\Program Files\Graphviz\lib"
CFLAGS/LDFLAGS (macOS) or INCLUDE/LIB (Windows) environment variables are set in your MCP configrm -rf ~/.cache/uvMake sure you're using a recent version of Claude Desktop or Cursor that supports MCP ImageContent.
Contributions are welcome! Please feel free to submit a Pull Request to the GitHub repository.
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
This is a derivative work based on awslabs/aws-diagram-mcp-server. Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
See NOTICE file for additional attribution information.
MCP server integration for DaVinci Resolve Studio
mcp-language-server gives MCP enabled clients access semantic tools like get definition, references, rename, and diagnos
Run Claude Code as an MCP server so any agent can delegate coding tasks to it
Browser automation using accessibility snapshots instead of screenshots