Once you connect Claude Desktop, Cursor, or any MCP-compatible client to clariBI, the natural next question is "how do I get my data in?" Three tools cover the ground: inline base64 upload, server-side URL ingest, and OAuth handoff for cloud sources.
Three paths, one rule
Whichever path you pick, the data goes through the same preprocessing pipeline a web upload would. The resulting data source is queryable by run_analysis the moment its status flips to active.
| Path | Tool | Cap | Best for |
|---|---|---|---|
| Inline | upload_data_source | ~18 MB raw | The file is already in the LLM context. |
| URL | ingest_url_data_source | 100 MB raw | Public http(s) link (S3, partner export). |
| OAuth | request_oauth_integration_url + check_integration_status | n/a | Google Ads / GA4 / Sheets / BigQuery / Search Console, Meta Ads, Jira, Confluence. |
Inline base64 upload
Ask the LLM to base64-encode the file, then call upload_data_source with the encoded payload, the filename, and the format. Supported formats: csv, tsv, json, xlsx, xls, txt, pdf. Pass wait_seconds=30 if you want the tool to block until preprocessing finishes.
URL ingest
If the file lives at a public URL, just hand the URL to ingest_url_data_source. clariBI fetches it once server-side and stores it; subsequent analyses do not re-fetch. The fetcher rejects private network ranges and cloud metadata endpoints so an LLM cannot use this tool to read your internal services.
OAuth handoff for cloud sources
For Google Ads, Analytics 4, Search Console, Sheets, Drive, BigQuery, Meta Ads, Atlassian Jira, or Confluence, credentials should never travel through chat. Call request_oauth_integration_url and the tool returns an authorization URL plus a handoff_id. Open the URL in a browser, click Allow, and then poll check_integration_status(handoff_id) from the LLM. The handoff flips from pending to connected automatically when the OAuth callback lands.
What about databases?
Pasting a PostgreSQL or MySQL connection string into chat would leak credentials into the LLM transcript. The MCP server intentionally does not include a database connection tool. Connect databases from the clariBI web app at Settings → Data Sources.
Quotas
Every ingest counts against your tier's data source limit, monthly file upload count, and storage cap. Trial allows 3 sources, 5 uploads per month, and 1 GB of storage; Starter through Enterprise scale up linearly. Tool error responses tell you which quota was hit.
See the full data-ingestion docs for request/response examples.