# Diagrams MCP MCP server

Generate cloud architecture diagrams, flowcharts, and sequence diagrams.

## Links
- Registry page: https://www.getdrio.com/mcp/io-github-mskry-diagrams-mcp-server
- Repository: https://github.com/ByteOverDev/diagrams-mcp

## Install
- Command: `uvx diagrams-mcp-server`
- Endpoint: https://diagrams-mcp-production.up.railway.app/mcp
- Auth: Not captured

## Setup notes
- Package: Pypi diagrams-mcp-server v0.1.2
- Remote endpoint: https://diagrams-mcp-production.up.railway.app/mcp

## Tools
- render_diagram - Render a mingrammer/diagrams Python snippet to PNG and return the image.

The code must be a complete Python script using `from diagrams import ...` imports
and a `with Diagram(...)` context manager block.

Use search_nodes to verify node names and get correct import paths before writing code.
Read the diagrams://reference/diagram, diagrams://reference/edge, and
diagrams://reference/cluster resources for constructor options and usage examples.

Args:
    code: Full Python code using the diagrams library.
    filename: Output filename without extension.
    format: Output format — ``"png"`` (default), ``"svg"``, or ``"pdf"``.
    download_link: If True, return a temporary download URL path
                   (/images/{token}) that expires after 15 minutes; if
                   False, return inline image bytes. Defaults to True
                   (URL) — set ``DIAGRAMS_INLINE_DEFAULT=true`` on the
                   server to flip the default. SVG/PDF and PNGs larger
                   than the inline limit always use a download link. Endpoint: https://diagrams-mcp-production.up.railway.app/mcp
- list_providers - List all available diagram providers (aws, gcp, azure, k8s, onprem, etc.).

Use list_providers -> list_services -> list_nodes to browse available node types
for a specific provider. Endpoint: https://diagrams-mcp-production.up.railway.app/mcp
- list_services - List service categories for a provider (e.g. 'aws' -> ['compute', 'database', ...]).

Args:
    provider: Provider name from list_providers (e.g. 'aws', 'gcp', 'k8s'). Endpoint: https://diagrams-mcp-production.up.railway.app/mcp
- list_nodes - List available node classes for a provider.service combo.

Args:
    provider: Provider name (e.g. 'aws', 'gcp', 'k8s').
    service: Service category (e.g. 'compute', 'database', 'network').

Returns:
    List of nodes with keys: name, import, alias_of (optional). Endpoint: https://diagrams-mcp-production.up.railway.app/mcp
- search_nodes - Search for diagram nodes by keyword across all providers and services.

For targeted browsing when you know the provider, use list_providers -> list_services ->
list_nodes instead.

Args:
    query: Search term (case-insensitive substring match).

Returns:
    List of matching nodes with keys: node, provider, service, import, alias_of (optional).
    Sorted by relevance: exact match first, then prefix, then substring. Endpoint: https://diagrams-mcp-production.up.railway.app/mcp
- render_mermaid - Render a Mermaid diagram definition and return the image with metadata.

The definition should be valid Mermaid syntax (e.g. flowchart, sequence,
class, ER, state, or Gantt diagram).

Returns a list of content blocks: the rendered image plus a JSON text
block with metadata including a mermaid.live edit link for opening the
diagram in a browser editor.

Args:
    definition: Mermaid diagram definition text.
    filename: Output filename without extension.
    format: Output format — ``"png"`` (default), ``"svg"``, or ``"pdf"``.
    download_link: If True, return a temporary download URL path
                   (/images/{token}) that expires after 15 minutes; if
                   False, return inline image bytes. Defaults to True
                   (URL) — set ``DIAGRAMS_INLINE_DEFAULT=true`` on the
                   server to flip the default. SVG/PDF and PNGs larger
                   than the inline limit always use a download link. Endpoint: https://diagrams-mcp-production.up.railway.app/mcp
- render_plantuml - Render a PlantUML diagram definition and return the image.

The definition should be valid PlantUML syntax wrapped in @startuml/@enduml
(sequence, class, component, activity, state, deployment, etc.).

Args:
    definition: PlantUML diagram definition text.
    filename: Output filename without extension.
    format: Output format — ``"png"`` (default) or ``"svg"``.
            PDF is not supported (requires Batik/FOP).
    download_link: If True, return a temporary download URL path
                   (/images/{token}) that expires after 15 minutes; if
                   False, return inline image bytes. Defaults to True
                   (URL) — set ``DIAGRAMS_INLINE_DEFAULT=true`` on the
                   server to flip the default. SVG and PNGs larger than
                   the inline limit always use a download link. Endpoint: https://diagrams-mcp-production.up.railway.app/mcp
- find_equivalent - Find cross-provider equivalents for a diagram node by infrastructure role.

Given a node name (e.g. 'EC2', 'Lambda', 'ComputeEngine'), returns the
infrastructure role category it belongs to and the equivalent nodes from
other providers.

If a node name is ambiguous, use list_categories to see all mapped roles
and pick a provider-specific node name.

Args:
    node: Node class name to look up (case-insensitive, e.g. 'EC2', 'lambda').
    target_provider: Optional provider to filter equivalents to
        (e.g. 'gcp', 'azure', 'aws').  If omitted, all equivalents
        across all other providers are returned.

Returns:
    A dict with keys:
        category (str): Infrastructure role category name.
        description (str): Human-readable description of the category.
        source (dict): The matched node with keys node, provider, service, import.
        equivalents (list[dict]): Equivalent nodes, each with keys
            node, provider, service, import. Endpoint: https://diagrams-mcp-production.up.railway.app/mcp
- list_categories - List all infrastructure role categories with their mapped nodes.

Use this to browse all available equivalence mappings, or to disambiguate
node names when find_equivalent reports ambiguity.

Returns a list of category dicts, each with:
    category (str): Category identifier (e.g. 'virtual_machine').
    description (str): Human-readable description.
    providers (list[str]): Providers covered by this category.
    nodes (dict): Mapping of provider → list of node names in that category. Endpoint: https://diagrams-mcp-production.up.railway.app/mcp

## Resources
- diagrams://reference/diagram - Diagram constructor reference — parameters, defaults, and usage. MIME type: text/markdown
- diagrams://reference/edge - Edge constructor reference — parameters, operators, and styling. MIME type: text/markdown
- diagrams://reference/cluster - Cluster constructor reference — parameters, nesting, and styling. MIME type: text/markdown
- diagrams://reference/mermaid - Mermaid diagram syntax reference — common diagram types and examples. MIME type: text/markdown
- diagrams://reference/plantuml - PlantUML diagram syntax reference — common diagram types and examples. MIME type: text/markdown

## Prompts
- architecture_diagram - Guide the user through building a cloud architecture diagram Arguments: provider
- sequence_flow - Guide creation of a sequence or flow diagram Arguments: engine
- compare_providers - Walk through multi-cloud service comparison Arguments: service_role
- quick_sketch - Minimal-friction path: describe what to visualize and the best engine is picked automatically Arguments: description

## Metadata
- Owner: io.github.mskry
- Version: 0.1.2
- Runtime: Pypi
- Transports: STDIO, HTTP
- License: Not captured
- Language: Not captured
- Stars: Not captured
- Updated: Apr 11, 2026
- Source: https://registry.modelcontextprotocol.io
