CSV Insight & Cleaner MCP

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.

Category
Visit Server

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}"
    }
  }
}
  1. Open Copilot Chat โ†’ switch to Agent mode.
  2. Click the tools icon โ†’ confirm csv-insight-cleaner tools are listed.
  3. 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:

  1. Push this repository to GitHub.
  2. Go to glama.ai/mcp/servers โ†’ Add Server.
  3. Authenticate with GitHub and submit the repo URL.
  4. 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

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured