Skip to main content

An MCP server that generates beautiful Excalidraw architecture diagrams with perfect auto-layout, stateful editing, and architecture-aware component styling.

Project description

Excalidraw Architect MCP

PyPI Cursor Directory License: MIT

An MCP server that generates beautiful Excalidraw architecture diagrams with perfect auto-layout, stateful editing, and architecture-aware component styling.

No API keys. No local models. Works with any AI IDE that supports MCP (Cursor, Windsurf, Antigravity etc.).

excalidraw-architect-mcp MCP server

The Problem

AI IDEs/LLMs generate diagrams as Mermaid or ASCII art. When they try Excalidraw, they hallucinate coordinates - boxes overlap, arrows cross, and the result needs manual cleanup.

The Solution

Tell the AI what to draw. This MCP handles where and how.

  • Perfect layouts every time - Sugiyama algorithm with adaptive spacing; no overlapping boxes
  • Architecture-aware styling - Say "Kafka" and get a stream-styled node, not a generic rectangle
  • Talk to your diagrams - Add, remove, or rewire components on an existing diagram with natural language
  • Hub node visualization - Gateways and load balancers auto-stretch to span their connected services

See It In Action

Every frame below is generated entirely by AI using this MCP -- zero manual positioning.

E-Commerce Platform Architecture

E-Commerce Platform Demo

Payment Processing Flow

Payment Processing Flow Demo

Quick Start

Install

pip install excalidraw-architect-mcp

Or run without installing (requires uv):

uvx excalidraw-architect-mcp

Configure MCP in Your IDE

Cursor - Add to .cursor/mcp.json:

{
  "mcpServers": {
    "excalidraw-architect": {
      "command": "excalidraw-architect-mcp",
      "transport": "stdio"
    }
  }
}

Windsurf / Other IDEs - Same pattern; point to the excalidraw-architect-mcp command over stdio.

Install the Diagram Design Skill (recommended)

This repo includes a Diagram Design Skill that teaches the AI how to structure diagrams for the best results -- node count limits, topology rules, edge label guidelines, and common patterns.

For Cursor users:

mkdir -p ~/.cursor/skills/excalidraw-diagram-design && \
curl -o ~/.cursor/skills/excalidraw-diagram-design/SKILL.md \
  https://raw.githubusercontent.com/BV-Venky/excalidraw-architect-mcp/main/.skills/excalidraw-diagram-design/SKILL.md

For other IDEs: Download the SKILL.md file and add it to your IDE's prompt context or system instructions.

The AI will automatically pick up the skill and apply it when generating diagrams. Feel free to modify the rules to suit your preferences -- tweak node limits, add your own patterns, or adjust styling guidelines.

A note on diagram complexity: As the number of components and connections grows, diagrams inevitably become harder to read -- this is true for humans drawing by hand too, not just automated layout. For best results, aim for 6-15 nodes in architecture diagrams and 10-25 nodes in detailed flows. If your system is larger, split it into multiple focused diagrams rather than cramming everything into one.

Use It

Just ask your AI IDE naturally:

"Create a High Level architecture diagram of this codebase"

"Create an architecture diagram for a microservices system with an API Gateway, Auth Service, User Service, Order Service, PostgreSQL, Redis cache, and Kafka event bus"

"Convert this mermaid diagram to excalidraw diagram"

"Add a Caching layer to the Order Service in the High Level architecture diagram"

The AI calls the MCP tool with the relationship map. The MCP handles layout, styling, and output. Open the resulting .excalidraw file with the Excalidraw VS Code extension or drag it into excalidraw.com.

Features

Auto Layout Engine

Uses the Sugiyama hierarchical layout algorithm with:

  • Adaptive layer gaps - spacing adjusts based on edge label length
  • Hub node stretching - gateways/load balancers stretch to span connected services
  • Obstacle-aware edge routing - arrows curve around intermediate nodes instead of cutting through them
  • Disconnected component stacking - separate subgraphs (e.g., monitoring stack) are placed without overlap

Component Library

50+ technology mappings with automatic visual styling:

Category Technologies
Database PostgreSQL, MySQL, MongoDB, DynamoDB, Cassandra, ClickHouse, SQLite, CockroachDB
Message Queue Kafka, RabbitMQ, SQS, Redis Streams, NATS
Cache Redis, Memcached, Varnish
Load Balancer Nginx, HAProxy, ALB/ELB, Traefik, Envoy
Compute Docker, Kubernetes, Lambda, ECS, Fargate
Storage S3, GCS, Azure Blob, MinIO
API REST, GraphQL, gRPC, WebSocket
CDN CloudFront, Cloudflare
Monitoring Prometheus, Grafana, Datadog, ELK
Client Browser, Mobile, Desktop, CLI

Stateful Editing

Diagram metadata is embedded in the .excalidraw file. Ask the AI:

"Add a Redis cache in front of the database in the existing diagram"

The MCP reads the current state, applies the modification, and re-renders with proper layout.

Mermaid Conversion

Already have a Mermaid flowchart? Convert it:

"Convert this Mermaid diagram to Excalidraw" (paste your Mermaid syntax)

MCP Tools

Tool Description
create_diagram Create a new diagram from structured node/connection data
mermaid_to_excalidraw Convert Mermaid flowchart syntax to .excalidraw
modify_diagram Add/remove/update nodes and connections on an existing diagram
get_diagram_info Read current diagram state (call before modifying)

Contributing

See CONTRIBUTING.md for details.

License

MIT - see LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

excalidraw_architect_mcp-0.2.3.tar.gz (35.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

excalidraw_architect_mcp-0.2.3-py3-none-any.whl (39.7 kB view details)

Uploaded Python 3

File details

Details for the file excalidraw_architect_mcp-0.2.3.tar.gz.

File metadata

  • Download URL: excalidraw_architect_mcp-0.2.3.tar.gz
  • Upload date:
  • Size: 35.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for excalidraw_architect_mcp-0.2.3.tar.gz
Algorithm Hash digest
SHA256 c919be61d1e908a3ef4e4e49b20eef9fb184142fd0f7e94f1c956d43fdfec1e1
MD5 88035f6ad3f1efbf0b7c36cbacf0d2f1
BLAKE2b-256 797de839b4dd4e3b7324e6c002dbf05f6987ea3ce4f12fb1168dc985225b38bf

See more details on using hashes here.

Provenance

The following attestation bundles were made for excalidraw_architect_mcp-0.2.3.tar.gz:

Publisher: publish.yml on BV-Venky/excalidraw-architect-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file excalidraw_architect_mcp-0.2.3-py3-none-any.whl.

File metadata

File hashes

Hashes for excalidraw_architect_mcp-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 edbeb9ae62e19483658f8eb2f6e48c848474cc8b943775f6f71cd0c11a62dde2
MD5 aea8c9eeb3f1a119386c25af61a77b33
BLAKE2b-256 d2fd030c15cd12b1202086248df17d82f5b34399e1630d61b7039d64782dd343

See more details on using hashes here.

Provenance

The following attestation bundles were made for excalidraw_architect_mcp-0.2.3-py3-none-any.whl:

Publisher: publish.yml on BV-Venky/excalidraw-architect-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page