What is Excalidraw Icons MCP?
Excalidraw Icons MCP is an Excalidraw server built around real vendor icons. An agent draws on a persistent live canvas through 31 tools, searches official AWS, Azure, GCP, OCI and Kubernetes icons, inspects its own work with a screenshot, and exports scenes as JSON, images or share links.
The README's demo shows an agent building a serverless AWS diagram step by step with Route 53, CloudFront, API Gateway, Lambda, DynamoDB, SQS and S3. The point is official icons instead of generic rectangles, drawn on a canvas the agent can see.
It runs as two processes: a canvas server with a web UI, REST API and WebSocket updates, and an MCP server that talks to it over stdio. Several agents can draw on the same canvas concurrently.
How it differs from the official Excalidraw MCP
- Programmatic control per element, with create, read, update and delete, instead of one shot prompt to diagram.
- A persistent canvas with
describe_scenefor text andget_canvas_screenshotfor an image, so the agent can draw, look and adjust. - Layout tools such as
align_elements,distribute_elementsand grouping, plus snapshot and restore. - File I/O for
.excalidrawJSON and a Mermaid conversion tool.
Where it fits
Best for
- Cloud and platform engineers who need diagrams with the right vendor icons, then a canvas they can refine by hand.
- Teams documenting systems alongside a design tool. Related: Penpot and Figma.
- Agents that also need to sketch architecture. Related: Framelink.
Watch out for
- Official AWS, Azure, GCP and OCI icon packs are user supplied. Kubernetes icons are bundled.
- The canvas stores elements in memory, so a restart clears them. Export scenes if you need persistence.
- The API has no built in authentication, so keep the default 127.0.0.1 binding unless you add network controls.
Use it with UiChemy
This server draws diagrams, not web pages. When the system you documented needs a WordPress front end, UiChemy's Composer builds it, and Figma to WordPress converts a design into the site. Click Get Started on uichemy.com.
Connect Excalidraw Icons MCP: Architecture Diagrams With Real Vendor Icons to your AI client
docker run -d -p 3000:3000 --name excalidraw-icons-canvas ghcr.io/iagogfe/excalidraw-icons-mcp-canvas:latestStart the canvas first
Run the canvas container above, or from source run
npm ci,npm run buildandPORT=3000 npm run canvas. Open the canvas in a browser.Register the MCP server
Use the JSON block for Cursor, Claude Desktop or Antigravity. In Claude Code run
claude mcp add excalidraw --scope user -- docker run -i --rm -e EXPRESS_SERVER_URL=http://host.docker.internal:3000 -e ENABLE_CANVAS_SYNC=true ghcr.io/iagogfe/excalidraw-icons-mcp:latest. Codex CLI usescodex mcp add.Supply vendor icons
AWS, Azure, GCP and OCI packs are user supplied, as the Vendor Icons section of the README explains.
Optional skill
Copy
skills/excalidraw-skillinto~/.claude/skillsor~/.codex/skillsfor a workflow playbook and helper scripts.
Client configuration
{
"mcpServers": {
"excalidraw": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "EXPRESS_SERVER_URL=http://host.docker.internal:3000",
"-e", "ENABLE_CANVAS_SYNC=true",
"ghcr.io/iagogfe/excalidraw-icons-mcp:latest"
]
}
}
}Endpoints and ports
http://127.0.0.1:3000Default canvas serverhttp://127.0.0.1:3000Where the MCP server finds the canvastrueReal time canvas synchost.docker.internalUse it to reach a host canvas from a containerWhat you can do with it
- Real vendor iconsOfficial AWS, Azure, GCP and OCI packs, bundled Kubernetes icons, simple-icons, Tabler and Iconify are all searchable.
- See what was drawnStructured scene text plus a screenshot close the loop, so the agent can refine its own diagram.
- Per domain conventionsThe diagram guide returns canonical icons, boundary containers and shape semantics for each diagram type.
- Auto layout and validationBatch creation can arrange nodes, and a validator flags overlaps and crossing arrows.
- Snapshots and file I/OSave and restore canvas states, and move scenes in and out as .excalidraw JSON.
- Shareable linksOne tool uploads an encrypted scene to excalidraw.com and returns a URL.
- Multi agent canvasSeveral agents can draw on one canvas at the same time.
- REST fallbackThe agent skill falls back to HTTP endpoints when no MCP server is configured.
Tools it exposes
search_official_icon
Finds real vendor icons, from official packs, Kubernetes, simple-icons, Tabler and Iconify.
add_image
Inserts a found icon onto the canvas.
search_library_items
Searches shapes from libraries.excalidraw.com.
insert_library_item
Inserts a community library shape.
batch_create_elements
Creates many elements at once, with autoLayout to arrange nodes and remove overlaps.
validate_layout
Flags overlaps, cramped spacing and crossing arrows.
read_diagram_guide
Returns conventions for network, cloud-aws, cloud-gcp, cloud-azure, c4, erd, flowchart and sequence diagrams.
describe_scene
Describes the canvas as structured text.
get_canvas_screenshot
Returns an image of the canvas.
get_element
Reads one element.
duplicate_elements
Duplicates elements.
align_elements
Aligns selected elements.
distribute_elements
Distributes elements evenly.
snapshot_scene
Saves a named canvas state.
restore_snapshot
Restores a saved state.
export_scene
Exports the scene as .excalidraw JSON.
import_scene
Imports a .excalidraw JSON file.
export_to_image
Exports the canvas as an image.
export_to_excalidraw_url
Encrypts and uploads the scene to excalidraw.com and returns a shareable link.
set_viewport
Zooms to fit, centers on an element or sets zoom and offset manually.
create_from_mermaid
Converts Mermaid into Excalidraw elements.
clear_canvas
Clears the canvas.
Frequently asked questions
What is Excalidraw Icons MCP?
Excalidraw Icons MCP is an Excalidraw MCP server that lets an AI agent draw architecture diagrams with real vendor icons on a live canvas. It exposes 31 tools for icon search, element editing, layout, scene export and visual inspection of the canvas.
How do I install Excalidraw Icons MCP?
Start the canvas with the ghcr.io/iagogfe/excalidraw-icons-mcp-canvas:latest Docker image or npm run canvas, then register the MCP server with your client using Docker or node dist/index.js. The README needs Node 20 or newer for the local route.
Which icon sets can it use?
Official AWS, Azure, GCP and OCI packs that you supply yourself, bundled Kubernetes icons, simple-icons under CC0, Tabler under MIT, and Iconify with roughly 200,000 icons fetched on demand and cached. Community libraries from libraries.excalidraw.com are also searchable.
How is it different from the official Excalidraw MCP?
The official one turns a prompt into a diagram in one shot. This project keeps a persistent canvas, edits individual elements, lets the agent view the result and adds snapshots, layout tools and file import and export. Related: the Figma MCP page.
Which agents work with it?
The README shows configuration for Claude Desktop, Claude Code, Cursor, Codex CLI, OpenCode and Antigravity. It also ships a portable agent skill for Claude Code, Codex CLI and other skill enabled agents.
Is the canvas secure for team use?
Not by default. The server binds to 127.0.0.1, and the README warns the API has no built in authentication. If you set HOST to 0.0.0.0 for Docker or remote access, add network level access controls yourself.
Does it keep my diagrams after a restart?
No. The canvas server stores elements in memory, and restarting clears them. Use export_scene or the export scripts to keep a copy, and import_scene to load a saved .excalidraw JSON file back in.



