Skip to main content

Tools Reference

All tools operate on the live Studio editor in real-time via WebSocket. Changes appear on the canvas instantly. The server exposes tools in four categories: Template, Node, Token, and Schema.
No pageId parameter is needed for most tools — they operate on the currently active page in Studio. Multi-page tools like list_pages and read_page let you inspect other pages.

Template Tools

Read the template structure and browse pages.

read_template

Read the currently loaded template from the live Studio editor. Returns the template name, category, active page, and a summary of all pages. No parameters.

list_pages

List all pages in the template with their IDs, names, paths, and types. No parameters.

read_page

Read a specific page’s full document tree including root node, tokens, and assets.
ParameterTypeRequiredDescription
pageIdstringYesThe page ID to read

Node Tools

Read, create, update, move, and delete nodes on the live canvas. Every mutation is undo-able in Studio (Ctrl+Z).

find_nodes

Search for nodes in the current page by kind, prop name/value, or text content.
ParameterTypeRequiredDescription
kindstringNoFilter by node kind (e.g., "Heading", "Button", "Layout.Stack")
propNamestringNoFilter by prop name existing on the node
propValuestringNoFilter by prop value (string match). Requires propName
textstringNoSearch text content in string props

read_node

Read a single node’s full props, slots, and parent info.
ParameterTypeRequiredDescription
nodeIdstringYesNode ID to read

update_node

Update one or more props on a node. Only pass the props you want to change — they’re merged with existing props. The canvas updates live.
ParameterTypeRequiredDescription
nodeIdstringYesNode ID to update
propsobjectYesProps to merge (partial update)

add_node

Add a new node to a parent’s slot. The canvas updates live.
ParameterTypeRequiredDescription
parentIdstringYesParent node ID
slotNamestringYesSlot name on the parent (e.g., "children")
kindstringYesNode kind to create (e.g., "Heading", "Button")
propsobjectNoInitial props
positionnumberNoInsert position (0-based). Appends if omitted

remove_node

Remove a node and all its children.
ParameterTypeRequiredDescription
nodeIdstringYesNode ID to remove

move_node

Move a node to a different parent, slot, or position.
ParameterTypeRequiredDescription
nodeIdstringYesNode to move
toParentIdstringYesTarget parent node ID
toSlotNamestringYesTarget slot name
toIndexnumberYesInsert position in the target slot

view_tree

View the node tree hierarchy in a readable indented format. Great for understanding the layout.
ParameterTypeRequiredDescription
nodeIdstringNoStart from this node (full page tree if omitted)

duplicate_node

Deep-clone a node (and all children) with new IDs, inserted right after the original.
ParameterTypeRequiredDescription
nodeIdstringYesNode to duplicate

wrap_nodes

Wrap one or more sibling nodes in a new layout container.
ParameterTypeRequiredDescription
nodeIdsstring[]YesNode IDs to wrap (must share the same parent slot)
layoutKindstringNoWrapper kind (default: "Layout.Stack")

Token Tools

Manage design tokens — colors, text content, translations, and other values that can be localized.

list_tokens

List tokens in the current page with optional filters.
ParameterTypeRequiredDescription
scopestringNoFilter by scope: global, brand, page, node
namePatternstringNoFilter names containing this string
localestringNoFilter by locale (e.g., "fr-FR")

update_token

Update an existing token’s value. Applied live in the editor.
ParameterTypeRequiredDescription
tokenNamestringYesToken name (e.g., "copy.headline", "color.primary")
valueanyYesNew value
localestringNoLocale to update (default locale if omitted)

add_token

Add a new token to the current page.
ParameterTypeRequiredDescription
namestringYesToken name
valueanyYesToken value
scopestringNoScope: global, brand, page, node (default: "page")
localestringNoLocale
ownerIdstringNoOwner node ID (required for "node" scope)

remove_token

Remove a token from the current page.
ParameterTypeRequiredDescription
tokenNamestringYesToken name to remove
localestringNoLocale (default locale if omitted)

Schema Tools

Discover available component types and their schemas. These work offline — no Studio connection needed.

list_node_kinds

List all available node kinds (component types) with descriptions and prop counts.
ParameterTypeRequiredDescription
categorystringNoFilter: section, layout, content, commerce, form

describe_node_kind

Get the full JSON Schema for a node kind: all props, types, slots, defaults, and editor groups.
ParameterTypeRequiredDescription
kindstringYesNode kind (e.g., "Heading", "Layout.Stack", "OrderSummary")

MCP Resources

The server also exposes two resources agents can read:
URIDescription
schema://node-definitionsJSON Schema of all 49+ node kinds
template://currentLive template from the connected Studio editor

Endpoints

The HTTP server exposes these endpoints:
EndpointDescription
GET /wsWebSocket — Studio editor connects here
GET /sseSSE — MCP agents connect here
POST /messages?sessionId=...MCP message relay
GET /healthHealth check (includes Studio connection status)
GET /Server info