ArchDocs
Start free

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

ToolRequired inputsEffect
list_docsNoneLists documents available through the document overview.
search_docsquerySearches documents by name.
get_docidReads YAML, compiler version and whether the document is code-backed.
get_schemaNoneReads the DSL construct reference.
validate_yamlyamlChecks YAML without saving it; returns validation errors and warnings.
create_docname, yamlCompiles and saves a new document.
update_docid, yamlReplaces the document's YAML and recompiles it.
patch_docid, operationsApplies 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

ToolRequired inputsOptional inputsEffect
list_spacesNoneNoneLists spaces available to your account.
list_object_kindsNoneNoneLists object kinds and their preset document slots.
create_objectname, kinddescription, parentId, spaceIdCreates an object; kind is a key returned by list_object_kinds.
list_objectsNonesearch, spaceIdLists catalog objects. Use the string "none" for spaceId to find unassigned objects.
get_objectobjectIdNoneReads object details and its documents.
list_object_docsobjectIdNoneLists preset document slots and custom documents.
assign_doc_to_objectobjectId, docIdslotKeyTransfers an existing document to an object.
assign_doc_to_spaceid, spaceIdNoneFiles a document at a space root; null moves it to Drafts.
assign_object_to_spaceobjectId, spaceIdNoneBinds an object to a space; null removes the binding.
release_doc_from_objectobjectId, docIdNoneDetaches 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.