Model Context Protocol
The same utilities, inside your assistant.
FileGizmo ships a stdio MCP server that hands 42 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.
42 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.encode_base64Encode text as base64, optionally in the URL-safe alphabet.decode_base64Decode standard or URL-safe base64 back to text.encode_url_textPercent-encode text as a URL component or as a full URL.decode_url_textDecode percent-encoded text from a URL component or a full URL.generate_uuidsGenerate cryptographically random version 4 UUIDs.generate_passwordGenerate one random password and report its entropy in bits.password_entropyScore a password policy in bits of entropy without generating one.hash_textHash text with SHA-256, SHA-384, SHA-512, or SHA-1.timestamp_reportRead a Unix timestamp or date string and lay out every scale and zone.looks_like_formulaDetect a CSV value a spreadsheet would execute as a formula.dedupe_rowsRemove duplicate CSV records, either whole-row or by key columns.split_rowsSplit records into chunks of a fixed size or into a fixed number of parts.extract_columnsKeep only the chosen columns from a set of CSV records.csv_rows_to_htmlRender CSV records as an accessible HTML table.geocode_estimateEstimate how long geocoding a number of rows would take.qr_svgBuild a QR code and return it as a standalone SVG string.pdf_infoRead a PDF page count, page sizes, rotations, and document metadata without changing it.pdf_to_textRead the text out of a PDF, page by page, without changing the file.pdf_mergeJoin several PDFs into one, in the order given, and write it to disk.pdf_splitSplit one PDF into separate files by page ranges such as 1-3,7 and write them into a directory.pdf_extract_pagesCopy the named pages of a PDF into a new PDF.pdf_delete_pagesRemove the named pages from a PDF and write the rest to a new PDF.pdf_rotate_pagesTurn the named pages of a PDF by 90, 180, or 270 degrees, added to the rotation they already carry.pdf_reorder_pagesRewrite a PDF with its pages in a new order, given as every zero-based position exactly once.wifi_payloadBuild the WIFI payload string a phone camera joins a network from.
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.