Tools for agents: CSV to JSON records

Parse delimited text into string-valued JSON records with explicit headers and source-line locations.

Connect with MCP

{
  "mcpServers": {
    "super-agent-tools": {
      "url": "https://app.getsupers.com/sites/agent-csv-json/mcp"
    }
  }
}
Streamable HTTP · No API key · Stateless

Use this URL in any client supporting remote Streamable HTTP MCP. Calls return structured JSON; inputs are processed without persistence.

Call parse_csv_records

The first nonblank record is the header. Exact duplicate names and empty or whitespace-only names are rejected. Header case and whitespace are preserved. All cells remain strings, including leading zeros, decimal spelling, null text, formula text and empty values. Blank physical records are skipped and reported; a quoted empty field is not a blank record. One leading Unicode BOM is removed and reported. Supports comma, semicolon, tab or pipe delimiters; double quotes delimit quoted fields and doubled quotes escape quotes. Uses Python csv.reader strict mode with no dialect guessing, backslash escaping, trimming or type inference. This is not a full RFC conformance validator; quotes within unquoted fields follow Python CSV behavior. Ragged rows or parser errors fail the entire call without partial records. Source line ranges are one-based and include multiline quoted fields. Formula text is data and is never executed. Parser field-size limits remain the runtime defaults. https://docs.python.org/3/library/csv.html

Input and output schemas
{
  "name": "parse_csv_records",
  "title": "CSV to JSON records",
  "description": "Parse CSV with a required unique header into string-valued JSON records. Reject ragged records, empty headers, duplicate headers and CSV parser errors.",
  "inputSchema": {
    "properties": {
      "csv_text": {
        "title": "Csv Text",
        "type": "string"
      },
      "delimiter": {
        "default": ",",
        "enum": [
          ",",
          ";",
          "\t",
          "|"
        ],
        "title": "Delimiter",
        "type": "string"
      }
    },
    "required": [
      "csv_text"
    ],
    "title": "parse_csv_recordsArguments",
    "type": "object"
  },
  "outputSchema": {
    "additionalProperties": true,
    "title": "parse_csv_recordsDictOutput",
    "type": "object"
  },
  "icons": null,
  "annotations": {
    "title": null,
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
  },
  "meta": null,
  "execution": null
}

Run the example to see the actual result.

HTTP alternative

POST https://app.getsupers.com/sites/agent-csv-json/call
Content-Type: application/json

{
  "csv_text": "id,note,amount\n001,\"hello, agent\",12.50\n002,\"two\nlines\",\n",
  "delimiter": ","
}

The HTTP and MCP interfaces execute the same implementation. Validation errors are returned explicitly. See the tool notes above for its supported inputs and behavior.