Upload a file for hosted MCP conversion

The hosted MCP connection can convert a document that you upload through a short-lived Chab browser handoff. ChatGPT, Claude and other MCP clients do not automatically transfer a document you attach to a chat into Chab's file store.

  1. In your connected MCP client, call chab_file_upload_link. Open the returned upload_url in a browser. Do not share the link.
  2. If your connection belongs to a Chab account, sign in with the same user and switch to the same team before opening the link. A guest connection needs only its one-time link.
  3. Choose a PDF, Word, Excel, PowerPoint, OpenDocument, RTF, CSV, EPUB, HTML, Markdown or text file and submit the form. Chab returns the preallocated file_id to the browser; it is also in the tool response. The upload link expires after at most 15 minutes and works once. You can request up to 12 links per account or guest per UTC day. Guest links require recent browser verification; complete the link, upload and conversion start within 60 minutes of that verification.
  4. Wait for Chab's file scan. Then call chab_operation_start with operation_key: "convert.file" and an input such as {"source":{"type":"file_id","id":"fil_…"},"output_format":"text"}. If Chab reports source_scan_pending, wait and retry with a new operation idempotency key. Conversion will not read an unscanned or quarantined file.
  5. Read the operation result and retrieve any artifact through the same hosted MCP connection using chab_operation_artifact.

The file belongs to the exact hosted connection that requested the link. A REST/CLI key or another MCP connection cannot use its file_id. Guest uploads use the trial's five-file, 10 MiB retained-storage allowance and 2 MiB per-file limit. Account limits follow the account's file tier. Uploaded files are kept for 72 hours; hosted connections cannot delete them early, so storage quota frees after retention and purge. Chab checks its scanner connection and refuses to create upload links while the scanner is unavailable. If the scanner stops after you receive a link, the upload page returns HTTP 503 and lets you retry that same link shortly, until it expires. If your MCP client cannot open links, you can use the REST/CLI upload and conversion workflow with one consistent REST/CLI credential; that file ID will not be accessible to a different hosted MCP connection.