Excalidraw MCP Diagram Agent
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| NVIDIA_API_KEY | No | Optional NVIDIA API key for the model backend. Without it, the server runs in offline rules-only mode. | |
| EXCALIDRAW_MCP_MODEL | No | Model name to use with the OpenAI-compatible endpoint. Optional. | |
| EXCALIDRAW_MCP_BASE_URL | No | Base URL for any OpenAI-compatible endpoint (e.g., Ollama, vLLM, OpenRouter). Optional. |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| create_diagramA | Describe a system in plain English and get back a complete, editable Excalidraw scene: shapes laid out automatically, arrows genuinely bound to the shapes they connect, and labels attached to their containers. Optionally writes the scene to a .excalidraw file. |
| validate_diagramA | Check an Excalidraw scene for schema errors, one-sided arrow bindings, labels whose container does not acknowledge them, arrows whose endpoints float away from the shapes they claim to be bound to, and overlapping shapes. Accepts the JSON itself or a path to a .excalidraw file. |
| diagram_backend_statusA | Says whether a language model is configured or whether the server will use its offline rule parser. Useful for telling a downgrade apart from a deliberate offline run. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 3 tools
Each tool serves a distinct purpose: creating diagrams, validating diagrams, and checking backend status. There is no overlap or ambiguity between them.
Two tools follow the verb_noun pattern (create_diagram, validate_diagram), while diagram_backend_status is more of a noun phrase. All use snake_case consistently, and the names are clear and descriptive.
With 3 tools, the server is well-scoped for the domain of diagram creation and validation. Each tool is essential and there is no bloat.
The core workflow of creating and validating diagrams is covered. Minor gaps exist such as no explicit update/delete tool for existing diagrams, but the 'editable scene' output and file writing mitigate this.