gcp-diagram-mcp-server

shawnho1018/gcp-diagram-mcp-server

3.2

If you are the rightful owner of gcp-diagram-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

The GCP Diagram MCP Server is a tool designed to generate various types of diagrams using Python code, specifically tailored for Google Cloud Platform (GCP) architectures.

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.

Tests

Prerequisites

  1. Install uv from Astral or the GitHub README
  2. Install Python using uv python install 3.10
  3. Install GraphViz https://www.graphviz.org/

Installation

Configure the MCP server in your MCP client configuration (e.g., for Google Cloud CLI, edit ~/.gemini/settings.json):

{
  "theme": "Default Light",
  "selectedAuthType": "gemini-api-key",
  "mcpServers": {
    "gcplabs.gcp-diagram-mcp-server": {
      "command": "uvx",
      "args": [
        "--from",
        "gcplabs.gcp-diagram-mcp-server@git+https://github.com/shawnho1018/gcp-diagram-mcp-server.git",
        "gcplabs.gcp-diagram-mcp-server"
      ],
      "env": {
        "FASTMCP_LOG_LEVEL": "ERROR"
      },
      "autoApprove": [],
      "disabled": false
    }
  }
}

Features

The Diagrams MCP Server provides the following capabilities:

  1. Generate Diagrams: Create professional diagrams using Python code
  2. Multiple Diagram Types: Support for GCP architecture, sequence diagrams, flow charts, class diagrams, and more
  3. Customization: Customize diagram appearance, layout, and styling
  4. Security: Code scanning to ensure secure diagram generation

Quick Example

Try to input the following questions after you start gemini-cli

  1. Generate a GCP diagram which uses all tf files in @iac/ and save the diagram as iac.png
  2. Generate a GCP diagram which uses all yaml files in @kubernetes-manifests/ and save the diagram as k8s.png

The process is produced the python diagram code in the following format to generate the graph.

from diagrams import Diagram
from diagrams.gcp.compute import GCE
from diagrams.gcp.database import SQL
from diagrams.gcp.network import LoadBalancing

with Diagram("Web Service", show=False):
    lb = LoadBalancing("lb")
    web = GCE("web")
    db = SQL("userdb")

    lb >> web >> db