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
projectIdstringnoProject ID (optional)
limitnumbernoMaximum number of results to return
offsetnumbernoNumber of results to skip

create-document

Create a document

Arguments

ArgumentTypeRequiredDescription
projectIdstringnoProject 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
chunkStrategystringnoHow 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.
chunkSizenumbernoWindow size in characters when chunk_strategy=size. Defaults to 1000.
chunkOverlapnumbernoOverlap in characters between consecutive windows when chunk_strategy=size. Defaults to 200.

ingest-document

Ingest a file into a chunked document

Arguments

ArgumentTypeRequiredDescription
asyncbooleannoWhen omitted or true (default), processing runs in the background and 202 Accepted is returned immediately with status=pending. Pass false to run synchronously and receive 201 Created with status=ready.
fileIdstringyesID of the uploaded file. Must be one of application/pdf, text/plain, text/markdown.
projectIdstringnoProject ID. Required for JWT auth; omit when using a project key.
pathPrefixstringnoPath prefix under which to store the document (e.g. /docs/). The filename is appended automatically.
tagsobjectnoKey-value tags to attach to the document.
chunkStrategystringnoHow 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.
chunkSizenumbernoWindow size in characters when chunk_strategy=size. Defaults to 1000.
chunkOverlapnumbernoOverlap in characters between consecutive windows when chunk_strategy=size. Defaults to 200.

get-document

Get a document by ID

Arguments

ArgumentTypeRequiredDescription
documentIdstringyesDocument ID

delete-document

Delete a document

Arguments

ArgumentTypeRequiredDescription
documentIdstringyesDocument ID

update-document

Update a document

Arguments

ArgumentTypeRequiredDescription
documentIdstringyesDocument ID
contentstringnoNew text content
titlestringnoNew title
pathstringnoLogical 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
documentIdstringyesDocument ID

reingest-document

Re-ingest an existing document

Arguments

ArgumentTypeRequiredDescription
documentIdstringyesDocument ID
asyncbooleannoWhen omitted or true (default), processing runs in the background and 202 Accepted is returned immediately with status=pending. Pass false to run synchronously and receive 201 Created with status=ready.
chunkStrategystringnoHow to split the source into chunks. Defaults to page.
chunkSizenumbernoWindow size in characters when chunk_strategy=size. Defaults to 1000.
chunkOverlapnumbernoOverlap in characters between consecutive windows when chunk_strategy=size. Defaults to 200.

complete-ingestion-callback

Deliver an async converter result

Arguments

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

get-document-tags

Get document tags

Arguments

ArgumentTypeRequiredDescription
documentIdstringyesDocument ID

replace-document-tags

Replace document tags

Arguments

ArgumentTypeRequiredDescription
documentIdstringyesDocument ID

merge-document-tags

Merge document tags

Arguments

ArgumentTypeRequiredDescription
documentIdstringyesDocument ID