@gongrzhe/server-data-wrangler
v1.0.0
Published
CSV/JSON Data Wrangler MCP App Server with interactive table, type detection, sorting, filtering, and statistics
Downloads
60
Readme
Data Wrangler MCP Server
Interactive CSV/JSON data explorer with column type detection, sorting, filtering, and summary statistics.
Features
- Auto Format Detection - Automatically detects CSV or JSON format with fallback parsing
- Intelligent Type Detection - Identifies column types (number, string, date, boolean) with 80% threshold matching
- Advanced Filtering - Filter data by equality, comparison (gt/lt), text matching (contains/startsWith)
- Column Statistics - Compute unique counts, null counts, min/max values, mean, median, and top value frequencies
- Interactive UI - Browse parsed data in a responsive table with sortable columns
- Batch Analytics - Get comprehensive statistics for any column including distribution analysis
Installation
npm install @gongrzhe/server-data-wranglerUsage
As a CLI
npx @gongrzhe/server-data-wranglerClaude Desktop Configuration
Add this to your claude_desktop_config.json:
{
"mcpServers": {
"data-wrangler": {
"command": "npx",
"args": ["-y", "@gongrzhe/server-data-wrangler"]
}
}
}Claude Code Configuration
claude mcp add data-wrangler -- npx -y @gongrzhe/server-data-wranglerTools
parse-data
Parses CSV or JSON data with auto-detection of column types (number, string, date, boolean). Returns structured table data with statistics.
Input:
data(string): The raw CSV or JSON data to parseformat(optional): Data format - "csv", "json", or "auto" (default: "auto")
Output:
columns: Array of column definitions with name, detected type, and null countrows: Array of objects representing data rowsrowCount: Total number of rows parsedstats: Statistical summary for each column
filter-data
Applies a filter to the last parsed dataset. Supports equality, comparison, contains, and startsWith operators.
Input:
column(string): Column name to filter onoperator(string): Filter operator - "eq", "neq", "gt", "lt", "contains", "startsWith"value(string): Value to compare against
Output:
- Filtered dataset with updated row count and statistics
get-column-stats
Returns detailed statistics for a specific column including unique count, nulls, min/max, mean, median, and top values.
Input:
column(string): Column name to get statistics for
Output:
column: Column nametype: Detected column typeuniqueCount: Number of unique non-null valuesnullCount: Number of null/empty valuesmin/max: Minimum and maximum valuesmean/median: Statistical averages (numeric columns only)topValues: Array of most frequent values with their counts
Example Prompt
Parse this CSV data:
name,age,salary
Alice,32,125000
Bob,28,85000
Carol,45,155000
Then filter for employees with salary > 100000 and show me the statistics for the age column.License
MIT
