GCP Diagram MCP Server
Generates GCP architecture diagrams, sequence diagrams, flow charts, and class diagrams using Python diagrams DSL via MCP.
README
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": []
}
}
}
从本地源代码安装
如果你想从本地源代码安装和开发此 MCP 服务器,请按照以下步骤操作:
1. 克隆仓库
git clone <repository-url>
cd gcp-diagram-mcp-server
2. 安装依赖
# 安装 uv(如果尚未安装)
curl -LsSf https://astral.sh/uv/install.sh | sh
# 安装 Python 和依赖
uv python install 3.10
uv sync
3. 本地开发安装
# 以可编辑模式安装
uv pip install -e .
# 或者安装开发依赖
uv pip install -e ".[dev]"
4. 配置 MCP 客户端
在你的 MCP 客户端配置中,使用本地安装的路径而不是 uvx:
{
"mcpServers": {
"gcp-diagram-mcp-server-local": {
"command": "uv",
"args": ["run", "--project", "/path/to/gcp-diagram-mcp-server", "mclabs.gcp_diagram_mcp_server"],
"env": {
"FASTMCP_LOG_LEVEL": "ERROR"
},
"autoApprove": [],
"disabled": false
}
}
}
或者,如果你已经将项目路径添加到 Python 路径中:
{
"mcpServers": {
"gcp-diagram-mcp-server-local": {
"command": "python",
"args": ["-m", "mclabs.gcp_diagram_mcp_server"],
"env": {
"FASTMCP_LOG_LEVEL": "ERROR",
"PYTHONPATH": "/path/to/gcp-diagram-mcp-server"
},
"autoApprove": [],
"disabled": false
}
}
}
5. 验证安装
运行测试以确保一切正常工作:
# 运行所有测试
./run_tests.sh
# 或者直接使用 pytest
uv run pytest -xvs tests/
6. 热重载开发
在开发过程中,你可以使用以下命令直接运行服务器:
# 直接运行服务器
uv run python -m mclabs.gcp_diagram_mcp_server
# 或者使用调试模式
uv run python -m mclabs.gcp_diagram_mcp_server --debug
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
- Enhanced GCP Icons: Access to 22+ additional GCP service icons not available in the standard diagrams package
- Customization: Customize diagram appearance, layout, and styling
- Security: Code scanning to ensure secure diagram generation
Enhanced GCP Icons
This server now includes a curated collection of enhanced GCP service icons that are automatically available when generating diagrams. These icons are implemented as Custom classes and provide access to the latest GCP services:
AI/ML Services:
- Vertex AI, Vertex AI Agent Builder, Vertex AI Search
- Dataplex, Analytics Hub, Data QnA
- Looker, Looker Studio
Database & Integration:
- Datastream, Database Migration Service
- Cloud SQL (2nd Gen)
DevOps & CI/CD:
- Cloud Deploy, Artifact Registry, Batch
- Migrate to Containers, Infrastructure Manager
Network & CDN:
- Cloud CDN (new shield), Network Topology
Security & Identity:
- BeyondCorp Enterprise
Management & Operations:
- Cost Management, Cloud Monitoring (new)
Maps & Geospatial:
- Google Maps Platform
These enhanced icons are automatically loaded and can be used just like standard diagram icons:
with Diagram("AI/ML Pipeline", show=False):
# Enhanced icons - no import needed
vertex_ai = VertexAI("Vertex AI")
analytics_hub = AnalyticsHub("Analytics Hub")
dataplex = Dataplex("Data Lake")
# Standard icons
from diagrams.gcp.storage import Storage
storage = Storage("Data Source")
storage >> dataplex >> analytics_hub >> vertex_ai
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.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。