CSV Insight & Cleaner MCP
Minimalistic MCP server that lets AI assistants inspect, quality-check, and clean CSV datasets through tools, resources, and prompts, without needing local file access.
README
CSV Insight & Cleaner MCP ๐๐งน
CSV Insight & Cleaner is a minimalistic Model Context Protocol (MCP) server that lets an AI assistant understand, quality-check, and clean CSV datasets โ without loading raw file paths or guessing at missing data.
Built with the official Python MCP SDK (FastMCP) and pandas, in a small,
readable, single-file codebase.
๐ Key Highlights
- โก Minimal & Zero-Bloat โ one
server.py, under 150 lines. - ๐ฏ All 3 MCP Primitives: Tools (inspect/summarize/clean/preview/report/export), Resources (live dataset + report snapshots), Prompts (analysis & cleaning workflows).
- ๐ง Facts vs. Explanation split โ Python/pandas computes the facts (row counts, duplicates, missing values); the AI client turns those facts into natural language. The server never invents or silently guesses data.
- ๐ Safe by design โ missing values are reported, never auto-filled. Only deterministic, reversible cleanup (duplicates, empty rows, whitespace, column names) is automated.
- ๐ Deploy-friendly โ tools accept raw CSV text content, not local file paths, so the same server works locally and once deployed publicly (e.g. on Glama), where it has no access to your filesystem.
๐ Project Structure
csv-insight-mcp/
โโโ sample_data/
โ โโโ messy_sales.csv # sample dataset for demos
โโโ src/
โ โโโ csvinsight/
โ โโโ __init__.py # package exports
โ โโโ __main__.py # `python -m csvinsight` entrypoint
โ โโโ server.py # core server (Tools, Resources, Prompts)
โโโ tests/
โ โโโ test_server.py # pytest smoke tests
โโโ .vscode/
โ โโโ mcp.json # VS Code Copilot Chat MCP config
โโโ pyproject.toml
โโโ README.md
๐ Architecture Overview
+-------------------------------------------------------------------------------+
| MCP CLIENT |
| (VS Code Copilot Chat / Claude Desktop / Cursor IDE / Custom AI) |
+-------------------------------------------------------------------------------+
โฒ
โ JSON-RPC 2.0 (stdio)
โผ
+-------------------------------------------------------------------------------+
| CSV INSIGHT & CLEANER MCP SERVER |
| |
| [TOOLS] [RESOURCES] [PROMPTS] |
| โข inspect_csv โข csv://current โข analyze_dataset |
| โข summarize_csv (dataset snapshot) โข clean_and_report |
| โข preview_csv โข csv://cleaning-report |
| โข clean_csv (before/after report) |
| โข get_cleaning_report |
| โข export_cleaned_csv |
+-------------------------------------------------------------------------------+
โ
โผ
Python / pandas Engine
(in-memory dataframe, per session)
๐ ๏ธ MCP Primitives Catalog
1. Tools
| Tool Name | Parameters | Description |
|---|---|---|
inspect_csv |
csv_data: str, filename?: str |
Loads raw CSV text and returns rows, columns, dtypes, missing values, duplicates, sample rows. |
summarize_csv |
none | Returns the same structural facts for the currently loaded dataset. |
preview_csv |
rows?: int, which?: "original"|"cleaned" |
Returns the first N rows of the original or cleaned dataset. |
clean_csv |
drop_duplicates?, drop_empty_rows?, trim_whitespace?, standardize_columns?: bool |
Deterministic cleanup; missing values are reported, never guessed. |
get_cleaning_report |
none | Returns the before/after report from the last clean_csv call. |
export_cleaned_csv |
none | Returns the cleaned dataset as raw CSV text, ready to save. |
2. Resources
| Resource URI | Description |
|---|---|
csv://current |
Markdown snapshot of the currently loaded dataset (rows, columns, quality). |
csv://cleaning-report |
Markdown before/after report from the most recent cleaning. |
3. Prompts
| Prompt Name | Description |
|---|---|
analyze_dataset |
Workflow: inspect the dataset, explain what it represents, flag quality issues, give recommendations. |
clean_and_report |
Workflow: clean the dataset, then explain exactly what changed. |
๐ Quickstart
# Clone and enter the project
git clone https://github.com/your-username/csv-insight-mcp.git
cd csv-insight-mcp
# Install in editable mode
pip install -e .
# Run tests
pytest -v
# Run the server directly over stdio
python -m csvinsight
๐ Client Configuration
VS Code Copilot Chat
Already included at .vscode/mcp.json:
{
"servers": {
"csv-insight-cleaner": {
"type": "stdio",
"command": "python",
"args": ["-m", "csvinsight"],
"cwd": "${workspaceFolder}"
}
}
}
- Open Copilot Chat โ switch to Agent mode.
- Click the tools icon โ confirm
csv-insight-cleanertools are listed. - Try: "Load sample_data/messy_sales.csv and tell me what's wrong with it."
(paste the file contents, or ask Copilot to read the file and pass its
text into
inspect_csv.)
Claude Desktop
claude_desktop_config.json:
{
"mcpServers": {
"csv-insight-cleaner": {
"command": "python",
"args": ["-m", "csvinsight"],
"cwd": "/absolute/path/to/csv-insight-mcp"
}
}
}
๐ฌ Example Demo Flow
"Analyze this CSV." (paste contents of messy_sales.csv)
โ inspect_csv โ rows, columns, 1 duplicate row, 1 empty row, 2 missing emails
"What problems does it have?"
โ AI explains the data-quality section in plain language
"Clean the safe issues."
โ clean_csv โ duplicates & empty rows removed, columns standardized
"What did you change?"
โ get_cleaning_report โ before/after row counts + list of changes
"Give me the cleaned file."
โ export_cleaned_csv โ ready-to-save CSV text
โ๏ธ Deployment (Glama)
The server only ever receives CSV text content through its tool parameters โ never a local file path โ so it is safe to deploy publicly:
- Push this repository to GitHub.
- Go to glama.ai/mcp/servers โ Add Server.
- Authenticate with GitHub and submit the repo URL.
- Glama builds and verifies MCP compliance automatically.
(Smithery is also compatible if preferred โ add a smithery.yaml pointing
at the same python -m csvinsight entrypoint.)
๐งช Testing
pytest -v
๐ License
MIT License ยฉ 2026 CSV Insight & Cleaner Contributors.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.