The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Buildutilities MCP listing page.
Deterministic developer utilities as MCP tools. Runs entirely on your machine — no network calls, no telemetry, no API key, no account.
From the people who make buildutilities.com.
A language model is already good at most text manipulation, and a tool it does not need is a tool that only burns its context window. So this server deliberately covers the operations models are genuinely bad at:
Everything here is a pure function: same arguments, same answer, no state, no side effects.
Claude Code
Claude Desktop, Cursor, or any client with a JSON config
Requires Node 18 or newer. To see the tool list without an MCP client:
Randomness a model cannot fake
| Tool | What it does |
|---|---|
generate_uuid | Cryptographically random UUID v4s, via the OS CSPRNG. |
generate_password | Random password, guaranteeing at least one character from every enabled set. |
generate_token | Random token for API keys, session ids, nonces and salts — hex, base64url or alphanumeric. |
Exact bytes and digests
| Tool | What it does |
|---|---|
base64_encode | Encode to Base64, standard or URL-safe. |
base64_decode | Decode Base64, reporting invalid input rather than returning mojibake. |
url_encode | Percent-encode, in component or full-URI mode. |
url_decode | Decode percent-encoding, reporting malformed input. |
hash_text | md5, sha1, sha256, sha384 or sha512 digest, with a warning on the broken ones. |
hmac_sign | HMAC a message with a secret — webhook and request signing. |
hmac_verify | Constant-time check of a message against an expected signature. |
Calendar arithmetic
| Tool | What it does |
|---|---|
convert_timestamp | Unix epoch to human time in any IANA timezone; auto-detects seconds vs milliseconds. |
cron_next_runs | Next run times for a 5-field cron expression, in a timezone. |
Documents, tokens, diffs
| Tool | What it does |
|---|---|
format_json | Pretty-print or minify JSON exactly, with line and column on a parse error. |
decode_jwt | Read a JWT's header, payload and expiry. Decodes only — never verifies. |
diff_text | Line-by-line diff, marking what was added and removed. |
Run it, do not predict it
| Tool | What it does |
|---|---|
test_regex | Actually execute a pattern and return every match with its index and capture groups. |
escape_regex | Escape a string for use as a regex literal. |
analyze_text | Exact character, word, line, sentence, paragraph and byte counts. |
slugify | URL-safe slug, transliterating accents. |
check_color_contrast | Exact WCAG 2.2 contrast ratio and which AA/AAA thresholds it passes. |
decode_jwt reads a token; it cannot tell you the token is genuine. Never trust its output as authentication.L, W, #, ?) is refused rather than guessed at, because a plausible wrong schedule is worse than an error. Times inside a DST spring-forward gap are still listed; real cron implementations disagree about that case.Three tests in test/no-network.test.ts enforce it, so it cannot quietly stop being true:
node:net, http, https, dns, tls or dgram, or calls fetch.MIT