CSV Text to JSON Rows (With Header Row, Comma or Detected Delimiter)
omnial/csv-text-to-json-rows
Converts CSV text whose first line is a header row into JSON: one object per data row, keyed by the header's column names, with whole numbers returned as numbers; plus the column names in order, the row count and the delimiter used. The delimiter is detected when not given (a semicolon was detected in testing), or can be set to a comma.
Price
Up to $0.0325 per call; you pay what the call used
The price shown is the price you pay. No monthly minimum. Top-ups start at $5.
Data source
Omnial
Computed by Omnial from the inputs you provide.
Use it
Five steps: search, inspect, learn, run, settle. No per-tool setup; your agent reaches this tool through the meta-tools it already has.
// 1. search: find the tool
omnial_search({ query: "what you need" })
// 2. inspect: price and input schema
omnial_inspect({ tool: "omnial/csv-text-to-json-rows" })
// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "omnial/csv-text-to-json-rows" })
// 4. run: price the exact call first, then run it
omnial_execute({ tool: "omnial/csv-text-to-json-rows", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "omnial/csv-text-to-json-rows", input: { /* ... */ } })
// 5. settle: the call is charged when it finishes, nothing to doNot connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.
Pricing
Every charge this tool can incur.
| Charge | Price |
|---|---|
Per call | $0.0325 |
- Updated
- Oct 15, 2026
Input and output schemas
Input schema
{
"type": "object",
"examples": [
{
"csv_string": "city,population\nOslo,709000\nBergen,291000",
"has_header": true
}
],
"required": [
"csv_string",
"has_header"
],
"properties": {
"delimiter": {
"enum": [
","
],
"type": "string",
"description": "The field delimiter; only \",\" is offered. Leave it out to have the delimiter detected."
},
"csv_string": {
"type": "string",
"minLength": 1,
"description": "The CSV text: a header row of column names, then one data row per line, separated by newlines."
},
"has_header": {
"enum": [
true
],
"type": "boolean",
"description": "Whether the first line is a header row; only true is offered."
}
},
"additionalProperties": false
}Output schema
{
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"description": "Keyed by your CSV's own column names.",
"additionalProperties": {
"type": [
"string",
"number"
],
"description": "One cell: a whole number as a number, anything else as text."
}
},
"description": "One object per data row, keyed by the header's column names. Whole numbers come back as numbers (a year column in testing) and text as text."
},
"columns": {
"type": "array",
"items": {
"type": "string"
},
"description": "The column names from the header row, in order."
},
"row_count": {
"type": "number",
"description": "Data rows converted (the header not counted)."
},
"detected_delimiter": {
"type": "string",
"description": "The delimiter used, such as a comma or a semicolon."
}
},
"description": "The converted rows and what was read from the header."
}