Back to the catalog

io.github.brentspore/buildutilities-mcp

Deterministic dev utilities: UUIDs, hashes, encoding, JWT, cron, regex. No network, no API key.

Open source Open in the app JSON README (API)

About

Deterministic dev utilities: UUIDs, hashes, encoding, JWT, cron, regex. No network, no API key.

Details

Kind
MCP servers
Topic
No topic detected
Publisher
brentspore
Origin
official
Category
ferramentas
Transport
local
Version
0.1.0
Last push
2026-09-09T05:27:44Z
Repository state
ativo
Language
TypeScript
License
MIT
Added
2026-09-01 20:00:09
Updated
2026-09-09 07:03:06
Origin id
io.github.brentspore/buildutilities-mcp

README

# buildutilities-mcp

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](https://buildutilities.com).

## Why these tools and not others

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:

- **Randomness.** A model cannot generate it. Ask one for a UUID or a password and you get something drawn from its training distribution — repeatable between sessions, sometimes lifted verbatim from a public code sample. For anything security-adjacent that is a real defect.
- **Exact digests and bytes.** It cannot compute a SHA-256, so it invents a plausible one. Base64 of anything it has not effectively memorised comes back quietly corrupted.
- **Running a regex.** Asked whether a pattern matches, a model reasons *about* the pattern instead of executing it, so it reports matches that do not exist and misses ones that do.
- **Precise counting** over long text, and **calendar arithmetic** across timezones and DST — including "when does this cron next fire", which models answer confidently and wrongly.

Everything here is a pure function: same arguments, same answer, no state, no side effects.

## Install

**Claude Code**

```bash
claude mcp add buildutilities -- npx -y buildutilities-mcp
```

**Claude Desktop, Cursor, or any client with a JSON config**

```json
{
  "mcpServers": {
    "buildutilities": {
      "command": "npx",
      "args": ["-y", "buildutilities-mcp"]
    }
  }
}
```

Requires Node 18 or newer. To see the tool list without an MCP client:

```bash
npx -y buildutilities-mcp --help
```

## Tools

**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. |

## What it does not do

- **It does not verify JWT signatures.** `decode_jwt` reads a token; it cannot tell you the token is genuine. Never trust its output as authentication.
- **md5 and sha1 are included but not secure.** They are there for checksums and legacy interop, and the tool says so in its output.
- **Cron is standard 5-field only.** Non-standard syntax (`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.

## The no-network claim is tested

Three tests in `test/no-network.test.ts` enforce it, so it cannot quietly stop being true:

1. No source file imports `node:net`, `http`, `https`, `dns`, `tls` or `dgram`, or calls `fetch`.
2. Running every tool in the catalogue loads no network-related native binding.
3. The package declares exactly two runtime dependencies (the MCP SDK and zod); adding a third fails the suite and forces a re-check.

```bash
npm test    # 48 tests
```

## Licence

MIT

More