Model Context Protocol
The same utilities, inside your assistant.
FileGizmo ships a stdio MCP server that hands 17 of its read-only utilities to any MCP client, including Claude Code, the Claude desktop app, and Cursor. It imports the same modules the website and the golden tests run, so a result here is the result you would get in the browser.
It runs as a local subprocess on your machine. There is no HTTP server, no account, and no upload, which is the same reason the website has none.
Add it to a client
Clone the repository, then point your client at mcp/server.mjs. Node.js 24 or newer is required.
{
"mcpServers": {
"filegizmo": {
"command": "node",
"args": ["/absolute/path/to/filegizmo/mcp/server.mjs"]
}
}
} Restart the client afterwards. It should list decode_jwt, merge_record_sets, and parse_page_ranges among its tools. From a checkout you can also run npm run mcp to start the server directly and confirm it responds.
17 tools
Every call is deterministic and read-only. Inputs and outputs stay between your client and this local subprocess.
text_statsCount words, lines, graphemes, UTF-16 units, and reading time.convert_caseConvert text to upper, lower, sentence, title, camel, or snake case.remove_duplicate_linesRemove repeated lines while optionally trimming and ignoring case.slugifyCreate a lowercase URL or filename slug.generate_loremGenerate bounded Lorem ipsum paragraphs.diff_linesCompare two strings line by line.smart_csv_valueCoerce one CSV value without corrupting phone numbers, leading zeros, or long identifiers.smart_csv_recordsApply conservative CSV typing to an array of records.flatten_recordFlatten a nested record into dot-separated keys.normalize_json_recordsNormalize JSON values into compact or flattened tabular records.merge_record_setsMerge two or more parsed CSV record sets by strict or union headers.format_jsonFormat JSON with optional key sorting.decode_jwtDecode a JWT header and payload without verifying its signature.developer_error_messageMap a developer-tool exception message to safe user-facing copy.json_fidelity_noticesDetect unsafe large integers and duplicate keys before formatting JSON.parse_page_rangesParse ranges such as 1-3,7 into zero-based page indexes.format_bytesFormat a byte count in a human-readable binary unit.
What it deliberately does not do
- No browser-only work. Compressing a PDF, removing an image background, and running OCR need DOM, Worker, WASM, or pdf.js APIs. They stay in the browser rather than being reimplemented here, because a second implementation is a second set of results to keep honest.
- No signature verification.
decode_jwtreads a header and payload and does not check that the token is genuine. Treat the claims as untrusted until your own code verifies them. - No writes. Nothing on this server creates, edits, or deletes a file on your disk.
- Indexes, not page numbers.
parse_page_rangesreturns zero-based indexes for code. The page a reader calls 1 is index 0.
Last updated 2026-08-11.