Skip to content

MCP tool catalog

Worktable exposes 20 MCP tools over HTTP and stdio. Connection details live in the MCP reference.

Orient to the workspace or a Space, search scoped context, or inspect a Space index.

Actions: state, search, space_index

MCP hints: readOnlyHint, idempotentHint

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
}

Create a Worktable Space.

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
}

List or read Worktable Docs.

Actions: list, read

MCP hints: readOnlyHint, idempotentHint

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
}

Create, replace, patch, or rename Worktable Docs.

Actions: write, patch, rename

MCP hints: destructiveHint

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
}

Return the HTML runtime contract, list HTML Docs, or read one.

Actions: guide, list, read

MCP hints: readOnlyHint, idempotentHint

Input schema
{
"type": "object",
"properties": {
"request": {
"oneOf": [
{
"type": "object",
"properties": {
"action": {
"type": "string",
"const": "guide"
},
"profile": {
"default": "runtime",
"type": "string",
"const": "runtime"
}
},
"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
}

Create, update, rename, move, archive, or restore Worktable HTML Docs.

Actions: create, update, rename, move, archive, restore

MCP hints: destructiveHint

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 portable HTML doc path. Slash-separated segments nest it in sidebar folders. Omit to derive a flat path 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": "move"
},
"spaceId": {
"type": "string",
"description": "ID of the space containing the HTML doc"
},
"htmlId": {
"type": "string",
"description": "ID of the HTML doc"
},
"newPath": {
"type": "string",
"description": "New path to move the HTML doc to"
}
},
"required": [
"action",
"spaceId",
"htmlId",
"newPath"
],
"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
}

List Record collections, query Records, or read one.

Actions: list_collections, query, read

MCP hints: readOnlyHint, idempotentHint

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
}

Create or update Record collection schemas and Records.

Actions: upsert_collection, create, update

MCP hints: destructiveHint

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
}

List annotations, read one, or return its target context.

Actions: list, read, context

MCP hints: readOnlyHint, idempotentHint

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
}

Create, reply to, update, or resolve Worktable annotations.

Actions: create, reply, update, resolve

MCP hints: destructiveHint

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
}

List participants and threads, read messages, or wait for replies and activity.

Actions: participants, list, read, message, wait

MCP hints: readOnlyHint, idempotentHint

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
},
"before": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"action",
"threadId"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"type": "string",
"const": "message"
},
"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
},
"messageId": {
"type": "string",
"pattern": "^msg_[A-Za-z0-9_-]{12,}$"
}
},
"required": [
"action",
"threadId",
"messageId"
],
"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
}

Post messages and manage reply assignments in Worktable threads.

Actions: post, assign_response

MCP hints: destructiveHint, openWorldHint

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
},
"authorIdentityId": {
"type": "string",
"pattern": "^idt_[A-Za-z0-9_-]{12,}$"
},
"deliveryLeaseId": {
"description": "Delivery-owned authorization for replying as the exact requested identity.",
"type": "string",
"pattern": "^lease_[A-Za-z0-9_-]{12,}$"
},
"notifyIdentityIds": {
"description": "Identities mentioned passively in the message body. Include a visible @Identity name in body for each id. A mention does not activate an agent or require a reply.",
"maxItems": 100,
"type": "array",
"items": {
"type": "string",
"pattern": "^idt_[A-Za-z0-9_-]{12,}$"
}
},
"responseIdentityId": {
"description": "The one identity assigned to reply. An assignment already directs attention, so omit it from notifyIdentityIds. Pass null for no assignment.",
"anyOf": [
{
"type": "string",
"pattern": "^idt_[A-Za-z0-9_-]{12,}$"
},
{
"type": "null"
}
]
},
"inReplyTo": {
"type": "string",
"pattern": "^msg_[A-Za-z0-9_-]{12,}$"
},
"responseTo": {
"description": "The assigned message this reply completes. inReplyTo alone adds context and does not complete an assignment.",
"anyOf": [
{
"type": "string",
"pattern": "^msg_[A-Za-z0-9_-]{12,}$"
},
{
"type": "null"
}
]
},
"expectsReply": {
"type": "boolean"
},
"waitSeconds": {
"type": "number",
"minimum": 0,
"maximum": 25
}
},
"required": [
"action",
"body",
"idempotencyKey"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"type": "string",
"const": "assign_response"
},
"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"
]
}
]
},
"threadId": {
"type": "string",
"minLength": 1
},
"messageId": {
"type": "string",
"pattern": "^msg_[A-Za-z0-9_-]{12,}$"
},
"identityId": {
"anyOf": [
{
"type": "string",
"pattern": "^idt_[A-Za-z0-9_-]{12,}$"
},
{
"type": "null"
}
]
}
},
"required": [
"action",
"location",
"threadId",
"messageId",
"identityId"
],
"additionalProperties": false
}
]
}
},
"required": [
"request"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}

Register the authenticated participant, claim addressed messages, acknowledge ingress, or report delivery progress and failures.

Actions: register_participant, claim, accept, progress, fail

MCP hints: destructiveHint

Input schema
{
"type": "object",
"properties": {
"request": {
"oneOf": [
{
"type": "object",
"properties": {
"action": {
"type": "string",
"const": "register_participant"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 120
}
},
"required": [
"action",
"name"
],
"additionalProperties": false
},
{
"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
}

Permanently delete a Worktable document folder, one Doc, one HTML Doc, or one Record.

Actions: document, doc, html, document_folder, record

MCP hints: destructiveHint

Input schema
{
"type": "object",
"properties": {
"request": {
"oneOf": [
{
"type": "object",
"properties": {
"action": {
"type": "string",
"const": "document"
},
"spaceId": {
"type": "string"
},
"path": {
"type": "string",
"minLength": 1,
"maxLength": 4096
}
},
"required": [
"action",
"spaceId",
"path"
],
"additionalProperties": false
},
{
"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": "document_folder"
},
"spaceId": {
"type": "string",
"description": "ID of the space containing the folder"
},
"path": {
"type": "string",
"description": "Extensionless folder path to permanently delete"
}
},
"required": [
"action",
"spaceId",
"path"
],
"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
}

Read the immutable Worktable content format specification.

Actions: format_spec

MCP hints: readOnlyHint, idempotentHint

Input schema
{
"type": "object",
"properties": {
"request": {
"oneOf": [
{
"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
}

Validate Mermaid source or render it as an SVG preview.

Actions: validate, preview

MCP hints: readOnlyHint, idempotentHint

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
}

Search Worktable documents and records for matching knowledge.

MCP hints: readOnlyHint, idempotentHint

Input schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 1,
"description": "Natural-language or keyword query to search in Worktable."
}
},
"required": [
"query"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}

Fetch the full text and URL of one Worktable document or record by opaque result ID.

MCP hints: readOnlyHint, idempotentHint

Input schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"description": "Opaque result ID returned by search."
}
},
"required": [
"id"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}

List every document format and safely read supported formats through one format-neutral view.

Actions: list, read, read_source, versions

MCP hints: readOnlyHint, idempotentHint

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"
},
"path": {
"type": "string",
"description": "Extensionless document path, e.g. 'notes/readme'"
},
"includeArchived": {
"description": "When true, include archived documents in the results.",
"type": "boolean"
}
},
"required": [
"action",
"spaceId",
"path"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"type": "string",
"const": "read_source"
},
"spaceId": {
"type": "string"
},
"path": {
"type": "string",
"minLength": 1,
"maxLength": 4096
}
},
"required": [
"action",
"spaceId",
"path"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"type": "string",
"const": "versions"
},
"spaceId": {
"type": "string"
},
"path": {
"type": "string",
"minLength": 1,
"maxLength": 4096
},
"all": {
"default": false,
"type": "boolean"
}
},
"required": [
"action",
"spaceId",
"path"
],
"additionalProperties": false
}
]
}
},
"required": [
"request"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}

Create, replace, checkpoint, restore, move, archive, or restore registered documents and mixed-format folders through format-neutral actions.

Actions: create, replace, checkpoint, restore_version, move, archive, restore, move_folder, archive_folder, restore_folder

MCP hints: destructiveHint

Input schema
{
"type": "object",
"properties": {
"request": {
"oneOf": [
{
"type": "object",
"properties": {
"action": {
"type": "string",
"const": "create"
},
"spaceId": {
"type": "string"
},
"path": {
"type": "string",
"minLength": 1,
"maxLength": 4096
},
"format": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 96,
"pattern": "^[a-z][a-z0-9-]*(?:\\.[a-z][a-z0-9-]*)+$"
},
"sourceVersion": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"id",
"sourceVersion"
]
},
"source": {
"type": "string",
"maxLength": 90000000
},
"encoding": {
"default": "utf8",
"type": "string",
"enum": [
"utf8",
"base64"
]
},
"reason": {
"type": "string",
"maxLength": 2048
}
},
"required": [
"action",
"spaceId",
"path",
"format",
"source"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"type": "string",
"const": "replace"
},
"spaceId": {
"type": "string"
},
"path": {
"type": "string",
"minLength": 1,
"maxLength": 4096
},
"source": {
"type": "string",
"maxLength": 90000000
},
"encoding": {
"default": "utf8",
"type": "string",
"enum": [
"utf8",
"base64"
]
},
"expectedRevision": {
"type": "string",
"minLength": 1,
"maxLength": 256
},
"reason": {
"type": "string",
"maxLength": 2048
}
},
"required": [
"action",
"spaceId",
"path",
"source",
"expectedRevision"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"type": "string",
"const": "checkpoint"
},
"spaceId": {
"type": "string"
},
"path": {
"type": "string",
"minLength": 1,
"maxLength": 4096
},
"expectedRevision": {
"type": "string",
"minLength": 1,
"maxLength": 256
},
"label": {
"type": "string",
"minLength": 1,
"maxLength": 256
},
"reason": {
"type": "string",
"maxLength": 2048
}
},
"required": [
"action",
"spaceId",
"path",
"expectedRevision"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"type": "string",
"const": "restore_version"
},
"spaceId": {
"type": "string"
},
"path": {
"type": "string",
"minLength": 1,
"maxLength": 4096
},
"versionId": {
"type": "string",
"minLength": 1,
"maxLength": 256
},
"store": {
"default": "v2",
"type": "string",
"enum": [
"v2",
"legacy-v1"
]
},
"expectedRevision": {
"type": "string",
"minLength": 1,
"maxLength": 256
},
"reason": {
"type": "string",
"maxLength": 2048
}
},
"required": [
"action",
"spaceId",
"path",
"versionId",
"expectedRevision"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"type": "string",
"const": "move"
},
"spaceId": {
"type": "string"
},
"path": {
"type": "string",
"minLength": 1,
"maxLength": 4096
},
"to": {
"type": "string",
"minLength": 1,
"maxLength": 4096
}
},
"required": [
"action",
"spaceId",
"path",
"to"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"type": "string",
"const": "archive"
},
"spaceId": {
"type": "string"
},
"path": {
"type": "string",
"minLength": 1,
"maxLength": 4096
},
"reason": {
"type": "string",
"maxLength": 500
}
},
"required": [
"action",
"spaceId",
"path"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"type": "string",
"const": "restore"
},
"spaceId": {
"type": "string"
},
"path": {
"type": "string",
"minLength": 1,
"maxLength": 4096
}
},
"required": [
"action",
"spaceId",
"path"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"type": "string",
"const": "move_folder"
},
"spaceId": {
"type": "string",
"description": "ID of the space containing the folder"
},
"oldPath": {
"type": "string",
"description": "Current extensionless folder path"
},
"newPath": {
"type": "string",
"description": "New extensionless folder path"
}
},
"required": [
"action",
"spaceId",
"oldPath",
"newPath"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"type": "string",
"const": "archive_folder"
},
"spaceId": {
"type": "string",
"description": "ID of the space containing the folder"
},
"path": {
"type": "string",
"description": "Extensionless folder path to archive"
},
"reason": {
"description": "Optional archive reason",
"type": "string",
"maxLength": 500
}
},
"required": [
"action",
"spaceId",
"path"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"action": {
"type": "string",
"const": "restore_folder"
},
"spaceId": {
"type": "string",
"description": "ID of the space containing the folder"
},
"path": {
"type": "string",
"description": "Extensionless folder path to restore"
}
},
"required": [
"action",
"spaceId",
"path"
],
"additionalProperties": false
}
]
}
},
"required": [
"request"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}
Privacy