loading…
Search for a command to run...
loading…
An MCP server that generates beautiful Excalidraw architecture diagrams with perfect auto-layout, stateful editing, and architecture-aware component styling.
An MCP server that generates beautiful Excalidraw architecture diagrams with perfect auto-layout, stateful editing, and architecture-aware component styling.
PyPI Cursor Directory License: MIT
It's been a constant struggle trying to understand unfamiliar and complex codebases - managing cognitive overload and trying to imagine how everything fits together.
When you're onboarding onto a codebase, designing a new system, or documenting existing architecture, a visual diagram communicates in seconds what pages of text can't. But the options today aren't great. Mermaid diagrams are quick to generate but have limited capabilities - you can't drag a node to reposition it, group components visually. Excalidraw solves these problems, but when LLMs try to generate Excalidraw directly, they hallucinate coordinates - boxes overlap, arrows tangle, and you end up fixing the diagram manually.
excalidraw-architect-mcp separates the what from the where - the AI focuses on structure, the engine handles the pixel math.
Your LLM describes the components and connections, and the MCP handles layout, styling, and rendering using a proper graph layout algorithm. 50+ technologies (Kafka, PostgreSQL, Redis, etc.) get auto-styled, you can iteratively edit diagrams with natural language ("add a cache in front of the DB"), and it runs fully offline in Cursor/Windsurf - no API keys needed.
Every frame below is generated entirely by AI using this MCP - zero manual positioning.


.excalidraw file into your repo and update it with natural language as the system evolves. No more stale diagrams from six sprints ago.pip install excalidraw-architect-mcp
Or run without installing (requires uv):
uvx excalidraw-architect-mcp
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.
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.
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.
Uses the Sugiyama hierarchical layout algorithm with:
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 |
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.
Already have a Mermaid flowchart? Convert it:
"Convert this Mermaid diagram to Excalidraw" (paste your Mermaid syntax)
| 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) |
See CONTRIBUTING.md for details.
MIT - see LICENSE.
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"excalidraw-architect-mcp": {
"command": "npx",
"args": []
}
}
}