# Diagrams

> Use this tool when you need to generate infrastructure and architecture diagrams as code, solving problems such as visualizing complex systems, creating flowcharts, and documenting architecture. It takes Python code as input and outputs diagrams in various formats, including PNG, PDF, and JPG, with features like custom icons, validation, and clustering. Use it in contexts where diagrammatic representation of systems and processes is required, such as IT, networking, and software development.

Canonical page: https://skillsregistry.net/skills/apetta-diagrams-mcp  
JSON: https://api.skillsregistry.net/v1/skills/apetta-diagrams-mcp

## Description

A local/remote MCP server for generating infrastructure and architecture diagrams as code using the Python [diagrams](https://diagrams.mingrammer.com/) library

## Features

**5 Diagram Tools** for infrastructure, architecture, and flowcharts:

- **Infrastructure Diagrams** - 15+ providers (AWS, Azure, GCP, K8s, On-Prem, SaaS)
- **500+ Node Types** - Compute, database, network, storage, security
- **Custom Icons** - Web URLs (HTTPS) and local files
- **Flowcharts** - 24 shapes for process diagrams
- **Validation** - Dry-run before generation

**Advanced Capabilities:**

- Multiple output formats (PNG, PDF, JPG, DOT)
- Cluster grouping with unlimited nesting
- Edge styling (colours, labels, line styles)
- Graphviz attribute customisation

## Installation

**System Requirements:**

- Graphviz must be installed:
  - macOS: `brew install graphviz`
  - Ubuntu/Debian: `sudo apt-get install graphviz`
  - Windows: Download from https://graphviz.org/download/

### IDEs

[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install_diagrams-0098FF?style=flat-square&logo=visualstudiocode&logoColor=ffffff)](vscode:mcp/install?%7B%22name%22%3A%22diagrams%22%2C%22type%22%3A%22stdio%22%2C%22command%22%3A%22uvx%22%2C%22args%22%3A%5B%22diagrams-mcp%22%5D%7D)

[![Install MCP Server](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en-US/install-mcp?name=diagrams&config=eyJjb21tYW5kIjoidXZ4IGRpYWdyYW1zLW1jcCJ9)

### Claude Desktop

Add to your `claude_desktop_config.json`:

**For published package:**

```json
{
  "mcpServers": {
    "diagrams": {
      "command": "uvx",
      "args": ["diagrams-mcp"]
    }
  }
}
```

**For local development:**

```json
{
  "mcpServers": {
    "diagrams:local": {
      "command": "uv",
      "args": [
        "--directory",
        "/ABSOLUTE/PATH/TO/diagrams-mcp",
        "run",
        "diagrams-mcp"
      ]
    }
  }
}
```

### Claude Code

**Quick setup (CLI):**

Published package:

```bash
claude mcp add --transport stdio math -- uvx diagrams-mcp
```

**Team setup (project-level):**

Add `.mcp.json` to your project root:

```json
{
  "mcpServers": {
    "diagrams": {
      "command": "uvx",
      "args": ["diagrams-mcp"]
    }
  }
}
```

**Verify installation:**

```bash
claude mcp list
```

Or check in IDE: View → MCP Servers, or use `/mcp` command.

## Try It

Once installed, try these prompts:

- "Create an AWS 3-tier web application diagram with Route53, ELB, EC2 instances, and RDS"
- "Generate a Kubernetes microservices architecture with ingress, services, and pods"
- "Build a flowchart for a CI/CD pipeline with decision points"
- "Create a diagram using a custom icon from my company logo URL"
- "Show me all available AWS compute nodes"

Map to tools: `create_diagram`, `create_diagram_with_custom_icons`, `create_flowchart`, `list_available_nodes`, `validate_diagram_spec`

## Tool Reference

All tool parameters and descriptions are available in your IDE's autocomplete.

### Diagram Generation (3 tools)

| Tool                               | Description                                                  |
| ---------------------------------- | ------------------------------------------------------------ |
| `create_diagram`                   | Full infrastructure/architecture diagrams with all providers |
| `create_diagram_with_custom_icons` | Diagrams with custom node icons from URLs or local files     |
| `create_flowchart`                 | Simplified flowchart creation with 24 process shapes         |

### Discovery & Validation (2 tools)

| Tool                    | Description                                                   |
| ----------------------- | ------------------------------------------------------------- |
| `list_available_nodes`  | Search 500+ available nodes by provider, category, or keyword |
| `validate_diagram_spec` | Dry-run validation before generation                          |

## Custom Icons

### Web URL Icons

- HTTPS-only (HTTP rejected)
- 5MB file size limit
- 5-second download timeout
- Image format validation (PNG, JPG)
- Automatic caching (~/.diagrams_mcp/icon_cache)

### Local File Icons

- Path validation (file must exist)
- Format validation
- Sandboxed execution

## Trust

- **Trust score (0–1):** 0.94
- **Verification tier:** verified
- **Last scanned:** 2026-09-28

## Facts

- **Version:** 1.0.0
- **Skill type:** atomic
- **Execution layer:** container
- **Runtime environment:** vm
- **Category:** database
- **Updated:** 2026-09-28

## Source

- **Source listing:** [Smithery](https://smithery.ai/server/apetta/diagrams-mcp)
- **Repository:** <https://github.com/apetta/diagrams-mcp>

## Use it

Resolve this record through the SkillsRegistry MCP server (no auth, read-only):

```
claude mcp add --transport http --scope user skillsregistry https://api.skillsregistry.net/mcp
```

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_skill",
    "arguments": {
      "slug": "apetta-diagrams-mcp"
    }
  }
}
```

REST: `GET https://api.skillsregistry.net/v1/skills/apetta-diagrams-mcp` · pull for local use: `GET https://api.skillsregistry.net/v1/skills/apetta-diagrams-mcp/pull`

---
SkillsRegistry indexes agent skills from public registries and GitHub. Skills we have analysed are scanned with Circle-IR and scored on six dimensions; each listing states its scan coverage. More: https://skillsregistry.net/llms.txt
