tldraw MCP Server
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.
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": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| tldraw_new_document | Create a new empty tldraw document with one default page. Replaces any currently loaded document. |
| tldraw_load_document | Load a .tldr file from disk. Replaces any currently loaded document. |
| tldraw_save_documentA | Save the current document to a .tldr file on disk. |
| tldraw_get_document_infoA | Get an overview of the current document: pages, shape counts per page, total bindings, and assets. |
| tldraw_create_pageA | Add a new page to the document. |
| tldraw_list_pagesA | List all pages in the document with their IDs, names, and shape counts. |
| tldraw_rename_pageB | Rename a page. |
| tldraw_delete_pageA | Delete a page and all its shapes. Cannot delete the last remaining page. |
| tldraw_reorder_pageA | Move a page before or after another page in the page list. |
| tldraw_create_geoB | Create a geometric shape. 20 subtypes available: rectangle, ellipse, triangle, diamond, pentagon, hexagon, octagon, star, rhombus, rhombus-2, oval, trapezoid, arrow-right, arrow-left, arrow-up, arrow-down, x-box, check-box, cloud, heart. Supports text labels inside the shape. |
| tldraw_create_textC | Create a text shape on the canvas. |
| tldraw_create_arrowB | Create an arrow shape. Supports straight, curved (bend), and auto-binding to shapes. Set startBinding/endBinding to connect the arrow to shapes. |
| tldraw_create_drawA | Create a freehand drawing shape from an array of points. Points are encoded into tldraw's internal format automatically. |
| tldraw_create_lineB | Create a line shape with multiple control points. Supports straight line segments or cubic spline interpolation. |
| tldraw_create_noteA | Create a sticky note shape. Notes have a fixed square size and colored background. |
| tldraw_create_frameA | Create a frame shape. Frames act as containers — other shapes can be reparented into them using tldraw_reparent_shapes. |
| tldraw_create_imageB | Create an image shape. Requires an asset ID (create one first with tldraw_create_asset). |
| tldraw_create_videoA | Create a video shape. Requires an asset ID (create one first with tldraw_create_asset). |
| tldraw_create_embedB | Create an embed shape for external content (YouTube, Figma, CodeSandbox, Google Maps, etc.). |
| tldraw_create_highlightA | Create a highlighter stroke shape from an array of points. Similar to draw but with translucent highlight appearance. |
| tldraw_create_bookmarkB | Create a bookmark shape that displays a URL preview card. |
| tldraw_move_shapesB | Move shapes by delta (relative) or to absolute position. Provide deltaX/deltaY for relative moves, or toX/toY for absolute positioning. |
| tldraw_resize_shapesC | Set width and/or height of shapes. |
| tldraw_rotate_shapesB | Set rotation of shapes in radians. |
| tldraw_delete_shapesA | Delete shapes and cascade-delete their bindings and children. |
| tldraw_duplicate_shapesB | Duplicate shapes with an optional offset. |
| tldraw_restyle_shapesA | Change visual style properties of shapes (color, fill, dash, size, font). |
| tldraw_update_shape_propsC | Low-level: directly set any properties on a shape's props object. Use with caution. |
| tldraw_set_opacityA | Set opacity of shapes (0 = transparent, 1 = fully opaque). |
| tldraw_lock_shapesA | Lock or unlock shapes. Locked shapes cannot be selected or moved in the UI. |
| tldraw_reorder_shapesA | Change z-order of shapes: move to front, to back, one step forward, or one step backward. |
| tldraw_reparent_shapesA | Move shapes into or out of frames/groups. Set newParentId to a frame/group ID to nest, or to a page ID to un-nest. |
| tldraw_group_shapesA | Group multiple shapes together into a group shape. Minimum 2 shapes required. |
| tldraw_ungroup_shapesB | Dissolve a group, promoting its children back to the parent level. |
| tldraw_list_shapesA | List shapes on a page. Optionally filter by shape type and/or color. |
| tldraw_get_shapeB | Get full details of a shape including all its properties. |
| tldraw_get_bindings_for_shapeB | Get all bindings (arrow connections) that involve a specific shape. |
| tldraw_bind_arrowA | Bind an arrow's start or end terminal to a target shape. This creates a visual connection that follows the shape when moved. |
| tldraw_unbind_arrowB | Remove the binding from an arrow's start or end terminal. |
| tldraw_list_bindingsA | List all bindings (arrow connections) in the document, optionally filtered by page. |
| tldraw_create_assetA | Create an asset record (image, video, or bookmark). Use the returned asset ID with shape creation tools like tldraw_create_image or tldraw_create_video. |
| tldraw_list_assetsB | List all assets in the current document. |
| tldraw_set_cameraA | Set the camera (viewport) position and zoom level for a page. |
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 41 tools
Each tool targets a distinct action and resource type. For example, the 12 create tools each handle a different shape type (geo, text, arrow, draw, line, note, frame, image, video, embed, highlight, bookmark), and all manipulation tools (move, resize, rotate, delete, etc.) are clearly separated. There is no functional overlap or confusion between tools.
All tools follow a consistent 'tldraw_verb_noun' pattern in snake_case, with clear verbs like create, list, get, set, delete, rename, etc. The naming is predictable and uniform, making it easy for an agent to infer the action from the tool name.
With 41 tools, the count exceeds the typical well-scoped range (3-15) significantly. While each tool serves a specific purpose, the sheer number can overwhelm an agent and suggests that some consolidation could be beneficial (e.g., merging the many create tools or using parameters). The scope is broad, but the tool count feels heavy.
The tool surface covers the full lifecycle of tldraw documents, pages, shapes (creation, manipulation, styling, grouping, binding), assets, and camera control. It includes CRUD operations for pages, a wide range of shape types, and support for bindings and assets. There are no obvious gaps for typical drawing and diagramming workflows.