MCP tool reference
Use the read tools to find the document or object before you write. Calls use the organization attached to your OAuth connection.
Documents and YAML
| Tool | Required inputs | Effect |
|---|---|---|
list_docs | None | Lists documents available through the document overview. |
search_docs | query | Searches documents by name. |
get_doc | id | Reads YAML, compiler version and whether the document is code-backed. |
get_schema | None | Reads the DSL construct reference. |
validate_yaml | yaml | Checks YAML without saving it; returns validation errors and warnings. |
create_doc | name, yaml | Compiles and saves a new document. |
update_doc | id, yaml | Replaces the document's YAML and recompiles it. |
patch_doc | id, operations | Applies addressed changes and recompiles the document. |
create_doc accepts spaceId to file the document in a space, or ownerObjectId and an optional slotKey to attach it to an object. These placements are mutually exclusive.
General document lists and name search exclude object-owned documents. Find those with list_object_docs or get_object.
Objects and spaces
| Tool | Required inputs | Optional inputs | Effect |
|---|---|---|---|
list_spaces | None | None | Lists spaces available to your account. |
list_object_kinds | None | None | Lists object kinds and their preset document slots. |
create_object | name, kind | description, parentId, spaceId | Creates an object; kind is a key returned by list_object_kinds. |
list_objects | None | search, spaceId | Lists catalog objects. Use the string "none" for spaceId to find unassigned objects. |
get_object | objectId | None | Reads object details and its documents. |
list_object_docs | objectId | None | Lists preset document slots and custom documents. |
assign_doc_to_object | objectId, docId | slotKey | Transfers an existing document to an object. |
assign_doc_to_space | id, spaceId | None | Files a document at a space root; null moves it to Drafts. |
assign_object_to_space | objectId, spaceId | None | Binds an object to a space; null removes the binding. |
release_doc_from_object | objectId, docId | None | Detaches an owned document into the general document lists. |
Assigning an object to a public space makes it readable to anyone with that space's share link. Check the space's visibility before assigning it.
Patch a document
patch_doc accepts setNode, deleteNode, setRelationship, deleteRelationship, setTitle and setField operations. Node operations use a node ID; relationship operations use the from and to node IDs.
For example, these arguments rename a node's label without replacing the rest of the document:
{
"id": "YOUR_DOCUMENT_ID",
"operations": [{ "op": "setField", "path": "payments.label", "value": "Payments API" }]
}
payments must be an existing node ID in that document's YAML. Read it with get_doc before constructing a patch.
Review write results
Tools return text content. Invalid YAML passed to a write tool produces an MCP error result with compiler messages. Read those messages before retrying. validate_yaml returns its validation result without saving a document.
Writes recompile the canvas. Layout can change, and a successful write changes the document other collaborators are reading.