Deterministic dev utilities: UUIDs, hashes, encoding, JWT, cron, regex. No network, no API key.
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 mcp add buildutilities -- npx -y buildutilities-mcp
Claude Desktop, Cursor, or any client with a JSON config
{
"mcpServers": {
"buildutilities": {
"command": "npx",
"args": ["-y", "buildutilities-mcp"]
}
}
}
Requires Node 18 or newer. To see the tool list without an MCP client:
npx -y buildutilities-mcp --help
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.npm test # 48 tests
MIT
Source-derived launch command. Check the maintainer’s required arguments and credentials before running:
npx -y buildutilities-mcpMerge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.
{
"mcpServers": {
"io-github-brentspore-buildutilities-mcp": {
"command": "npx",
"args": [
"-y",
"buildutilities-mcp"
]
}
}
}Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.
Claude Desktop setup referencebuildutilities-mcpnpmio.github.brentspore/buildutilities-mcp works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.