Tools for agents: Lossless string-record CSV exporter

Export exact string-valued records to CSV with explicit columns, complete quoting and no silent field loss.

Connect with MCP

{
  "mcpServers": {
    "super-agent-tools": {
      "url": "https://app.getsupers.com/sites/agent-json-csv/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 export_csv_records

Supply a nonempty ordered list of unique header strings; empty or whitespace-only headers fail. Every record must have exactly those fields and every cell must already be a string. Numbers, booleans, null, arrays and objects are rejected rather than coerced. Header case and whitespace, cell spelling, leading zeros, embedded CR/LF and empty strings are preserved. All headers and cells are double-quoted, with internal quotes doubled. Records use CRLF separators, including a final separator. Delimiter may be comma, semicolon, tab or pipe. Output is UTF-8 without a BOM; utf8_bytes and sha256 describe csv_text encoded exactly that way. Zero records produce a header-only CSV. Quoting preserves text syntax but does not force spreadsheet apps to treat formulas or numeric-looking cells as text; no formula prefixing or other content changes occur. Unpaired surrogates fail. This exports data, not a spreadsheet workbook or uploaded file, and persists nothing.

Input and output schemas
{
  "name": "export_csv_records",
  "title": "Lossless string-record CSV exporter",
  "description": "Write string-valued records to CSV using an explicit ordered header. Reject missing or extra fields and return exact UTF-8 byte size and checksum.",
  "inputSchema": {
    "properties": {
      "headers": {
        "items": {
          "type": "string"
        },
        "title": "Headers",
        "type": "array"
      },
      "records": {
        "items": {
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        },
        "title": "Records",
        "type": "array"
      },
      "delimiter": {
        "default": ",",
        "enum": [
          ",",
          ";",
          "\t",
          "|"
        ],
        "title": "Delimiter",
        "type": "string"
      }
    },
    "required": [
      "headers",
      "records"
    ],
    "title": "export_csv_recordsArguments",
    "type": "object"
  },
  "outputSchema": {
    "additionalProperties": true,
    "title": "export_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-json-csv/call
Content-Type: application/json

{
  "headers": [
    "id",
    "note",
    "amount"
  ],
  "records": [
    {
      "id": "001",
      "note": "hello, agent",
      "amount": "12.50"
    },
    {
      "id": "002",
      "note": "two\nlines",
      "amount": ""
    }
  ],
  "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.