MCP tool catalog
Worktable exposes 16 MCP tools over HTTP and stdio. Connection details live in the MCP reference.
Workspace & discovery
Section titled “Workspace & discovery”worktable_discover
Section titled “worktable_discover”Orient, search, or build a space index before answering workspace questions.
Actions: state, search, space_index
MCP hints: readOnlyHint
Input schema
{ "type": "object", "properties": { "request": { "oneOf": [ { "type": "object", "properties": { "action": { "type": "string", "const": "state" }, "spaceId": { "description": "If provided, return full detail for this space", "type": "string" }, "includeArchived": { "description": "When true, include archived spaces and docs in the response.", "type": "boolean" } }, "required": [ "action" ], "additionalProperties": false }, { "type": "object", "properties": { "action": { "type": "string", "const": "search" }, "spaceId": { "description": "ID of the space to search in. Omit to search all spaces.", "type": "string" }, "query": { "type": "string", "description": "Search query. Supports fuzzy matching, prefix search, and relevance ranking." }, "includeArchived": { "description": "When true, include archived spaces and documents in results.", "type": "boolean" } }, "required": [ "action", "query" ], "additionalProperties": false }, { "type": "object", "properties": { "action": { "type": "string", "const": "space_index" }, "spaceId": { "type": "string", "description": "ID of the space to build the index for" } }, "required": [ "action", "spaceId" ], "additionalProperties": false } ] } }, "required": [ "request" ], "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false}worktable_spaces
Section titled “worktable_spaces”Create a space for a durable project or domain.
Actions: create
Input schema
{ "type": "object", "properties": { "request": { "oneOf": [ { "type": "object", "properties": { "action": { "type": "string", "const": "create" }, "name": { "type": "string", "description": "Space name in Title Case, e.g. 'CMS Research'" }, "description": { "description": "Optional description", "type": "string" }, "icon": { "description": "Lucide icon name in kebab-case (e.g. 'flask-conical', 'bar-chart-3', 'layout-dashboard'). Any icon from lucide.dev works. Defaults to 'folder'.", "type": "string" }, "group": { "description": "Category: work, side-quests, career, church, meta", "type": "string", "enum": [ "work", "side-quests", "career", "church", "meta" ] } }, "required": [ "action", "name" ], "additionalProperties": false } ] } }, "required": [ "request" ], "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false}worktable_docs_read
Section titled “worktable_docs_read”List or read Docs. Reads return markdown when safe and rich blocks when needed.
Actions: list, read
MCP hints: readOnlyHint
Input schema
{ "type": "object", "properties": { "request": { "oneOf": [ { "type": "object", "properties": { "action": { "type": "string", "const": "list" }, "spaceId": { "type": "string", "description": "ID of the space to list documents in" }, "includeArchived": { "description": "When true, include archived documents in the results.", "type": "boolean" } }, "required": [ "action", "spaceId" ], "additionalProperties": false }, { "type": "object", "properties": { "action": { "type": "string", "const": "read" }, "spaceId": { "type": "string" }, "docPath": { "type": "string", "description": "Extensionless path, e.g. 'notes/readme'" } }, "required": [ "action", "spaceId", "docPath" ], "additionalProperties": false } ] } }, "required": [ "request" ], "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false}worktable_docs_write
Section titled “worktable_docs_write”Create, replace, patch, or rename Docs. Search first, use portable links, and avoid near-duplicates.
Actions: write, patch, rename
Input schema
{ "type": "object", "properties": { "request": { "oneOf": [ { "type": "object", "properties": { "action": { "type": "string", "const": "write" }, "spaceId": { "type": "string", "description": "ID of the space to write the document to" }, "docPath": { "type": "string", "description": "Path of the document to create or update" }, "content": { "anyOf": [ { "type": "string" }, { "type": "array", "items": {} } ], "description": "Document content. String = markdown (stored as .md). Array = BlockNote blocks (stored as .json). If writing markdown to an existing .json doc with rich formatting, rejected unless force=true." }, "force": { "default": false, "description": "When true, allows overwriting a .json document containing rich formatting with markdown, accepting data loss.", "type": "boolean" } }, "required": [ "action", "spaceId", "docPath", "content" ], "additionalProperties": false }, { "type": "object", "properties": { "action": { "type": "string", "const": "patch" }, "spaceId": { "type": "string", "description": "ID of the space containing the document" }, "docPath": { "type": "string", "description": "Path of the document to patch" }, "operations": { "type": "array", "items": { "type": "object", "properties": { "action": { "type": "string", "enum": [ "replace", "insert_after", "insert_before", "delete", "append" ], "description": "replace: replace targeted section. insert_after/before: insert adjacent to target. delete: remove targeted section. append: add to end of document." }, "target": { "description": "How to find the block(s) to act on. Not required for 'append'.", "type": "object", "properties": { "blockId": { "description": "Exact block ID", "type": "string" }, "heading": { "description": "Find section by heading text (matches first heading containing this text). For replace/delete, targets the heading AND all content until the next heading of equal or higher level.", "type": "string" }, "index": { "description": "Block index (0-based)", "type": "number" }, "search": { "description": "Find first block containing this text", "type": "string" } } }, "content": { "description": "New content. String = markdown, Array = BlockNote blocks. Not required for 'delete'.", "anyOf": [ { "type": "string" }, { "type": "array", "items": {} } ] } }, "required": [ "action" ] }, "description": "Patch operations applied sequentially." } }, "required": [ "action", "spaceId", "docPath", "operations" ], "additionalProperties": false }, { "type": "object", "properties": { "action": { "type": "string", "const": "rename" }, "spaceId": { "type": "string", "description": "ID of the space containing the document" }, "oldPath": { "type": "string", "description": "Current path of the document" }, "newPath": { "type": "string", "description": "New path to move/rename the document to" } }, "required": [ "action", "spaceId", "oldPath", "newPath" ], "additionalProperties": false } ] } }, "required": [ "request" ], "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false}HTML docs
Section titled “HTML docs”worktable_html_read
Section titled “worktable_html_read”Read HTML Doc guidance, list HTML Docs, or inspect one.
Actions: guide, list, read
MCP hints: readOnlyHint
Input schema
{ "type": "object", "properties": { "request": { "oneOf": [ { "type": "object", "properties": { "action": { "type": "string", "const": "guide" }, "profile": { "default": "visual", "type": "string", "enum": [ "visual", "runtime", "full" ] } }, "required": [ "action" ], "additionalProperties": false }, { "type": "object", "properties": { "action": { "type": "string", "const": "list" }, "spaceId": { "type": "string", "description": "ID of the space to list HTML docs in" }, "includeArchived": { "description": "When true, include archived HTML docs in the results.", "type": "boolean" } }, "required": [ "action", "spaceId" ], "additionalProperties": false }, { "type": "object", "properties": { "action": { "type": "string", "const": "read" }, "spaceId": { "type": "string", "description": "ID of the space containing the HTML doc" }, "htmlId": { "type": "string", "description": "ID of the HTML doc" }, "includeHtml": { "default": true, "description": "When true, include the index.html content. Set false for metadata-only reads.", "type": "boolean" } }, "required": [ "action", "spaceId", "htmlId" ], "additionalProperties": false } ] } }, "required": [ "request" ], "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false}worktable_html_write
Section titled “worktable_html_write”Create or manage durable visual and interactive HTML Docs. Inspect before updates and repair warnings.
Actions: create, update, rename, archive, restore
Input schema
{ "type": "object", "properties": { "request": { "oneOf": [ { "type": "object", "properties": { "action": { "type": "string", "const": "create" }, "spaceId": { "type": "string", "description": "ID of the space to create the HTML doc in" }, "id": { "description": "Optional HTML doc id. Slash-separated canonical segments (e.g. 'plans/q3-redesign') nest it in sidebar folders; nested ids may not use reserved segment names (records, state, content, archive, restore, versions, review). Omit to derive a flat id from name.", "type": "string" }, "name": { "type": "string", "minLength": 1, "description": "Display name" }, "description": { "description": "Short description shown in Worktable", "type": "string" }, "html": { "type": "string", "minLength": 1, "description": "Complete self-contained HTML document. Must follow the Worktable HTML Doc Authoring Contract." }, "metadata": { "description": "Optional YAML-safe metadata", "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} }, "permissions": { "description": "Optional HTML doc bridge permissions. Include per-collection record access for every worktable.records call the HTML doc makes.", "type": "object", "properties": { "records": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": { "type": "object", "properties": { "read": { "type": "boolean" }, "create": { "type": "boolean" }, "update": { "type": "boolean" }, "delete": { "type": "boolean" } } } }, "state": { "type": "object", "properties": { "read": { "type": "boolean" }, "write": { "type": "boolean" } } }, "network": { "type": "boolean" } } } }, "required": [ "action", "spaceId", "name", "html" ], "additionalProperties": false }, { "type": "object", "properties": { "action": { "type": "string", "const": "update" }, "spaceId": { "type": "string", "description": "ID of the space containing the HTML doc" }, "htmlId": { "type": "string", "description": "ID of the HTML doc" }, "name": { "description": "Updated display name. Omit to keep current name.", "type": "string", "minLength": 1 }, "description": { "description": "Updated description. Omit to keep current description.", "type": "string" }, "html": { "type": "string", "minLength": 1, "description": "Complete self-contained HTML document. Must follow the Worktable HTML Doc Authoring Contract." }, "metadata": { "description": "Optional YAML-safe metadata. Omit to keep current metadata.", "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} }, "permissions": { "description": "Optional HTML doc bridge permissions. Omit to keep current permissions. Include per-collection record access for every worktable.records call the HTML doc makes.", "type": "object", "properties": { "records": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": { "type": "object", "properties": { "read": { "type": "boolean" }, "create": { "type": "boolean" }, "update": { "type": "boolean" }, "delete": { "type": "boolean" } } } }, "state": { "type": "object", "properties": { "read": { "type": "boolean" }, "write": { "type": "boolean" } } }, "network": { "type": "boolean" } } } }, "required": [ "action", "spaceId", "htmlId", "html" ], "additionalProperties": false }, { "type": "object", "properties": { "action": { "type": "string", "const": "rename" }, "spaceId": { "type": "string", "description": "ID of the space containing the HTML doc" }, "htmlId": { "type": "string", "description": "ID of the HTML doc" }, "name": { "type": "string", "minLength": 1, "description": "Updated display name" }, "description": { "description": "Updated description. Null clears it, omit to keep current description.", "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "metadata": { "description": "Optional YAML-safe metadata. Omit to keep current metadata.", "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} } }, "required": [ "action", "spaceId", "htmlId", "name" ], "additionalProperties": false }, { "type": "object", "properties": { "action": { "type": "string", "const": "archive" }, "spaceId": { "type": "string", "description": "ID of the space containing the HTML doc" }, "htmlId": { "type": "string", "description": "ID of the HTML doc" }, "reason": { "description": "Optional archive reason", "type": "string" } }, "required": [ "action", "spaceId", "htmlId" ], "additionalProperties": false }, { "type": "object", "properties": { "action": { "type": "string", "const": "restore" }, "spaceId": { "type": "string", "description": "ID of the space containing the HTML doc" }, "htmlId": { "type": "string", "description": "ID of the HTML doc" } }, "required": [ "action", "spaceId", "htmlId" ], "additionalProperties": false } ] } }, "required": [ "request" ], "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false}Records
Section titled “Records”worktable_records_read
Section titled “worktable_records_read”Discover collections, query Records, or read one.
Actions: list_collections, query, read
MCP hints: readOnlyHint
Input schema
{ "type": "object", "properties": { "request": { "oneOf": [ { "type": "object", "properties": { "action": { "type": "string", "const": "list_collections" }, "spaceId": { "type": "string", "description": "ID of the space to list record collections in" } }, "required": [ "action", "spaceId" ], "additionalProperties": false }, { "type": "object", "properties": { "action": { "type": "string", "const": "query" }, "spaceId": { "type": "string" }, "collectionId": { "type": "string" }, "where": { "description": "Either a flat field map ({status: \"open\"} / {due: {gte: \"2026-01-01\"}}) or a predicate tree: {and|or: [...]}, {not: ...}, {field, op, value} with ops eq/neq/in/contains/has/gt/gte/lt/lte/isEmpty (has = exact membership for array fields like multi_select and many-relation id lists; contains = substring). Predicate fields may be one-hop relation paths like \"project.status\".", "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} }, "search": { "type": "string" }, "orderBy": { "description": "Field name, or an array for multi-key sort", "anyOf": [ { "type": "string" }, { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "dir": { "type": "string", "enum": [ "asc", "desc" ] } }, "required": [ "field" ] } } ] }, "order": { "type": "string", "enum": [ "asc", "desc" ] }, "limit": { "type": "integer", "minimum": 0, "maximum": 1000 }, "includeArchived": { "type": "boolean" }, "expand": { "description": "Embed referenced records: {<relationField>: true | [dataKeys...]}. Returned in a side map keyed by collection and id.", "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": { "anyOf": [ { "type": "boolean", "const": true }, { "type": "array", "items": { "type": "string" } } ] } }, "backlinks": { "description": "For each result, list ids of records in <collection> whose <field> points at it", "type": "object", "properties": { "collection": { "type": "string" }, "field": { "type": "string" } }, "required": [ "collection", "field" ] }, "aggregate": { "description": "Return aggregated groups instead of records", "type": "object", "properties": { "groupBy": { "type": "string" }, "select": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": { "type": "object", "properties": { "fn": { "type": "string", "enum": [ "count", "sum", "avg", "min", "max", "unique" ] }, "field": { "type": "string" } }, "required": [ "fn" ] } } }, "required": [ "select" ] }, "select": { "description": "Project record data down to these keys", "type": "array", "items": { "type": "string" } }, "cursor": { "description": "Keyset pagination cursor from a previous response's nextCursor", "type": "string" } }, "required": [ "action", "spaceId", "collectionId" ], "additionalProperties": false }, { "type": "object", "properties": { "action": { "type": "string", "const": "read" }, "spaceId": { "type": "string" }, "collectionId": { "type": "string" }, "recordId": { "type": "string" } }, "required": [ "action", "spaceId", "collectionId", "recordId" ], "additionalProperties": false } ] } }, "required": [ "request" ], "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false}worktable_records_write
Section titled “worktable_records_write”Create or evolve schemas, create Records, or update them. Avoid near-duplicates.
Actions: upsert_collection, create, update
Input schema
{ "type": "object", "properties": { "request": { "oneOf": [ { "type": "object", "properties": { "action": { "type": "string", "const": "upsert_collection" }, "spaceId": { "type": "string" }, "collectionId": { "type": "string" }, "name": { "type": "string" }, "description": { "description": "Very concise statement of what belongs in this collection; surfaced to agents", "type": "string" }, "wellKnownType": { "description": "Optional well-known type hint, e.g. \"schema:Person\". Ignorable; never a constraint.", "type": "string" }, "fields": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": { "type": "object", "properties": { "type": { "type": "string", "minLength": 1, "description": "Field type: string, text, number, boolean, date, datetime, url, email, person, select, multi_select, relation, document, json (enum/reference are v1 aliases). Unknown types are stored as-is and treated as read-only." }, "name": { "description": "Display name; the slug key stays the field's identity", "type": "string" }, "required": { "type": "boolean" }, "values": { "description": "Allowed values for select / multi_select fields", "type": "array", "items": { "type": "string" } }, "references": { "description": "Target collection id for relation fields", "type": "string" }, "description": { "description": "Optional concise clarification when the field name, type, and choices do not already make its meaning clear", "type": "string" }, "many": { "description": "relation/document: field holds an array of record ids or portable document paths", "type": "boolean" }, "inverse": { "description": "relation only: name for the derived backlink on the target collection", "type": "string" }, "onDelete": { "description": "relation only: what happens to this field when the referenced record is deleted", "type": "string", "enum": [ "restrict", "setNull", "none" ] }, "unit": { "description": "number only: display unit", "type": "string" } }, "required": [ "type" ], "additionalProperties": {} } }, "metadata": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} } }, "required": [ "action", "spaceId", "collectionId" ], "additionalProperties": false }, { "type": "object", "properties": { "action": { "type": "string", "const": "create" }, "spaceId": { "type": "string" }, "collectionId": { "type": "string" }, "recordId": { "type": "string" }, "data": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} }, "metadata": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} } }, "required": [ "action", "spaceId", "collectionId", "data" ], "additionalProperties": false }, { "type": "object", "properties": { "action": { "type": "string", "const": "update" }, "spaceId": { "type": "string" }, "collectionId": { "type": "string" }, "recordId": { "type": "string" }, "data": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} }, "metadata": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} } }, "required": [ "action", "spaceId", "collectionId", "recordId" ], "additionalProperties": false } ] } }, "required": [ "request" ], "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false}Annotations
Section titled “Annotations”worktable_annotations_read
Section titled “worktable_annotations_read”List or read comments and instructions. Check open items before editing.
Actions: list, read, context
MCP hints: readOnlyHint
Input schema
{ "type": "object", "properties": { "request": { "oneOf": [ { "type": "object", "properties": { "action": { "type": "string", "const": "list" }, "spaceId": { "type": "string" }, "docPath": { "description": "Filter to one doc's annotations", "type": "string" }, "blockId": { "type": "string" }, "status": { "type": "array", "items": { "type": "string", "enum": [ "open", "resolved" ] } }, "category": { "type": "array", "items": { "type": "string", "enum": [ "comment", "instruction" ] } }, "createdBy": { "type": "string" }, "labels": { "type": "array", "items": { "type": "string" } }, "includeResolved": { "type": "boolean" }, "limit": { "type": "integer", "exclusiveMinimum": 0, "maximum": 9007199254740991 }, "offset": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "htmlId": { "description": "Filter to one HTML doc", "type": "string" } }, "required": [ "action", "spaceId" ], "additionalProperties": false }, { "type": "object", "properties": { "action": { "type": "string", "const": "read" }, "spaceId": { "type": "string" }, "annotationId": { "type": "string" }, "includeTargetContext": { "type": "boolean" } }, "required": [ "action", "spaceId", "annotationId" ], "additionalProperties": false }, { "type": "object", "properties": { "action": { "type": "string", "const": "context" }, "spaceId": { "type": "string" }, "annotationId": { "type": "string" } }, "required": [ "action", "spaceId", "annotationId" ], "additionalProperties": false } ] } }, "required": [ "request" ], "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false}worktable_annotations_write
Section titled “worktable_annotations_write”Create, reply to, update, or resolve annotations. Authorship is authenticated.
Actions: create, reply, update, resolve
Input schema
{ "type": "object", "properties": { "request": { "oneOf": [ { "type": "object", "properties": { "action": { "type": "string", "const": "create" }, "spaceId": { "type": "string" }, "category": { "type": "string", "enum": [ "comment", "instruction" ] }, "body": { "type": "string", "minLength": 1 }, "title": { "type": "string" }, "labels": { "type": "array", "items": { "type": "string" } }, "idempotencyKey": { "type": "string" }, "metadata": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} }, "target": { "oneOf": [ { "type": "object", "properties": { "type": { "type": "string", "const": "doc" }, "docPath": { "type": "string", "minLength": 1 } }, "required": [ "type", "docPath" ] }, { "type": "object", "properties": { "type": { "type": "string", "const": "block" }, "docPath": { "type": "string", "minLength": 1 }, "blockId": { "type": "string", "minLength": 1 }, "blockType": { "type": "string" }, "quote": { "type": "string" }, "prefix": { "type": "string" }, "suffix": { "type": "string" }, "blockTextHash": { "type": "string" } }, "required": [ "type", "docPath", "blockId" ] }, { "type": "object", "properties": { "type": { "type": "string", "const": "text" }, "docPath": { "type": "string", "minLength": 1 }, "blockId": { "type": "string", "minLength": 1 }, "start": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "end": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "quote": { "type": "string" }, "prefix": { "type": "string" }, "suffix": { "type": "string" } }, "required": [ "type", "docPath", "blockId" ] }, { "type": "object", "properties": { "type": { "type": "string", "const": "html" }, "htmlId": { "type": "string", "description": "ID of the HTML doc" } }, "required": [ "type", "htmlId" ], "additionalProperties": false } ] } }, "required": [ "action", "spaceId", "category", "body", "target" ], "additionalProperties": false }, { "type": "object", "properties": { "action": { "type": "string", "const": "reply" }, "spaceId": { "type": "string" }, "annotationId": { "type": "string" }, "body": { "type": "string", "minLength": 1 } }, "required": [ "action", "spaceId", "annotationId", "body" ], "additionalProperties": false }, { "type": "object", "properties": { "action": { "type": "string", "const": "update" }, "spaceId": { "type": "string" }, "annotationId": { "type": "string" }, "patch": { "type": "object", "properties": { "title": { "type": "string" }, "body": { "type": "string" }, "status": { "type": "string", "enum": [ "open", "resolved" ] }, "labels": { "type": "array", "items": { "type": "string" } }, "metadata": { "type": "object", "propertyNames": { "type": "string" }, "additionalProperties": {} } } } }, "required": [ "action", "spaceId", "annotationId", "patch" ], "additionalProperties": false }, { "type": "object", "properties": { "action": { "type": "string", "const": "resolve" }, "spaceId": { "type": "string" }, "annotationId": { "type": "string" }, "reason": { "type": "string" } }, "required": [ "action", "spaceId", "annotationId" ], "additionalProperties": false } ] } }, "required": [ "request" ], "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false}Threads & delivery
Section titled “Threads & delivery”worktable_threads_read
Section titled “worktable_threads_read”List participants and threads, read messages, or wait for replies and activity.
Actions: participants, list, read, wait
MCP hints: readOnlyHint
Input schema
{ "type": "object", "properties": { "request": { "oneOf": [ { "type": "object", "properties": { "action": { "type": "string", "const": "participants" } }, "required": [ "action" ], "additionalProperties": false }, { "type": "object", "properties": { "action": { "type": "string", "const": "list" }, "location": { "oneOf": [ { "type": "object", "properties": { "kind": { "type": "string", "const": "worktable" } }, "required": [ "kind" ] }, { "type": "object", "properties": { "kind": { "type": "string", "const": "space" }, "spaceId": { "type": "string", "minLength": 1 } }, "required": [ "kind", "spaceId" ] } ] }, "spaceId": { "type": "string", "minLength": 1 }, "participantId": { "type": "string" }, "deliveryState": { "type": "string", "enum": [ "queued", "working", "receiving", "replied", "failed" ] } }, "required": [ "action" ], "additionalProperties": false }, { "type": "object", "properties": { "action": { "type": "string", "const": "read" }, "location": { "oneOf": [ { "type": "object", "properties": { "kind": { "type": "string", "const": "worktable" } }, "required": [ "kind" ] }, { "type": "object", "properties": { "kind": { "type": "string", "const": "space" }, "spaceId": { "type": "string", "minLength": 1 } }, "required": [ "kind", "spaceId" ] } ] }, "spaceId": { "type": "string", "minLength": 1 }, "threadId": { "type": "string", "minLength": 1 }, "after": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 } }, "required": [ "action", "threadId" ], "additionalProperties": false }, { "type": "object", "properties": { "action": { "type": "string", "const": "wait" }, "location": { "oneOf": [ { "type": "object", "properties": { "kind": { "type": "string", "const": "worktable" } }, "required": [ "kind" ] }, { "type": "object", "properties": { "kind": { "type": "string", "const": "space" }, "spaceId": { "type": "string", "minLength": 1 } }, "required": [ "kind", "spaceId" ] } ] }, "spaceId": { "type": "string", "minLength": 1 }, "threadId": { "type": "string", "minLength": 1 }, "after": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }, "activityRevision": { "type": "integer", "minimum": -1, "maximum": 9007199254740991 }, "messageId": { "type": "string" }, "waitSeconds": { "type": "number", "minimum": 0, "maximum": 25 } }, "required": [ "action", "threadId", "after" ], "additionalProperties": false } ] } }, "required": [ "request" ], "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false}worktable_threads_write
Section titled “worktable_threads_write”Register this agent, or start or continue a durable thread. Reuse threadId for continuity.
Actions: post, register_participant
Input schema
{ "type": "object", "properties": { "request": { "oneOf": [ { "type": "object", "properties": { "action": { "type": "string", "const": "post" }, "location": { "oneOf": [ { "type": "object", "properties": { "kind": { "type": "string", "const": "worktable" } }, "required": [ "kind" ] }, { "type": "object", "properties": { "kind": { "type": "string", "const": "space" }, "spaceId": { "type": "string", "minLength": 1 } }, "required": [ "kind", "spaceId" ] } ] }, "spaceId": { "type": "string", "minLength": 1 }, "threadId": { "type": "string", "minLength": 1 }, "to": { "type": "string", "minLength": 1 }, "body": { "type": "string", "minLength": 1, "maxLength": 100000 }, "idempotencyKey": { "type": "string", "minLength": 1, "maxLength": 200 }, "inReplyTo": { "type": "string", "pattern": "^msg_[A-Za-z0-9_-]{12,}$" }, "expectsReply": { "type": "boolean" }, "waitSeconds": { "type": "number", "minimum": 0, "maximum": 25 } }, "required": [ "action", "body", "idempotencyKey" ], "additionalProperties": false }, { "type": "object", "properties": { "action": { "type": "string", "const": "register_participant" }, "name": { "type": "string", "minLength": 1, "maxLength": 120 } }, "required": [ "action", "name" ], "additionalProperties": false } ] } }, "required": [ "request" ], "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false}worktable_thread_delivery
Section titled “worktable_thread_delivery”Adapter delivery: claim addressed messages, accept durable ingress, report progress, or fail safely.
Actions: claim, accept, progress, fail
Input schema
{ "type": "object", "properties": { "request": { "oneOf": [ { "type": "object", "properties": { "action": { "type": "string", "const": "claim" }, "waitSeconds": { "type": "number", "minimum": 0, "maximum": 25 }, "threadLocationVersion": { "type": "number", "const": 2 } }, "required": [ "action" ], "additionalProperties": false }, { "type": "object", "properties": { "action": { "type": "string", "const": "accept" }, "messageId": { "type": "string", "minLength": 1 }, "leaseId": { "type": "string", "minLength": 1 } }, "required": [ "action", "messageId", "leaseId" ], "additionalProperties": false }, { "type": "object", "properties": { "action": { "type": "string", "const": "progress" }, "messageId": { "type": "string", "minLength": 1 }, "leaseId": { "type": "string", "minLength": 1 }, "phase": { "type": "string", "enum": [ "working", "receiving" ] }, "receivedCharacters": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 } }, "required": [ "action", "messageId", "leaseId", "phase" ], "additionalProperties": false }, { "type": "object", "properties": { "action": { "type": "string", "const": "fail" }, "messageId": { "type": "string", "minLength": 1 }, "leaseId": { "type": "string", "minLength": 1 }, "retryable": { "type": "boolean" }, "code": { "type": "string", "minLength": 1, "maxLength": 100 }, "message": { "type": "string", "minLength": 1, "maxLength": 500 } }, "required": [ "action", "messageId", "leaseId", "retryable", "code", "message" ], "additionalProperties": false } ] } }, "required": [ "request" ], "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false}Destructive actions
Section titled “Destructive actions”worktable_delete
Section titled “worktable_delete”Permanently delete a Doc, HTML doc, or Record. Prefer non-destructive alternatives.
Actions: doc, html, record
MCP hints: destructiveHint
Input schema
{ "type": "object", "properties": { "request": { "oneOf": [ { "type": "object", "properties": { "action": { "type": "string", "const": "doc" }, "spaceId": { "type": "string", "description": "ID of the space containing the document" }, "docPath": { "type": "string", "description": "Path of the document to delete" } }, "required": [ "action", "spaceId", "docPath" ], "additionalProperties": false }, { "type": "object", "properties": { "action": { "type": "string", "const": "html" }, "spaceId": { "type": "string", "description": "ID of the space containing the HTML doc" }, "htmlId": { "type": "string", "description": "ID of the HTML doc" } }, "required": [ "action", "spaceId", "htmlId" ], "additionalProperties": false }, { "type": "object", "properties": { "action": { "type": "string", "const": "record" }, "spaceId": { "type": "string" }, "collectionId": { "type": "string" }, "recordId": { "type": "string" } }, "required": [ "action", "spaceId", "collectionId", "recordId" ], "additionalProperties": false } ] } }, "required": [ "request" ], "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false}Guidance & validation
Section titled “Guidance & validation”worktable_guidance
Section titled “worktable_guidance”List or read instruction docs or the format specification. Start with agent-instructions.
Actions: list_skills, read_skill, format_spec
MCP hints: readOnlyHint
Input schema
{ "type": "object", "properties": { "request": { "oneOf": [ { "type": "object", "properties": { "action": { "type": "string", "const": "list_skills" } }, "required": [ "action" ], "additionalProperties": false }, { "type": "object", "properties": { "action": { "type": "string", "const": "read_skill" }, "name": { "type": "string", "minLength": 1 } }, "required": [ "action", "name" ], "additionalProperties": false }, { "type": "object", "properties": { "action": { "type": "string", "const": "format_spec" } }, "required": [ "action" ], "additionalProperties": false } ] } }, "required": [ "request" ], "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false}worktable_mermaid
Section titled “worktable_mermaid”Validate Mermaid or render an SVG preview. Validate HTML-embedded diagrams before saving.
Actions: validate, preview
MCP hints: readOnlyHint
Input schema
{ "type": "object", "properties": { "request": { "oneOf": [ { "type": "object", "properties": { "action": { "type": "string", "const": "validate" }, "source": { "type": "string", "description": "Raw Mermaid source to validate." } }, "required": [ "action", "source" ], "additionalProperties": false }, { "type": "object", "properties": { "action": { "type": "string", "const": "preview" }, "source": { "type": "string", "description": "Raw Mermaid source to validate and render." }, "theme": { "default": "dark", "description": "Preview theme.", "type": "string", "enum": [ "light", "dark" ] } }, "required": [ "action", "source" ], "additionalProperties": false } ] } }, "required": [ "request" ], "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false}