
Csvto Mcp
io.github.Bishop81Published by GitHub account Bishop81v0.1.2Updated Oct 24, 2026
Local CSV, JSON and Excel conversion. Files are never uploaded and never enter the context.
Overview
Local MCP server that converts CSV, JSON and Excel files on your machine, writing results beside the source file without uploading data.
- What you can do
- Convert a file between CSV, JSON and Excel formats from a local path
- Write the converted result next to the original file
- Keep column types consistent, leaving a column as text when any value would change
- Keep file contents out of the model's context and off the network
- When to use it
- Useful when you want an assistant to turn spreadsheets or delimited data into another format on your own machine, especially when the files are sensitive and should not be uploaded or pasted into a chat.
- Requirements
- Runs as a local stdio process via npx from the npm package csvto-mcp; requires Node 18 or newer. No authentication, environment variables or headers are declared. Desktop only.
Installation
In SourceWeft
- Open Csvto Mcp in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
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, nofs, 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
Or in any MCP client's config:
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:
01234keeps its leading zero instead of becoming1234- A 16-digit account number stays itself instead of becoming
1.23457E+14 1250.50keeps its trailing zero instead of becoming1250.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
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
Source: README.md at commit e81bde9
Tools
0Version history
1- v0.1.2LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts