Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
EXCALIDRAW_TOOLSETNoActive toolset exposure profile. Valid values: core or full.core
EXCALIDRAW_FONT_DIRNoAbsolute path to a custom directory for TrueType/OpenType font discovery. Unset by default.
EXCALIDRAW_LIVE_PORTNoPort for the live canvas browser server. Valid range: 1024-65535.8080
EXCALIDRAW_SCENE_DIRNoAbsolute path to the directory where .excalidraw scenes are saved. Defaults to the OS user data directory.
EXCALIDRAW_EXPORT_DIRNoAbsolute path to the target directory for PNG image exports. Defaults to EXCALIDRAW_SCENE_DIR/exports.
EXCALIDRAW_LIVE_TOKENNoShared secret required for mutating live canvas requests. Unset by default.
EXCALIDRAW_ALLOW_REMOTENoPermits live canvas binding to non-loopback interfaces. Valid values: 1 or true. Unset by default.
EXCALIDRAW_MAX_ELEMENTSNoMaximum elements allowed per scene. Valid range: 1-100000.10000
EXCALIDRAW_HISTORY_LIMITNoMaximum undo snapshots retained in memory. Valid range: 1-100.20
EXCALIDRAW_MAX_SCENE_BYTESNoMaximum file size in bytes accepted when loading scenes. Valid range: 1024-104857600.26214400
EXCALIDRAW_MAX_EXPORT_BYTESNoMaximum payload size in bytes for scene export operations. Valid range: 1024-104857600.26214400
EXCALIDRAW_MAX_HISTORY_BYTESNoMemory budget in bytes for the serialized undo stack. Valid range: 1024-524288000.104857600

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
extensions
{
  "io.modelcontextprotocol/ui": {}
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
add_rectangleC

Add a rectangle to the scene.

Style parameters are optional — when omitted, Excalidraw defaults are used.

add_circleC

Add a circle (ellipse) to the scene.

add_diamondC

Add a diamond to the scene.

add_arrowC

Add an arrow between two points.

Optionally add bound text near the arrow midpoint.

add_frameC

Add a frame (boundary container) to the scene.

Optionally assign existing elements to this frame using element_ids.

clearA

Remove all elements, app state and files from the scene.

deleteA

Delete an element and its owned label; detach surviving connectors.

moveB

Move an element and its label. Shape connectors follow; directly moved arrows detach.

saveC

Save a consistent snapshot. Set overwrite=true to replace an existing file.

get_sceneC

List active elements with pagination and the current revision.

get_elementB

Return one active element by ID.

add_textB

Add standalone text and return its element ID. font_family can be 'excalifont', 'sans-serif', 'monospace', 'comic-shanns', or an Excalidraw font number (1=Excalifont, 2=sans-serif, 3=monospace, 4=comic-shanns).

update_elementC

Update a label, font, and/or styles. An empty label removes an existing label.

resizeB

Resize a shape and recenter its label.

connectB

Connect two existing shapes by ID with a bound arrow.

find_elementsC

Find active elements matching query string, type, frame, or connection criteria.

get_resourceC

Retrieve scene, library, theme, or element resources through a unified interface.

auto_fix_layoutC

Diagnose, plan, and automatically repair layout defects (overlaps, text clipping, containment, routing, spacing) with rollback safety.

undoA

Restore the scene before the most recent successful mutation.

export_sceneA

Return an embedded .excalidraw document for the client to save/import. No file is written.

loadB

Replace the scene with a saved document; concurrent changes cause a retry error.

previewB

Render an inline PNG image preview of the active Excalidraw canvas.

export_pngC

Export the active scene to a PNG image file in a project or configured directory.

draw_architectureA

Replace the scene with a diagram from comma/newline-separated components.

Supports "shape: label" syntax where shape can be rectangle/box, circle/ellipse, or diamond. Components are arranged horizontally with automatic connectors.

All style parameters are optional and apply globally to every element.

draw_mermaidC

Parse Mermaid flowchart/graph code and render it directly to the Excalidraw scene.

get_scene_summaryA

Return structured numerical metrics and topological metadata (counts, element dimensions, layers, code blocks, text contents) for layout planning.

describe_sceneB

Generate a human/agent-readable natural language prose description of the diagram's spatial layout, clusters, and connectivity for cognitive verification.

Prompts

Interactive templates invoked by user choice

NameDescription
create_architecture_diagramComprehensive 10-step workflow to plan, construct, validate, and export a production architecture diagram.
create_flowchartPrompt guiding an AI agent to design a clean, professional flowchart, pipeline, or decision logic diagram.
plan_diagramFormulate a written architectural plan, node inventory, tier breakdown, and palette selection before drawing.
edit_existing_diagramSafely inspect and modify an existing Excalidraw scene while preserving layout structure and visual balance.
verify_and_export_diagramComprehensive 5-step quality gate: diagnose layout, auto-repair, visual preview inspection, and dual export.

Resources

Contextual data attached and managed by the client

NameDescription
capabilities_resourceRead active server capabilities, toolset mode, and configuration metadata.
skills_indexDiscovery index of available agent skills, supporting reference documents, and recommended workflows.
skill_architecture-diagramsSkill: architecture-diagrams — Design and implement production-grade system, cloud, distributed services, and infrastructure architecture diagrams using the exca-mcp MCP server. Use when creating multi-tier backend architectures, microservices topologies, cloud infrastructure, trust and deployment boundaries, or database persistence diagrams with frames, side columns, and explicit protocol connectors.
ref_architecture-diagrams_architecture-patternsReference: architecture-patterns for skill architecture-diagrams
skill_diagram-planningSkill: diagram-planning — Formulate a structured architectural plan before invoking any Excalidraw MCP creation tool. Use when an agent receives any diagram request (architecture, flowchart, data pipeline, system design) to determine diagram type, audience, layout tiers, flow direction, node density limits, entry tool selection, and semantic color palette before drawing.
ref_diagram-planning_entry-tool-decision-treeReference: entry-tool-decision-tree for skill diagram-planning
skill_excalidraw-workflowSkill: excalidraw-workflow — Create, edit, validate, and export professional, fully editable Excalidraw diagrams using the exca-mcp MCP server. Use whenever an agent needs to create or modify diagrams and save both native .excalidraw files and high-quality PNG exports.
skill_flowcharts-and-processesSkill: flowcharts-and-processes — Design clear, human-polished flowcharts, decision trees, CI/CD pipelines, and state machines with single starts, clear terminals, labeled decision branches, and clean loop routing.
ref_flowcharts-and-processes_flowchart-patternsReference: flowchart-patterns for skill flowcharts-and-processes
skill_human-style-and-polishSkill: human-style-and-polish — Apply the professional hand-drawn Excalidraw aesthetic using restrained semantic palettes, intentional typography, consistent grid spacing, and verified geometric clearances.
ref_human-style-and-polish_anti-patternsReference: anti-patterns for skill human-style-and-polish
ref_human-style-and-polish_palette-catalogReference: palette-catalog for skill human-style-and-polish
skill_verify-and-editable-handoffSkill: verify-and-editable-handoff — Run layout diagnostics, fix overlaps and spacing defects with auto_fix_layout, visually inspect PNG preview, enforce human editability, and export dual .excalidraw and PNG formats.
ref_verify-and-editable-handoff_delivery-checklistReference: delivery-checklist for skill verify-and-editable-handoff

TDQS

B3/5.0

Scored across 27 tools

Disambiguation3/5

Most shape creation tools are distinct, but scene-read/introspection tools overlap heavily (get_scene, get_scene_summary, describe_scene, find_elements, get_resource), as do output/persistence tools (save, export_scene, export_png, preview, load). Agents can usually infer the right tool from descriptions, but several boundaries are fuzzy.

Naming Consistency4/5

Names are consistently lowercase snake_case and mostly follow verb_noun for actions, such as add_rectangle, get_scene, update_element, and export_png. A handful of bare verbs (clear, delete, move, save, undo, load, preview, connect, resize) introduce minor inconsistency but remain readable.

Tool Count2/5

With 27 tools, the server is above the reasonable range for a drawing MCP and includes several tools that could be consolidated, especially scene introspection and export variants. The surface is feature-rich, but the count feels heavy and increases selection burden.

Completeness5/5

The tool set covers the full diagram lifecycle: creation, reading, updating, deletion, movement/resizing, connections, layout repair, undo, persistence/export, and higher-level diagram generation. There are no obvious missing core operations for an Excalidraw scene editor.

Maintenance

ActivityActive
ResponsivenessLimited data