Stop Uploading Excel to Claude for Company Numbers
Uploading spreadsheets to Claude works once — then the file is stale. For KPIs that live in your database, connect read-only MCP and ask live. What you can still export to Excel, and what not to expect.
There’s a whole genre of posts about uploading Excel to Claude so it can clean data, invent formulas, and “analyze like a senior analyst.”
That workflow is real. It’s also how a lot of founders end up making strategy decisions on a snapshot.
You export sales or churn on Tuesday. You upload Wednesday. You plan Thursday. Three customers cancelled in between. Claude is still reasoning on the old sheet — so you export again, upload again, and lose the thread.
If the numbers live in your database, stop uploading the same workbook every week. Connect Claude to the database once (read-only), and ask for reports on live rows. Use Excel when you want a file — as an output, not as the weekly source of truth.
For the “ask in plain English” outcome, start with ask Claude about your database. For a Monday cadence, see weekly reports with Claude Cowork.
When Excel upload is fine
Keep uploading when:
- The file is the system of record (a model you built in Sheets, a partner CSV, accounting export that never hits Postgres)
- You’re doing formula help or cleanup on that file
- It’s a true one-off and you won’t need “same question, fresher numbers” tomorrow
Don’t pretend a database dump is immortal. The deficiency isn’t that paste is annoying — it’s that planning on stale data feels like analysis.
What live connection changes
With an MCP database connector in Claude:
- You ask for last week’s signups, conversions, cancellations
- Claude inspects schema, runs read-only SQL, answers from current tables
- Follow-ups (“break that down by plan”) stay in the same thread — no re-upload
- You can ask for a CSV-ready table to open in Excel if you still want a sheet for a meeting
The mental flip: Excel is the delivery format sometimes. The database is the source.
Managed gateways like Synra sit in the middle: encrypted credentials, read-only by default, query logs. Self-hosted MCP works too if you want to run the server yourself — self-hosted vs managed.
Things that actually work (and ones that don’t)
Do ask for:
- Weekly KPI blurbs from live tables
- Excel-ready lists (“cancellations last 14 days”) as CSV/markdown
- Sanity checks: duplicates, nulls, weird spikes — report them; you fix in the product or DB
- Chart / dashboard ideas for execs — then build in BI or Sheets
- Scheduled weekly drafts in Claude Cowork
Don’t expect:
- Claude to silently “clean” production (read-only means no UPDATE)
- A replacement for Looker/Metabase on governed metrics (AI chat vs BI)
- Perfect numbers if your prompt never defines “active” or “churn” (metric traps)
Viral prompt carousels that promise senior-analyst automation on one upload are selling file analysis. You’re solving freshness and follow-ups.
Minimal setup (no SQL course)
- Prefer staging first
- Add the connection in a managed gateway or self-hosted MCP; get one endpoint URL
- In Claude: Connectors → add the URL
- Ask: “What tables do I have?” then a real business question with dates
- Verify two known answers before you trust it for planning
Force schema discipline so it doesn’t invent columns — stop guessing column names.
A prompt that replaces the weekly upload
You have read-only access to our database via MCP.
Describe relevant tables before querying. Don't invent columns.
For the last 7 days vs the prior 7 days, report:
- new signups
- conversions (define from schema or say missing)
- cancellations
Short summary for an exec. Then a CSV-ready table of cancellations (max 50 rows).
Show the SQL. If something fails, say so — don't invent numbers.
Save it. Re-run it. Or put it on a Cowork weekly schedule. That’s the habit upload-culture never quite reaches.
Upload Excel when the spreadsheet is the truth. For company KPIs that already live in Postgres (or MySQL / SQL Server), connect once and stop treating last week’s export like a dashboard.
Read-only MCP gateway: mcpserver.design.
Related reading: