The MCP server is in public beta. It is open to use and still being refined, so tools and behavior may change.
Tool
upload_file · Behavior Open worldfile argument automatically. Do not read or pass a local/sandbox path (e.g. /mnt/data/…) and do not construct file.download_url yourself. The bytes are fetched, stored, and processed (text extraction + embeddings) in place. Poll readiness with get_files({ id }) until status is “ready” (then use the file) or “failed” (then extraction_error explains why). Target the upload with project_id (into a project), vault_id (as a document in a Contract Intelligence vault), or scope (“my-files” / “organization”); the three are mutually exclusive and default to “my-files”.
Input parameters
object
required
The file to upload. The host populates this automatically when the user attaches a file. Do not construct it or pass a local/sandbox path (e.g. /mnt/data/…); just call the tool and let the host attach the file reference.
string (uuid)
Upload into a project you can edit. Mutually exclusive with
vault_id and scope.string (uuid)
Add the file as a document in this Contract Intelligence vault, so it gets scanned against the vault’s columns. Requires the editor or owner role in the vault, and the vault accepts PDF, Word, and text files only. Find the id with
get_vaults. Mutually exclusive with project_id and scope.'my-files' | 'organization'
Upload to the root of “my-files” or “organization”. Mutually exclusive with
project_id and vault_id. Defaults to “my-files”.Response
string (uuid)
string
number
string
'ready' | 'extracting' | 'embedding' | 'failed'
string
string
string (uuid)
string (uuid)
string
string
Plain-language next step: use the file immediately when ready, poll get_files while still processing, or stop on failure.