An MCP server that seamlessly creates GCP diagrams using the Python diagrams package DSL
Project description
GCP Diagram MCP Server
Model Context Protocol (MCP) server for GCP Diagrams
This MCP server that seamlessly creates diagrams using the Python diagrams package DSL. This server allows you to generate GCP diagrams, sequence diagrams, flow diagrams, and class diagrams using Python code.
Prerequisites
- Install
uvfrom Astral or the GitHub README - Install Python using
uv python install 3.10 - Install GraphViz https://www.graphviz.org/
Installation
| Cursor | VS Code |
|---|---|
Configure the MCP server in your MCP client configuration (e.g., for Google AI Studio CLI, edit your MCP client config):
{
"mcpServers": {
"mclabs.gcp-diagram-mcp-server": {
"command": "uvx",
"args": ["mclabs.gcp-diagram-mcp-server"],
"env": {
"FASTMCP_LOG_LEVEL": "ERROR"
},
"autoApprove": [],
"disabled": false
}
}
}
or docker after a successful docker build -t mclabs/gcp-diagram-mcp-server .:
{
"mcpServers": {
"mclabs.gcp-diagram-mcp-server": {
"command": "docker",
"args": [
"run",
"--rm",
"--interactive",
"--env",
"FASTMCP_LOG_LEVEL=ERROR",
"mclabs/gcp-diagram-mcp-server:latest"
],
"env": {},
"disabled": false,
"autoApprove": []
}
}
}
Features
The Diagrams MCP Server provides the following capabilities:
- Generate Diagrams: Create professional diagrams using Python code
- Multiple Diagram Types: Support for GCP architecture, sequence diagrams, flow charts, class diagrams, and more
- Customization: Customize diagram appearance, layout, and styling
- Security: Code scanning to ensure secure diagram generation
Quick Example
from diagrams import Diagram
from diagrams.gcp.compute import Functions
from diagrams.gcp.database import Firestore
from diagrams.gcp.network import LoadBalancing
with Diagram("Serverless Application", show=False):
lb = LoadBalancing("Load Balancer")
function = Functions("Cloud Function")
database = Firestore("Firestore")
lb >> function >> database
Development
Testing
The 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=mclabs.gcp_diagram_mcp_server --cov-report=term-missing tests/
For more information about the tests, see the tests README.
Development Dependencies
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.
Acknowledgments
This project is based on the excellent work from the AWS Labs MCP project. We are grateful to the AWS Labs team for creating the original AWS Diagram MCP Server, which served as the foundation for this GCP version.
Original Project
- Original Repository: awslabs/mcp
- Original Package:
awslabs.aws-diagram-mcp-server - License: Apache License 2.0
Special thanks to the AWS Labs team and all contributors to the original project for their innovative work in creating MCP servers for cloud architecture diagrams.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mclabs_gcp_diagram_mcp_server-1.0.5.tar.gz.
File metadata
- Download URL: mclabs_gcp_diagram_mcp_server-1.0.5.tar.gz
- Upload date:
- Size: 96.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d866eb9492adde3ea88c02dde90b6ecc800ba8190d22b09d015f81d92a44a9c8
|
|
| MD5 |
b2d935836a4b48f634ed4451b2b8bf81
|
|
| BLAKE2b-256 |
3a4b786d4c7b88faae091355e23c7749ef21899646b95be6b7ef6bd36994fb1f
|
File details
Details for the file mclabs_gcp_diagram_mcp_server-1.0.5-py3-none-any.whl.
File metadata
- Download URL: mclabs_gcp_diagram_mcp_server-1.0.5-py3-none-any.whl
- Upload date:
- Size: 26.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6bafcb0dc84e37cb5898dcb631183e9d19638fbe991090340139ea413a3ca3b6
|
|
| MD5 |
fb37659a49c156fa3134e79949b5eb05
|
|
| BLAKE2b-256 |
0676a054a5471280aaefbd70ed7f7c4034b241cbe88f43bc88fd4d29b2d4419c
|