Skip to main content
The MCP server can attach a file (an invoice or a receipt) to Qonto without ever streaming the file bytes through the model’s context. It is a two-step handshake: the server hands your client a short-lived presigned upload URL, your client uploads the file straight to object storage, then the server forwards the staged file to Qonto. For reading, listing, or detaching attachments already on a transaction, see Transactions and statements.

The two-step flow

  1. request_attachment_upload returns a short-lived presigned upload_url and an opaque blob_ref.
  2. Your client uploads the file to upload_url with an HTTP PUT, sending the same Content-Type. The bytes go straight to object storage, never through the model.
  3. upload_attachment takes the blob_ref and a target, reads the staged file, and pushes it to Qonto.

Tools

Targets

upload_attachment routes the file to one of four destinations via its target argument:

Limits and formats

  • Formats: PDF, JPEG, PNG.
  • Size: up to 15 MB (10 MB for supplier_invoice).
  • Expiry: the presigned upload_url is valid for about 15 minutes. Request a fresh one if it lapses before the file is uploaded.
The presigned upload_url is a short-lived write credential to object storage. The server hands it to your client to upload the file; do not paste it into a chat where it may be logged or shared. Pass an idempotency_key to upload_attachment to make a retried upload safe.
Try it
Attach this receipt to my last Amazon transaction. Upload these supplier invoices and tell me the totals Qonto extracted. Create a draft client invoice for ACME from the attached PDF.