Content is loading…
Query CSV data with SQL SELECT — aggregate, filter, group, and sort in-memory.
csv_sql#csv#sql#query#aggregate#data analysisExecute SQL SELECT queries against CSV data by providing either an inline string (csv) or a URL (url). Queries must reference the table name "data" and can include standard clauses like JOIN, GROUP BY, and ORDER BY. Returns a JSON array of objects representing the resulting rows.
| Name | Type | Required | Description |
|---|---|---|---|
sql | string | required | SQL SELECT query. The CSV is available as table "data", e.g. SELECT city, AVG(price) FROM data GROUP BY city |
csv | string | optional | Raw CSV text. Provide either this or url. |
url | string | optional | URL of a CSV to fetch (max 5MB). Provide either this or csv. |
delimiter | string | optional | Default: auto-detect. |
{
"sql": "SELECT city, AVG(price) AS avg_price, COUNT(*) AS n FROM data GROUP BY city ORDER BY avg_price DESC",
"csv": "city,price\nBerlin,1200\nBerlin,1400\nParis,1600\nParis,1500"
}curl -X POST https://toolsy.my/api/mcp \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "csv_sql",
"arguments": {
"sql": "SELECT city, AVG(price) AS avg_price, COUNT(*) AS n FROM data GROUP BY city ORDER BY avg_price DESC",
"csv": "city,price\nBerlin,1200\nBerlin,1400\nParis,1600\nParis,1500"
}
}
}'Generate a free API key or set up an OAuth connector for Claude.ai.