Normalize messy CSV into your schema; ambiguous values return as exceptions. $0.02 USDC via x402.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Use when you have a CSV or delimited table and already know which source column should become which output field — it conforms a file to a schema you state, and does not infer the schema for you. Normalise a delimited table to the fields you name: dates to ISO, money to numbers, text collapsed, optional deduplication. Anything that cannot be read with certainty is returned as an exception with a reason, never guessed. Every delivered cell is re-checked against its source token before the response is built. Deterministic: the same input always gives the same output. PAID: $0.02 USDC on Base mainnet, settled by Circle Gateway via x402 v2; call without payment to receive the PaymentRequired terms.
The delimited table, including its header row (1–48000 bytes, at most 2000 data rows).
The agreed schema: which source column becomes which output field, and of what type.
Your system's date order. The file's own proof always wins over this.
Output field to deduplicate on. Omit for no deduplication.
Use when you have a CSV or delimited table and already know which source column should become which output field — it conforms a file to a schema you state, and does not infer the schema for you. Normalise a delimited table to the fields you name: dates to ISO, money to numbers, text collapsed, optional deduplication. Anything that cannot be read with certainty is returned as an exception with a reason, never guessed. Every delivered cell is re-checked against its source token before the response is built. Deterministic: the same input always gives the same output. PAID: $0.02 USDC on Base mainnet, settled by Circle Gateway via x402 v2; call without payment to receive the PaymentRequired terms.
| Argument | Type | Description |
|---|---|---|
| csv* | string | The delimited table, including its header row (1–48000 bytes, at most 2000 data rows). |
| fields* | array | The agreed schema: which source column becomes which output field, and of what type. |
| dateOrder | string | Your system's date order. The file's own proof always wins over this. |
| dedupeKey | string | Output field to deduplicate on. Omit for no deduplication. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"csv",
"fields"
],
"properties": {
"csv": {
"type": "string",
"maxLength": 48000,
"minLength": 1,
"description": "The delimited table, including its header row (1–48000 bytes, at most 2000 data rows)."
},
"fields": {
"type": "array",
"items": {
"type": "object",
"required": [
"field",
"column",
"type"
],
"properties": {
"type": {
"enum": [
"text",
"date",
"money",
"code"
],
"type": "string",
"description": "What the value must become."
},
"field": {
"type": "string",
"maxLength": 64,
"minLength": 1,
"description": "Output field name."
},
"column": {
"type": "string",
"maxLength": 128,
"minLength": 1,
"description": "Source column header, matched case-insensitively."
},
"required": {
"type": "boolean",
"description": "A missing value sends the row to exceptions (default true)."
}
}
},
"maxItems": 12,
"minItems": 1,
"description": "The agreed schema: which source column becomes which output field, and of what type."
},
"dateOrder": {
"enum": [
"DMY",
"MDY"
],
"type": "string",
"description": "Your system's date order. The file's own proof always wins over this."
},
"dedupeKey": {
"type": "string",
"maxLength": 64,
"minLength": 1,
"description": "Output field to deduplicate on. Omit for no deduplication."
}
}
}Free health/status: service status, version, environment, network, autonomy mode and the paid offer. No secrets.
No arguments.
{
"type": "object",
"properties": {}
}