Document Upload
document_uploadUpload a local PDF, TXT, or MD file to create a document asset. Specify scope (user, campaign, or global) and optional name, tags, and description for the upload.
Instructions
Upload an existing local PDF/txt/md file as a document asset using multipart REST. Use document_create for inline text, or document_share to link an existing asset. Reads the MCP server/container filesystem; client-local paths must be mounted. Creates an asset on each accepted call, so retries may duplicate it. Scope controls access: CAMPAIGN requires that campaign's DM; other scope rights are upstream-enforced. The server checks signatures and its size cap (default 50 MiB), with a shared upload/create limit of 30/minute/user by default. A 400 is preserved without fallback upload. Returns {ok:true,data} on success; tool-body failures return {ok:false,error} with optional diagnostic data. Argument-schema errors are MCP errors.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Optional asset display name; null omits it so upstream uses its upload default. | |
| tags | No | Optional tag strings joined by commas for multipart upload; null omits tags, while [] sends an empty field. | |
| scope | No | Visibility/ownership scope: USER (default personal), CAMPAIGN, or GLOBAL; upstream enforces creation rights. CAMPAIGN uses campaign_id. | USER |
| file_path | Yes | Existing .pdf/.txt/.md path on the MCP server filesystem; ~ is expanded. Container users must mount the file. | |
| campaign_id | No | Explicit campaign ID; null uses the configured campaign when scope=CAMPAIGN, otherwise omits the field. If supplied, it is forwarded for any scope. | |
| description | No | Optional asset metadata text; null omits it. Upstream validates upload metadata. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||