Problem. A founder keeps sales data in a CSV/spreadsheet and wants to "just ask" questions instead of writing formulas.
Solution. A custom MCP server (FastMCP) that exposes the dataset to any MCP-compatible AI agent — Claude Desktop, Claude Code, Cursor. The agent can now answer data questions in natural language by calling typed tools.
Tools: dataset_overview, revenue_by(dimension), top_n(dimension,n,metric), monthly_trend(metric).
Install (client side) — claude_desktop_config.json:
{ "mcpServers": { "business-analytics": { "command": "python", "args": ["server.py"] } } }Real run (verified output):
dataset_overview() -> {"rows":12,"total_revenue":52019.0,"total_units":81,"date_range":["2026-01-05","2026-03-28"]}
revenue_by('region') -> {"EMEA":22675,"AMER":14973,"APAC":14371}
top_n('rep',3) -> [Aiko 20679, Maria 14371, George 13488]
monthly_trend() -> {"2026-01":12474,"2026-02":25467,"2026-03":14078}
Natural-language session it enables:
User: Which region is performing best and who's my top rep? Claude: EMEA leads at $22,675; your top rep is Aiko at $20,679. February was your strongest month ($25,467).
Delivered in <1 day. Swap sample_sales.csv for the client's data (or wire to Postgres/Sheets) — same interface.