@csvtocsv/mcp
v0.2.0
Published
MCP server for csvtocsv.com — deterministic CSV transforms (Amazon→Shopify, Any-CSV→Amplitude cohort, CSV cleanup) usable from any agent runtime over stdio.
Maintainers
Readme
@csvtocsv/mcp
MCP server for csvtocsv.com — deterministic CSV transforms for AI agents.
Out of the box your agent gets:
Amazon Flat File → Shopify Product CSVAny CSV → Amplitude Cohort importAny CSV → Cleaned CSV(header normalisation, value canonicalisation)
Transforms run on the hosted Worker at https://mcp.csvtocsv.com/mcp. This
package is a thin stdio bridge: every JSON-RPC message is forwarded over
HTTPS, so adapter additions and bug fixes ship without you reinstalling.
Quick start — Claude Desktop
Mint an API key at https://csvtocsv.com/account, then drop this into your
claude_desktop_config.json:
{
"mcpServers": {
"csvtocsv": {
"command": "npx",
"args": ["-y", "@csvtocsv/mcp"],
"env": {
"CSVTOCSV_API_KEY": "csv_... (get yours at csvtocsv.com/account)"
}
}
}
}Restart Claude Desktop. Ask "list the CSV pairs csvtocsv supports" — the agent
will call list_supported_pairs and report what's available. Hand it a CSV
and ask for a target format; it picks the right pair_id and runs
transform_csv.
Quick start — Cursor / Cline / Continue / any MCP client
Same shape — point the client at npx -y @csvtocsv/mcp and pass
CSVTOCSV_API_KEY as an environment variable. Configuration UI varies by
client; consult their MCP docs for where the JSON block lives.
Tools
list_supported_pairs
No arguments. Returns the full catalog of source → target pairs the server
can transform. Call this first if you don't know which pair_id to pass to
transform_csv.
transform_csv
{
"pair_id": "amazon_to_shopify",
"file_path": "/path/to/export.csv"
}For local files, pass file_path — the stdio bridge reads the file and sends
its contents directly to the server, so large CSVs stay out of the agent's
context window. You can also pass csv_content (raw CSV text) or csv_url
(an HTTP URL the server fetches).
Returns the transformed CSV plus stats (rows_in, rows_out, rows_dropped).
Each successful call debits one credit from your account; failed calls don't
debit. Mint keys at csvtocsv.com/account.
Environment variables
| Variable | Required | Default | Notes |
| --- | --- | --- | --- |
| CSVTOCSV_API_KEY | for transform_csv | — | Bearer token forwarded to the Worker. list_supported_pairs works without one. |
| CSVTOCSV_MCP_URL | no | https://mcp.csvtocsv.com/mcp | Override for self-hosters or staging. |
How it works
agent client ◄── stdio JSON-RPC ──► npx @csvtocsv/mcp ◄── HTTPS ──► mcp.csvtocsv.com/mcp
(this package) (hosted Worker)The Worker is the source of truth: rate limits, the adapter library, the credit ledger, and the API-key auth all live there. This package is a 60-line proxy that exists to make the server reachable from agent runtimes that only speak stdio.
Self-hosting / source
Worker source: https://github.com/jakubtutaj/csvtocsv/tree/main/packages/mcp.
Wrangler config in wrangler.toml deploys to your own Cloudflare account.
Point CSVTOCSV_MCP_URL at your Worker's URL and you're running independent
infrastructure.
License
MIT
