mcpField
C
csvto-mcp

csvto-mcp

Local
csvtosite.comProductivity0Updated 9w ago

About csvto-mcp

csvto-mcp is a local file conversion MCP server for CSV, JSON, and Excel, aimed at people working with structured data through an AI assistant. It writes converted files beside the source without uploading them or passing their contents through the model context.

Key features

  1. 01Convert CSV, JSON, and Excel files
  2. 02Process files locally
  3. 03Write output beside the source
  4. 04Infer types across each column
  5. 05Preserve values that would change on conversion

Use cases

  1. 01Convert a local CSV file to Excel
  2. 02Convert JSON data for spreadsheet use
  3. 03Keep leading zeros and numeric precision during conversion

MCP support

csvto-mcp provides local file conversion tools to MCP clients. Clients supply a file path; the server writes the converted file locally, without uploading file contents or sending them through the model context.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"bishop81-csvto": {
"command": "npx",
"args": [
"-y",
"csvto-mcp"
]
}
}
}
Run commandnpx -y csvto-mcp

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmcsvto-mcp0.1.2

Tools

10

Saved tool list · updated 2w ago

ParameterTypeRequiredDescription
formatenumNoDefaults to detection from the file extension.csv | json | xlsx
has_headerbooleanNoTreat the first row as column names. Default true.
input_pathstringYesAbsolute path to the source file on this machine.

Details

From the project README

csvto

CSV, JSON and Excel conversion that runs where your data already is.

  • csvto-mcp — an MCP server. Point your AI assistant at a file path; it converts locally and writes the result beside it. Nothing is uploaded, and file contents never pass through the model's context.
  • @csvto/core — the conversion engine. No DOM, no fs, no network, so the same tested code runs in a browser, in a local MCP process, or on a server.

The same engine powers the browser tools at csvtosite.com, where conversion happens client-side and files are likewise never uploaded.

Install the MCP server

claude mcp add csvto -- npx -y csvto-mcp

Or in any MCP client's config:

{
  "mcpServers": {
    "csvto": { "command": "npx", "args": ["-y", "csvto-mcp"] }
  }
}

Requires Node 18+. Full tool list and behaviour: packages/mcp/README.md.

Types are inferred per column, not per cell

This is the part that matters, and where most converters quietly corrupt data. A column converts to numbers only if every value in it survives the round trip exactly. If one value would change, the whole column stays text:

  • 01234 keeps its leading zero instead of becoming 1234
  • A 16-digit account number stays itself instead of becoming 1.23457E+14
  • 1250.50 keeps its trailing zero instead of becoming 1250.5
  • A column never ends up as a mix of numbers and strings

Verified in tests: 01234 survives a CSV → xlsx → CSV round trip intact.

Develop

npm install
npm test          # 49 tests
npm run build

packages/core must stay environment-free — no window, no fs, no fetch. That constraint is what lets one tested engine serve every surface.

Licence

MIT

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.