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_jwt reads 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_ranges returns zero-based indexes for code. The page a reader calls 1 is index 0.

Last updated 2026-08-11.