analyze-csvLABSCO SUMMARY
The results land as files, not as a wall of chat.
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.
What it is
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.
What you get
analyze-csv— exploratory data analysis over a CSV in two depths:basicfor a statistical summary, data-quality assessment, key patterns and correlations, ordetailed, which adds distribution and dispersion analysis, outlier detection, feature-importance analysis, preprocessing recommendations and business insightsvisualize-data— Plotly charts generated from the same file inbasicmode (chart type chosen automatically from the column types),advancedmode (multi-variable), orcustomwith your own configuration; chart types include histograms, correlation heatmaps, scatter, line, bar and box plotsgenerate-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
Requirements
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.
Setup effort
Build from source — git clone https://github.com/falahgs/MCP-CSV-Analysis-with-Gemini-AI.git
USE CASES
Getting oriented in a CSV you have just been handed
Run the basic pass for column statistics, data-quality issues and the correlations worth following up.
Going deeper before modelling
Switch to the detailed pass for outlier detection, feature importance and preprocessing recommendations.
Producing charts for a report
Generate histograms, a correlation heatmap and scatter plots as PNG files in a directory you name.
Controlling exactly which chart gets made
Use the custom visualisation mode with your own chart types and column selection instead of the automatic choice.
3 tools
Listed in project docs. Your client may show a different list.
visualize-datagenerate-thinkingBEFORE YOU INSTALL
What to know first
Tools you get
3 tools named in the project's documentation.
Requires
- node on PATH
- Node.js
- GEMINI_API_KEY in your environment
- PLOTLY_API_KEY in your environment
- PLOTLY_USERNAME in your environment
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
You clone and build this one yourself.
Server setup
git clone https://github.com/falahgs/MCP-CSV-Analysis-with-Gemini-AI.git
cd MCP-CSV-Analysis-with-Gemini-AI
npm installCreate a .env file in the clone with GEMINI_API_KEY, PLOTLY_USERNAME and PLOTLY_API_KEY
npm run buildMCP Clients
Claude Desktop
{
"mcpServers": {
"CSV Analysis": {
"command": "node",
"args": [
"<YOUR_PATH_TO_MCP_CSV_ANALYSIS_GEMINI>/dist/index.js"
],
"cwd": "<YOUR_PATH_TO_MCP_CSV_ANALYSIS_GEMINI>",
"env": {
"GEMINI_API_KEY": "<YOUR_GEMINI_API_KEY>",
"PLOTLY_USERNAME": "<YOUR_PLOTLY_USERNAME>",
"PLOTLY_API_KEY": "<YOUR_PLOTLY_API_KEY>"
}
}
}
}<YOUR_PATH_TO_MCP_CSV_ANALYSIS_GEMINI> is the full path to your clone, in args as well as cwd (the folder git clone creates is named MCP-CSV-Analysis-with-Gemini-AI).