Csv Toolkit

MCP Tools

Manipulate CSV files from the command line — view, filter, sort, select columns, convert CSV to/from JSON, compute statistics, deduplicate, and merge files. Use when the user needs to work with CSV data, inspect a spreadsheet export, clean up tabular data, convert formats, or get quick column stats. Zero external dependencies.

Install

openclaw skills install csv-toolkit

CSV Toolkit

Command-line CSV manipulation — view, filter, sort, select, convert, stats, dedup, and merge. Pure Python, no dependencies.

Quick Start

# View as formatted table
python3 scripts/csv_toolkit.py view data.csv
python3 scripts/csv_toolkit.py view data.csv --head 10

# Filter rows
python3 scripts/csv_toolkit.py filter data.csv -w 'age>30' 'city==Chicago'

# Sort
python3 scripts/csv_toolkit.py sort data.csv --by salary --desc

# Select columns
python3 scripts/csv_toolkit.py select data.csv -c "name,email,salary"

# Convert to JSON
python3 scripts/csv_toolkit.py to-json data.csv -o data.json

# Convert JSON back to CSV
python3 scripts/csv_toolkit.py from-json data.json -o data.csv

# Column statistics
python3 scripts/csv_toolkit.py stats data.csv -c "age,salary"

# Remove duplicates
python3 scripts/csv_toolkit.py dedup data.csv -o clean.csv

# Merge files
python3 scripts/csv_toolkit.py merge file1.csv file2.csv -o combined.csv

Commands

CommandDescription
viewDisplay CSV as a formatted table. Use --head N / --tail N to limit rows.
filterFilter rows with -w conditions: col>val, col==val, col!=val, col<=val. Multiple conditions = AND.
sortSort by column with --by col. Add --desc for descending. Numeric-aware.
selectPick columns with -c "col1,col2".
to-jsonConvert CSV to JSON array of objects. Auto-detects numbers.
from-jsonConvert a JSON array of objects to CSV.
statsColumn statistics: count, unique values, min/max/mean/median for numeric columns.
dedupRemove duplicate rows.
mergeConcatenate multiple CSV files (same headers).

Global Options

FlagDescription
-d, --delimiterField delimiter (default: ,). Use -d '\t' for TSV.
--encodingFile encoding (default: utf-8).
-o, --outputWrite result to file instead of stdout.