README Documentation
Vibe Preprocessing and Analysis MCP Server for CSV files
A powerful MCP (Model Control Protocol) server for preprocessing and analyzing CSV files. This server provides a suite of tools for data manipulation, visualization, and analysis through an intuitive interface.
Features
-
Data Loading and Management
- Load CSV files from a specified working directory
- Set and manage working directories
- List files in the working directory
- Save processed dataframes to new files
-
Data Preprocessing
- Handle mixed data types in columns
- Manage null values with various strategies:
- Remove rows with nulls
- Fill with mean/median/mode
- Forward/backward fill
- Fill with constant values
- Drop and rename columns
- Run custom dataframe editing code
- Save processed data to new files
-
Data Analysis
- Generate comprehensive data descriptions
- Create correlation matrices with visualizations
- Handle mixed data types in columns
- Run custom analysis code
-
Data Visualization
- Create various types of plots:
- Line plots
- Bar charts
- Scatter plots
- Histograms with KDE
- Box plots
- Violin plots
- Pie charts
- Count plots
- Kernel Density Estimation plots
- Custom graph generation through code
- Save visualizations to the working directory
- Run custom visualization code
- Create various types of plots:
Setup Instructions
Prerequisites
- Python 3.x
- uv (recommended package manager). I recommend using uv to manage the server.
Installation
- Add MCP and required dependencies:
uv add "mcp[cli]"
uv add pandas matplotlib seaborn numpy
- Install the server in Claude Desktop:
mcp install server.py
Alternative Installation with pip
If you prefer using pip:
pip install "mcp[cli]" pandas matplotlib seaborn numpy
Usage
- Start the MCP server:
uv run mcp
- Test the server using MCP Inspector:
mcp dev server.py
You can install this server in Claude Desktop and interact with it right away by running:
mcp install server.py
Alternatively, you can test it with the MCP Inspector:
mcp dev server.py
Available Tools
Data Management
send_work_dir()
: Retrieve the current working directoryset_work_dir(new_work_dir)
: Set a new working directorylist_work_dir_files()
: List files in the current working directoryload_csv(filename)
: Load a CSV file into the systemsave_global_df(filename)
: Save the current dataframe to a file
Data Preprocessing
handle_column_mixed_types()
: Handle columns with mixed data typeshandle_null_values(strategy, columns)
: Handle null values in the dataset with various strategiesdrop_columns(columns)
: Remove specified columnsrename_columns(column_mapping)
: Rename columns in the dataframerun_custom_df_edit_code(code)
: Execute custom dataframe manipulation code
Data Analysis
describe_df()
: Generate a statistical summary of the dataframegenerate_correlation_matrix()
: Create a correlation matrix with visualization
Data Visualization
plot_graph(graph_type, x_column, y_column, output_filename)
: Create various types of plots- Supported graph types: line, bar, scatter, hist, box, violin, pie, count, kde
run_custom_graph_code(code)
: Execute custom visualization code
Environment Variables
WORK_DIR
: The working directory where files are read from and saved to
Error Handling
The server includes comprehensive error handling for:
- Missing working directories
- File not found errors
- Data loading and processing errors
- Invalid operations on empty dataframes
- Mixed data type handling
- Custom code execution errors
- Invalid column names
- Invalid graph types
- Null value handling errors
Contributing
Feel free to submit issues and enhancement requests!
Quick Actions
Key Features
Model Context Protocol
Secure Communication
Real-time Updates
Open Source