Skip to main content

Documents

MCP tools for the Documents module. See the Documents module docs for permissions and data model.

list-documents

List documents

Arguments

ArgumentTypeRequiredDescription
project_idstringnoProject ID (optional)
path_prefixstringnoOnly documents filed under this directory. The prefix is a path boundary, not a substring: /reports returns /reports/q1.txt and never /reports-archive/q1.txt, and / selects the whole project. A leading slash is optional and a trailing one is ignored, so reports, /reports and /reports/ are the same filter. % and _ are literal characters, not wildcards.
limitnumbernoMaximum number of results to return
offsetnumbernoNumber of results to skip

create-document

Create a document

Arguments

ArgumentTypeRequiredDescription
project_idstringnoProject ID. Required for JWT auth; omit when using an project key.
contentstringyes
pathstringnoLogical path within the project (e.g. /reports/q1.txt). Defaults to /filename if omitted.
filenamestringno
titlestringnoDocument title
metadataobjectnoArbitrary metadata object. Unlike other body fields, keys are stored and returned verbatim in the casing supplied — they are not converted between snake_case and camelCase.
tagsobjectnoKey-value tags
chunk_strategystringnoHow to split the content into embeddable chunks. whole (default) stores the content as a single chunk; size splits into fixed-size character windows with overlap. page is equivalent to whole for plain text.
chunk_sizenumbernoWindow size in characters when chunk_strategy=size. Defaults to 1000.
chunk_overlapnumbernoOverlap in characters between consecutive windows when chunk_strategy=size. Defaults to 200.

ingest-document

Ingest a file into a chunked document

Arguments

ArgumentTypeRequiredDescription
waitbooleannoWhen omitted or false (default), processing runs in the background and 202 Accepted is returned immediately with status=pending. Pass true to block until processing completes and receive 201 Created with status=ready.
file_idstringyesID of the uploaded file. Must be one of application/pdf, text/plain, text/markdown.
project_idstringnoProject ID. Required for JWT auth; omit when using a project key.
path_prefixstringnoPath prefix under which to store the document (e.g. /docs/). The filename is appended automatically.
tagsobjectnoKey-value tags to attach to the document.
chunk_strategystringnoHow to split the source into chunks. page (default) creates one chunk per non-empty page (PDF); for non-paged sources it yields a single chunk. whole joins everything into one chunk. size splits into fixed-size character windows with overlap.
chunk_sizenumbernoWindow size in characters when chunk_strategy=size. Defaults to 1000.
chunk_overlapnumbernoOverlap in characters between consecutive windows when chunk_strategy=size. Defaults to 200.

get-document

Get a document by ID

Arguments

ArgumentTypeRequiredDescription
document_idstringyesDocument ID

delete-document

Delete a document

Arguments

ArgumentTypeRequiredDescription
document_idstringyesDocument ID

update-document

Update a document

Arguments

ArgumentTypeRequiredDescription
document_idstringyesDocument ID
contentstringnoNew text content
titlestringnoNew title
pathstring | nullnoLogical path within the project (e.g. /reports/q1.txt). Pass null to clear.
metadataobjectnoArbitrary metadata object. Unlike other body fields, keys are stored and returned verbatim in the casing supplied — they are not converted between snake_case and camelCase.
tagsobjectnoKey-value tags

get-document-status

Get document ingestion status

Arguments

ArgumentTypeRequiredDescription
document_idstringyesDocument ID

reingest-document

Re-ingest an existing document

Arguments

ArgumentTypeRequiredDescription
document_idstringyesDocument ID
waitbooleannoWhen omitted or false (default), processing runs in the background and 202 Accepted is returned immediately with status=pending. Pass true to block until processing completes and receive 201 Created with status=ready.
chunk_strategystringnoHow to split the source into chunks. Defaults to page.
chunk_sizenumbernoWindow size in characters when chunk_strategy=size. Defaults to 1000.
chunk_overlapnumbernoOverlap in characters between consecutive windows when chunk_strategy=size. Defaults to 200.

complete-ingestion-callback

Deliver an async converter result

Arguments

ArgumentTypeRequiredDescription
document_idstringyesDocument ID
tokenstringyesSingle-use signed token from the original callback.token

get-document-tags

Get document tags

Arguments

ArgumentTypeRequiredDescription
document_idstringyesDocument ID

replace-document-tags

Replace document tags

Arguments

ArgumentTypeRequiredDescription
document_idstringyesDocument ID

merge-document-tags

Merge document tags

Arguments

ArgumentTypeRequiredDescription
document_idstringyesDocument ID