Tools in this category
| Tool | Mutating | Description |
|---|---|---|
list_documents |
no | List the user’s markdown documents. Filter by clientDisplayId, projectDisplayId, tag names, or a free-text search across display ID, name, description, and content. Returns metadata + tags, sorted by updatedAt desc by default. |
get_document |
no | Fetch a document by UUID or display ID, including its current markdown content and tags. |
create_document |
yes | Create a new markdown document, optionally linked to 0-n clients and/or 0-n projects with optional tags. Returns the created document with normalized metadata. |
update_document |
yes | Update an existing document. Any field is optional. If content is provided and differs from the current content, the previous content is snapshotted into the document's immutable version history before the update. |
delete_document |
yes | Permanently delete a document along with all of its archived versions and PDF exports. |
list_document_versions |
no | List the archived versions of a document, newest first. Returns metadata only — call get_document_version to retrieve a specific version's content. |
get_document_version |
no | Retrieve a specific archived version of a document, including its full content. |
restore_document_version |
yes | Restore an archived version by cloning its content as the new current version. The previously-current content is appended to the version history first, so the lineage stays intact and the operation is reversible by restoring again. |
delete_document_version |
yes | Permanently delete a single archived version. The current document is not affected. |
bulk_create_documents |
yes | Create many documents in one call, each with its own body and links. Counts against the plan quota as a whole, so an over-quota batch is rejected before any document is created. |
bulk_update_documents |
yes | Apply per-id partial updates to many documents in one call — relink a set of documents to a project, retag them, or rename them. The document body is not editable here; use update_document for that. |
bulk_delete_documents |
yes | Delete many documents in one call, along with their version history and generated PDFs. Linked clients and projects are unaffected. Prefer this over looping delete_document. |
list_documents
Mutating: no
List the user’s markdown documents. Filter by clientDisplayId, projectDisplayId, tag names, or a free-text search across display ID, name, description, and content. Returns metadata + tags, sorted by updatedAt desc by default.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
page |
number | no | Page number (default: 1) |
limit |
number | no | Items per page (default: 20, max: 50) |
search |
string | no | Substring match across display ID, name, description, and content |
clientDisplayId |
string | no | Filter to documents linked to this client display ID |
projectDisplayId |
string | no | Filter to documents linked to this project display ID |
tags |
array | no | Tag names — documents must have ALL listed tags |
sortBy |
string (name | createdAt | updatedAt) |
no | Field to sort by; defaults to updatedAt. |
sortOrder |
string (asc | desc) |
no | Sort direction; defaults to desc. |
get_document
Mutating: no
Fetch a document by UUID or display ID, including its current markdown content and tags.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
id |
string | yes | Document ID — accepts UUID or display ID (e.g. "D-7"). |
create_document
Mutating: yes
Create a new markdown document, optionally linked to 0-n clients and/or 0-n projects with optional tags. Returns the created document with normalized metadata.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
name |
string | yes | Document name (max 500 chars) |
description |
string | no | Short description (optional, max 2000) |
content |
string | yes | Markdown body |
clientDisplayIds |
array | no | Optional client display IDs to link (e.g. ["C-7"]) |
projectDisplayIds |
array | no | Optional project display IDs to link (e.g. ["P-7"]) |
tags |
array | no | Tag names to attach (existing tags reused, new tags created) |
update_document
Mutating: yes
Update an existing document. Any field is optional. If content is provided and differs from the current content, the previous content is snapshotted into the document's immutable version history before the update.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
id |
string | yes | Document ID — accepts UUID or display ID (e.g. "D-7"). |
name |
string | no | Document name. |
description |
string | no | Optional short description shown in lists. |
content |
string | no | Full markdown content. If it differs from the current content, the previous content is archived as a new version. |
clientDisplayIds |
array | no | Full client link set (e.g. ["C-7"]); replaces existing client links. [] detaches all clients. |
projectDisplayIds |
array | no | Full project link set (e.g. ["P-7"]); replaces existing project links. [] detaches all projects. |
tags |
array | no | Full tag set; replaces existing tags. New tags are created on the fly. |
delete_document
Mutating: yes
Permanently delete a document along with all of its archived versions and PDF exports.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
id |
string | yes | Document ID — accepts UUID or display ID (e.g. "D-7"). |
list_document_versions
Mutating: no
List the archived versions of a document, newest first. Returns metadata only — call get_document_version to retrieve a specific version's content.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
id |
string | yes | Document ID — accepts UUID or display ID (e.g. "D-7"). |
get_document_version
Mutating: no
Retrieve a specific archived version of a document, including its full content.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
id |
string | yes | Document ID — accepts UUID or display ID (e.g. "D-7"). |
versionNumber |
string | yes | Sequential per-document version number from list_document_versions (e.g. "3"). A raw version UUID is also accepted. |
restore_document_version
Mutating: yes
Restore an archived version by cloning its content as the new current version. The previously-current content is appended to the version history first, so the lineage stays intact and the operation is reversible by restoring again.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
id |
string | yes | Document ID — accepts UUID or display ID (e.g. "D-7"). |
versionNumber |
string | yes | Sequential per-document version number from list_document_versions (e.g. "3"). A raw version UUID is also accepted. |
delete_document_version
Mutating: yes
Permanently delete a single archived version. The current document is not affected.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
id |
string | yes | Document ID — accepts UUID or display ID (e.g. "D-7"). |
versionNumber |
string | yes | Sequential per-document version number from list_document_versions (e.g. "3"). A raw version UUID is also accepted. |
bulk_create_documents
Mutating: yes
Create many documents in one call, each with its own body and links. Counts against the plan quota as a whole, so an over-quota batch is rejected before any document is created.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
items |
array | yes | Documents to create. |
Items of items:
name(string) — Document title.description(string) — Short summary shown in the list.content(string) — Document body as markdown.clientIds(array) — Client UUIDs to link this document to.projectIds(array) — Project UUIDs to link this document to.tags(array) — Tag names to attach; created on demand if they do not exist.
bulk_update_documents
Mutating: yes
Apply per-id partial updates to many documents in one call — relink a set of documents to a project, retag them, or rename them. The document body is not editable here; use update_document for that.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
updates |
array | yes | Per-id patches to apply. |
Items of updates:
id(string) — Document ID — accepts UUID or display ID (e.g. "D-2").data(object) — Partial document fields: name, description, clientIds, projectIds, tags. Each id list replaces the whole link set; [] detaches everything.
bulk_delete_documents
Mutating: yes
Delete many documents in one call, along with their version history and generated PDFs. Linked clients and projects are unaffected. Prefer this over looping delete_document.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
ids |
array | yes | Document IDs to delete — each accepts a UUID or a display ID (e.g. "D-2"). |