# Csv To Ndjson — MCP tool `findutils:csv_to_ndjson`

Convert CSV into newline-delimited JSON (NDJSON, JSON Lines, .jsonl): one JSON object per line, keyed by the header row. Quoted fields, embedded line breaks and doubled quotes are read per RFC 4180; the delimiter is detected from the header when not given. Every value stays a string unless coerce is true, which turns true, false, null, an empty cell and plain numbers into JSON values while leaving leading zeros and integers of 2^53 or more as text. An empty header name becomes column_N and a duplicate gets a numeric suffix. A row wider than the header keeps the first N values and is reported by row number. Dotted header names are not rebuilt into nested objects.

- Category: data
- MCP server: https://mcp.findutils.com/ (Streamable HTTP, no API keys, 120 req/min per IP)
- REST endpoint: POST https://api.findutils.com/api/tools/csv-to-ndjson/execute (no API keys, 60 req/min per IP)
- Reference page: https://findutils.com/mcp/csv-to-ndjson/
- Same tool on the other surface: https://findutils.com/api/csv-to-ndjson/

## Connect

```bash
claude mcp add findutils --transport http https://mcp.findutils.com/
```

Claude Desktop (`claude_desktop_config.json`):

```json
{
  "mcpServers": {
    "findutils": {
      "url": "https://mcp.findutils.com/"
    }
  }
}
```

## Call the tool (verified example)

```bash
curl -X POST https://mcp.findutils.com/ \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "csv_to_ndjson",
      "arguments": {
        "csv": "id,name\n1,Ada\n2,Linus"
      }
    }
  }'
```

## Input schema

| Argument | Type | Required | Description |
|---|---|---|---|
| `csv` | string | yes | CSV text with a header row. |
| `delimiter` | string | no | Input field separator: ",", ";", "\t" or "\|". Omit to detect it from the header line. |
| `coerce` | boolean | no | Turn true, false, null, empty cells and plain numbers into JSON values. Default false: every value is a string. Default: `false`. |
| `header` | boolean | no | The first row holds the keys. Default true. When false, keys are column_1, column_2, ... Default: `true`. |

Example arguments (verified):

```json
{
  "csv": "id,name\n1,Ada\n2,Linus"
}
```

## Also a REST endpoint

```bash
curl -X POST https://api.findutils.com/api/tools/csv-to-ndjson/execute \
  -H "Content-Type: application/json" \
  -d '{
    "csv": "id,name\n1,Ada\n2,Linus"
  }'

# Parameter schema
curl https://api.findutils.com/api/tools/csv-to-ndjson
```

Full REST reference: https://findutils.com/api/csv-to-ndjson/ · OpenAPI 3.1 spec: https://findutils.com/api/openapi.json

---
Full catalog: POST https://mcp.findutils.com/ with method `tools/list` · https://findutils.com/mcp/ · https://findutils.com/llms.txt
