Chart a private CSV with an AI agent.
Keep the original CSV in your browser. Share selected schema or formulas deliberately; the local example below needs no assistant or file upload.
Updated
Read locally in this browser.
How much did each team spend?
A labelled synthetic budget export has four expenses. Engineering totals 4,000 and Design totals 2,000; the browser computes both from the file.
“Sum Cost by Team; keep invoice details local.”
Worked example · authored synthetic data
- Read the original fileUse the existing browser reader
- Check the definitionKeep the grouping and filter scope explicit
- Compute the resultUse the existing xmetric engine
- Review the evidenceRead the exact cells and query
Calculation or query in this example
SUM([Cost])
Opening the labelled sample…
Expected values from the labelled sample; the browser recomputes them.
| Group | Result |
|---|---|
| Design | 2000 |
| Engineering | 4000 |
Drop one file anywhere on this page. It is read in your browser; no file is uploaded.
Nothing is uploaded.
Read locallyThe original file stays in the browser.
Share deliberatelyMCP shares supported metadata and requested results with the chat host.
Separate actionsOnline saves and support uploads require their own actions.
How does this workflow work?
What is the direct answer to this workbook question?
To chart a confidential CSV without uploading it, open the file in xmetric in your browser and share only the column headers with your AI agent. The agent writes the formula; you build the chart on shelves in the xmetric app. CSV, Excel and Parquet files are read locally and nothing is uploaded unless you save online.
Why do cloud data uploads complicate privacy reviews?
When you drop a customer export or payroll spreadsheet into ChatGPT or Julius AI, the entire file travels over the network to a remote cloud workspace. For finance, healthcare, and customer PII exports, uploading raw rows violates internal security policies.
Chat-based Python sandboxes also usually return a static image or need another prompt every time you want to filter a date range, swap a dimension, or drill into an outlier.
How can I share schema and keep the file in my browser?
You can get the speed of an AI assistant without sending your rows off your computer:
- Open your CSV, Excel (.xlsx) or Parquet file in the xmetric app (/app/) in your browser. The file stays in local browser memory.
- Send only column names and data types to your AI agent when asking for a formula.
- Paste the formula as a calculated field, test it in the formula playground (/play/) if you like, then place fields on Rows, Columns, the Marks card and Filters to build the chart.
head -n 1 customer_invoices.csvThe public xmetric MCP server is live at https://getxmetric.com/mcp with no authentication or API key. Anonymous initialize, tool discovery and widget-resource checks passed on 2026-10-29. ChatGPT and Claude host rendering and tool selection remain unverified; their directory listings remain coming. The shipped tools expose bounded schema and aggregate queries plus specific worksheet commands; they do not promise arbitrary formula authoring.
How can I check cohort retention from a private CSV?
Suppose your local invoices.csv has three columns: customer_id, invoice_date, and amount_paid. You want to chart monthly revenue by the customer's signup cohort without uploading the customer list.
Ask your agent for the Level of Detail formula using only those three column names, then test it in the xmetric formula playground:
// 1. Cohort Month (Calculated Field in xmetric)
DATE_TRUNC('month', { FIXED [customer_id] : MIN([invoice_date]) })
// 2. Months Since First Invoice
DATEDIFF('month', [Cohort Month], DATE_TRUNC('month', [invoice_date]))-- Equivalent SQL
WITH cohorts AS (
SELECT
customer_id,
invoice_date,
amount_paid,
DATE_TRUNC('month', MIN(invoice_date) OVER (PARTITION BY customer_id)) AS cohort_month
FROM invoices
)
SELECT
cohort_month,
DATE_DIFF('month', cohort_month, DATE_TRUNC('month', invoice_date)) AS months_since_join,
SUM(amount_paid) AS cohort_revenue
FROM cohorts
GROUP BY 1, 2
ORDER BY 1, 2;In the xmetric app, place Cohort Month on Rows, Months Since First Invoice on Columns, and SUM(amount_paid) on Color to get an interactive cohort heat map in your browser.
How do cloud analysis and local browser BI differ?
A cloud analysis flow sends data to the host; a browser-local flow can keep the original file local while you choose which metadata or results to share.
| Feature | xmetric | ChatGPT Data Analysis | Julius AI |
|---|---|---|---|
| Where raw CSV data lives | Local browser memory (nothing uploaded unless you save online) | OpenAI cloud workspace | Julius cloud workspace (16 GB RAM, 7-day storage) |
| Starting price (as of October 2026) | Free in browser | Paid plans (Plus, Team, Enterprise) | Free tier available; credit-based paid plans: Plus $20 per month billed monthly, or $16 per month billed annually, Pro $45 per month billed monthly, or $37 per month billed annually, Business $450 per month billed monthly, or $375 per month billed annually |
| Output format | Interactive charts built on shelves, marks and filters, plus the formula playground | Static charts or interactive tables in chat | Charts, notebooks, and chat tables |
| Supported local files | .csv, .xlsx, .parquet, .twbx, .twb; the inspector also reads .pbix and zipped .pbip | .csv, .xlsx, .json, .pdf | .csv, .xlsx, .parquet |
When are ChatGPT or Julius AI a better fit?
Choose ChatGPT Data Analysis or Julius AI if your dataset is non-sensitive and you need arbitrary Python libraries like scikit-learn for machine learning regression, PDF text scraping, or automated multi-step Python notebooks in the cloud.
When should I use xmetric?
Choose xmetric when your data cannot leave your laptop and you want to build charts on shelves, write Level of Detail expressions and table calculations, or inspect workbooks for free in your browser.
What is live, and what remains planned?
The public xmetric MCP server is live at https://getxmetric.com/mcp with no authentication or API key. Anonymous initialize, tool discovery and widget-resource checks passed on 2026-10-29. ChatGPT and Claude host rendering and tool selection remain unverified; their directory listings remain coming. See the dated public protocol receipt and setup and evidence limits.
The public server is available; host operation and directory approval are separate checks.
| Capability | Current status |
|---|---|
| Public remote HTTPS MCP server | Live; anonymous initialize, tools and widget assets checked |
| ChatGPT and Claude host rendering and tool selection | Unverified |
| ChatGPT and Claude directory listings | Coming |
| Live Postgres and BigQuery connections in xmetric | Coming |
The file board parses supported .pbix, .twbx/.twb, CSV, Excel and Parquet files in your browser. Choosing a file shares supported schema, source names and calculation definitions with xmetric and the chat host; requested result cells, filters and SQL or DAX evidence are shared when answering. The original file is not uploaded by this flow. Small aggregates and labels can still be sensitive. Privacy details.
Does xmetric upload my CSV or Parquet file to a server?
No. CSV, Excel and Parquet files are read and queried inside your browser. Nothing is uploaded unless you sign in and choose to save a workbook online.
What file formats can I analyze locally in xmetric?
You can open .csv, .xlsx and .parquet files and .twbx/.twb workbooks in the xmetric app. The workbook inspector (/inspect/) also reads .pbix and zipped .pbip files and can save the data files packaged inside a .twbx. Live connections to Postgres and BigQuery remain coming.
Can I slice and filter the chart after building it without prompting an AI again?
Yes. Every chart in the xmetric app is built on shelves, marks and filters, so you can drag dimensions, change aggregations, and filter dates directly in the UI.
Open your file in the xmetric app and build the first chart in your browser.
What data does this worked example use?
The initial view uses authored synthetic data, not customer data or a captured agent session.
The example record lists its file, calculation or SQL and expected values. The live browser result is computed by xmetric’s existing engine or workbook inspector. Samples are excluded from own-data activation reporting.