About FabTally Utility Belt
FabTally Utility Belt is an MCP server and HTTP API bundling deterministic utilities for agents and developers. It includes free text, encoding, hashing, and regex tools alongside paid date, scheduling, currency, and validation utilities.
Key features
- 01Unit conversion and text formatting
- 02Hashing, encoding, and ID generation
- 03Regex operations with timeout protection
- 04Timezone, cron, and RRULE calculations
- 05Currency conversion and date math
- 06Text diff and JSON Schema validation
Use cases
- 01Convert units or format text in an agent workflow
- 02Generate IDs or hashes for application data
- 03Calculate upcoming cron or RRULE occurrences
- 04Validate JSON or compare text revisions
MCP support
Exposes 13 utility tools to MCP clients over stdio or streamable HTTP, and can also run as a self-hosted HTTP service. Six tools are free; the others require payment.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://belt.fabtally.com/mcpclaude mcp add --transport http zvmzaretsky-utility-belt https://belt.fabtally.com/mcp{"mcpServers":{"zvmzaretsky-utility-belt":{"type":"http","url":"https://belt.fabtally.com/mcp"}}}Open in Cursor{"servers":{"zvmzaretsky-utility-belt":{"type":"http","url":"https://belt.fabtally.com/mcp"}}}Open in VS Code{"mcpServers":{"zvmzaretsky-utility-belt":{"type":"http","url":"https://belt.fabtally.com/mcp"}}}{"mcpServers":{"zvmzaretsky-utility-belt":{"serverUrl":"https://belt.fabtally.com/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
Tools
13| Parameter | Type | Required | Description |
|---|---|---|---|
| to | string | Yes | Target unit in the same dimension. |
| from | string | Yes | Source unit, e.g. c, km, GiB, gal, kg. |
| value | number | Yes | Numeric value to convert. |
Details
From the project READMEFabTally Utility Belt — MCP server
The deterministic micro-utilities AI agents call constantly, as an MCP server (stdio + streamable-HTTP) and a pay-per-call HTTP API. One reliable bundle instead of thirteen flaky npm deps.
- Free tools return real results with no wallet:
convert,text,hash,encode,id,regex. - Paid tools ($0.001/call, x402 · USDC on Base):
timezone,cron,rrule,currency,diff,jsonschema,datemath. With no payment a paid tool returns the decoded x402 402 challenge (price / network / asset / payTo) so an agent can pay and retry withx_payment. Humans can instead prepay by card and use anX-FabTally-Keycredit key against the HTTP API.
This server holds no private key. It fronts https://belt.fabtally.com. Every utility is a pure,
deterministic function with strict input validation; bad input → 400, never charged; nothing is stored.
Tools
| Tool | Tier | What it does |
|---|---|---|
convert | free | Unit conversion (length/mass/temperature/volume/data/time/area/speed/angle/pressure/energy). |
text | free | slugify · case-convert (camel/pascal/snake/kebab/constant/…) · {{template}} fill. |
hash | free | sha256/sha512/sha384/sha1/md5/sha3-256/keccak256/ripemd160, optional HMAC, hex/base64 out. |
encode | free | base64 / base64url / hex / url / html encode & decode. |
id | free | uuid v4/v7, ULID, nanoid, random hex/base64url/int (count up to 1000). |
regex | free | test/match/extract/replace with catastrophic-backtracking protection (killable worker + timeout). |
timezone | $0.001 | Instant → IANA zone with historically-correct DST; offsets, abbreviations, DST flags. |
cron | $0.001 | Cron expression → next N run times + plain-English description. |
rrule | $0.001 | iCal RRULE (RFC 5545) → next N occurrences. |
currency | $0.001 | Live currency conversion at reference/mid-market rates (keyless ECB feed, cached). |
diff | $0.001 | Text diff: unified patch + structured op-list + add/remove/hunk stats. |
jsonschema | $0.001 | Validate against JSON Schema (draft 2020-12) and explain every error in plain English. |
datemath | $0.001 | Add/subtract ISO-8601 durations, diff into chosen units, business-day add/diff. |
Install / run
stdio (Claude Desktop, Cursor, any MCP client)
// claude_desktop_config.json
{
"mcpServers": {
"fabtally-belt": { "command": "npx", "args": ["-y", "fabtally-belt-mcp"] }
}
}
Or clone and run: node index.js (speaks MCP over stdio).
streamable-HTTP (remote)
Hosted: https://belt.fabtally.com/mcp. Or self-host: MCP_HTTP_PORT=8108 node http.js.
Config
FABTALLY_BELT_BASE— API base (defaulthttps://belt.fabtally.com).
Paying for paid tools
A paid tool with no x_payment returns:
{ "payment_required": true, "http_status": 402,
"challenge": { "x402Version": 2, "accepts": [ { "scheme": "exact", "network": "eip155:8453",
"amount": "1000", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "payTo": "0x…" } ] } }
Build an x402 payment authorization (EIP-3009 transferWithAuthorization to payTo) for the accepts
entry and call the tool again with the token in x_payment. amount is atomic USDC (1000 = $0.001).
Guarantees
Deterministic. Stateless — no PII or request data stored. Receive-only wallet (no custody). Currency figures are reference/mid-market rates for informational use, not a dealable quote. MIT licensed.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.