Popular servers: Spreadsheet · Server for Invoices — Generate Invoices from Claude · Expense Tracker — Log Expenses from Claude · Recurring Invoices · Word Document Server — Create .docx from Claude · Server for Bill of Sale — Draft and Sign from Claude · Zip · Job Card
CSV is the format people are sent; JSON is the format code wants. Migrations, dev tools, webhook testers and dashboards all ask for objects, so converting is a recurring need. MCP Spreadsheet reads the CSV and writes JSON, and the same server keeps the Excel skills for the round trip and for the edits in between.
Ask for the conversion in plain language and inspect what it decided before you trust it. "Convert
~/Downloads/orders.csv to JSON and save it next to the original" is one call. Because exports out of
accounting and bank portals are rarely clean, the server sniffs the delimiter and guesses the header
row, so a semicolon-separated European export with a title line above the real headers lands right
instead of as one column. A quick sheet_info check confirms the header it detected.
If what you were sent is already JSON, the same tool converts it the other way, and a converter in the middle can filter, sort and add a computed column before writing the file you actually name. That keeps the transform and the format change in one step instead of across two. When the end product is a document for a client rather than a feed for code, MCP PDF turns the finished data into a printable file in the same chat.
One click, with no JSON. Download spreadsheet.mcpb from the
latest release and open it in Claude Desktop. It runs on the
Node runtime Claude Desktop ships with, so your own PATH and node version never come into it.
Or a URL, with nothing installed. /mcp/connect mints a free anonymous token and prints the ready line:
claude mcp add --transport http spreadsheet https://mcp.zovo.one/mcp/spreadsheet/t/<token>
Or from a clone, for a client with no bundle installer. Build once, then point the client at the built file:
git clone https://github.com/theluckystrike/mcp-servers.git
cd mcp-servers && npm install
npm run build -w packages/mcp-license -w servers/spreadsheet
claude mcp add --scope user spreadsheet -- node /absolute/path/to/mcp-servers/servers/spreadsheet/dist/index.js
Claude Desktop, Cursor, Windsurf and Cline take the same two strings as JSON, in
claude_desktop_config.json or the client's own MCP config file:
{
"mcpServers": {
"spreadsheet": {
"command": "node",
"args": ["/absolute/path/to/mcp-servers/servers/spreadsheet/dist/index.js"]
}
}
}
The npm packages are not published yet, so the npx form below returns a 404 today. It is
kept because it is what that config becomes the day the publish lands, with nothing else changed;
installing these servers when npx does not work yet
has the whole picture.
claude mcp add spreadsheet -- npx -y @theluckystrike/mcp-spreadsheet
For a tidy hundred-row file you can, but real exports have guessed delimiters and header rows, and JSON needs nested objects and correct types. The server sniffs both and flags what it detected so a large conversion is not silently offset by one row.
Yes, the same call with the formats swapped. It is the direction most SaaS imports actually need, since many tools accept a CSV you would rather generate from JSON.
The server parses and writes both formats in JavaScript with nothing else installed, so the file never leaves your machine.
All MCP servers and prices · All guides · Buy the bundle $39