Writing analysis and charts to a directory rather than returning them inline is the right shape for this kind of work — you get a PNG you can put in a document and a text file you can diff, instead of a response you have to scroll. The dependency to weigh is that both Gemini and Plotly quotas apply, so a large batch of files runs into someone's rate limit before it runs into yours.
An MCP server that runs exploratory data analysis and visualisation over CSV files using Google's Gemini model, writing its output as timestamped files rather than dumping everything into the conversation. Built for Claude Desktop and any other MCP client.
- `analyze-csv` — exploratory data analysis over a CSV in two depths: `basic` for a statistical summary, data-quality assessment, key patterns and correlations, or `detailed`, which adds distribution and dispersion analysis, outlier detection, feature-importance analysis, preprocessing recommendations and business insights
- `visualize-data` — Plotly charts generated from the same file in `basic` mode (chart type chosen automatically from the column types), `advanced` mode (multi-variable), or `custom` with your own configuration; chart types include histograms, correlation heatmaps, scatter, line, bar and box plots
- `generate-thinking` — a detailed reasoning pass over a prompt, saved with a timestamp
- Output written to disk in a predictable layout — analysis text split into parts plus a summary, visualisations as PNG files named by column and timestamp, thinking output in its own folder — with the output directory configurable per call
A Google Gemini API key in `GEMINI_API_KEY`, and for the charting side a Plotly account with `PLOTLY_USERNAME` and `PLOTLY_API_KEY`. Node.js v16 or higher and TypeScript; clone, `npm install`, create the `.env`, then `npm run build` and point your client at the built entry point with the working directory set. Limits worth knowing before you plan around it: responses are capped at 65,536 output tokens, file size is bounded by system memory, rate limits come from the Gemini and Plotly quotas, and visualisation capacity depends on the Plotly free tier. Standard CSV only. MIT licensed.
Build from source — clone the repository and build it, then point your client at the binary
