Excaliself
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
Excaliself is a self-hosted Excalidraw. You act as Ada Admin. Every drawing and folder lives in a Space: "private" (only this member sees it) or "team" (every member sees it). You can find, read, and create drawings, create folders, move drawings between folders of one Space, and move drawings and folders to the trash or back. Members can restore trashed items from Trash for 30 days. You can't change what is in a drawing, and you can't delete anything for good.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_drawingsA | Lists the drawings you can see, most recently edited first, with their Space and folder. |
| search_drawingsA | Finds drawings whose name or text contains every word of the query, case-insensitive. Name matches come first; each result has a snippet of the text around the match. |
| list_foldersB | Lists the folders you can see, with their Space and path. |
| read_drawingA | Describes a drawing: its shapes and their labels, text, which shapes arrows connect, and what sits inside what, with positions. Not the raw Excalidraw JSON. |
| create_drawingA | Creates a NEW drawing from simple elements and/or a Mermaid flowchart, and returns its link. What is in an existing drawing can't be changed. Elements: shapes ("rectangle", "ellipse", "diamond") with an optional label; "text"; and "arrow" or "line" connectors that join shapes by id ("from", "to") or run between points ("start", "end"). Shapes and text without x/y are laid out automatically, in "direction", with arrows routed between them; labels wrap and shapes grow to fit. Auto-layout gives the cleanest diagrams: give x/y (top-left, pixels, y grows down) only for layouts a graph can't express, such as grids or timelines. Keep arrow labels to a few words; put detail in shape labels or a text note. Mermaid: a "flowchart"/"graph" diagram, with node shapes, edge labels, dotted and thick edges, subgraphs (drawn as titled boxes), and node colors from "style id fill:#a5d8ff,stroke:#1971c2" lines (hex or named colors) (classDef and class are ignored). Other Mermaid diagram types are not supported. Both can be sent at once: they are laid out together, and arrows may join flowchart nodes by their Mermaid ids. Up to 500 elements in all, Mermaid nodes and edges included. Colors: Excalidraw's palette reads best, e.g. backgrounds "#a5d8ff" (blue), "#b2f2bb" (green), "#ffec99" (yellow), "#ffc9c9" (red), "#d0bfff" (violet), "#e9ecef" (gray). |
| create_folderA | Creates a folder, at the top of a Space or inside another folder. Put drawings in it with create_drawing or move_drawing. |
| move_drawingA | Moves a drawing into a folder, or to the top of its Space. The folder must be in the drawing's Space: a drawing can't move between Spaces. |
| trash_drawingA | Moves one drawing to the trash. Members can restore it from Trash for 30 days; after that it is deleted for good. In Team, every member loses it. |
| trash_folderA | Moves one folder to the trash, with its subfolders and every drawing in them. Members can restore it from Trash for 30 days, as one unit; after that it is deleted for good. In Team, every member loses it. |
| restore_drawingA | Takes a drawing out of the trash, back to its folder. If that folder is gone, it lands in the nearest folder above it, or at the top level. |
| restore_folderA | Takes a folder out of the trash, with everything that was trashed with it. If its parent folder is gone, it lands in the nearest folder above it, or at the top level. |
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 11 tools
Each tool targets a distinct resource and action: read_drawing returns content while list_drawings/search_drawings discover drawings, and trash/restore pairs are clearly scoped to drawings vs folders. No two tools could plausibly be misselected for the same intent.
Every tool follows a strict verb_noun snake_case pattern (read_drawing, list_folders, create_folder, trash_folder, restore_drawing, move_drawing). The verb set is small and used symmetrically across the drawing and folder resources.
11 tools is well within the ideal range and each earns its place, covering discovery, creation, organization, and lifecycle for both drawings and folders. Nothing feels padded or missing at the count level.
The set covers create/read/list/search/move/trash/restore for drawings and create/trash/restore for folders, but there is no way to update or rename an existing drawing (explicitly disallowed) and no move_folder or rename_folder, so folders can never be reorganized. Agents hitting a typo or a misplaced folder will dead-end.