mcp server
FabTally Utility Belt
13 deterministic agent utilities: timezone, cron, RRULE, currency, regex, diff, hashing & more.
Description as published by the maintainer. Source
- version 1.0.0
- active
active — Registry entry last updated 2026-08-01.
What this server can do
13 functions, named and described by the server itself. Parameter names are shown because they say more about what a function does than its name usually does.
convert(to, from, value)- FREE. Convert a value between units in the same dimension: length, mass, temperature, volume, data, time, area, speed, angle, pressure, energy. Deterministic. Args: value (number), from (unit), to (unit). e.g. {value:100, from:'c', to:'f'} or {value:1, from:'GiB', to:'MB'}. Different-dimension conversions 400. Required: value, from, to.
cron(from, count, timezone, x_payment, expression)- PAID $0.001. Parse a 5- or 6-field cron expression and return the next N run times plus a plain-English description. Args: expression, timezone (IANA, default UTC), count (default 5), from (ISO, optional). Without payment returns the x402 challenge; pass x_payment to settle. Required: expression.
currency(to, from, amount, x_payment)- PAID $0.001. Convert an amount between currencies at reference/mid-market rates from a keyless public central-bank feed (ECB), cached. Informational, not a dealable quote. Args: amount, from, to (ISO-4217, e.g. USD, EUR, JPY). Without payment returns the x402 challenge; pass x_payment to settle. Required: amount, from, to.
datemath(op, to, date, days, from, units, weekend, duration, holidays, timezone, x_payment)- PAID $0.001. Calendar date math. op='add'/'subtract' an ISO-8601 duration (P1Y2M10DT2H30M) to a date; op='diff' two datetimes into chosen units; op='business-add' add business days (configurable weekend + holidays); op='business-diff' count business days between two dates. Without payment returns the x402 challenge; pass x_payment to settle. Required: op.
diff(a, b, mode, context, label_a, label_b, x_payment)- PAID $0.001. Diff two texts: a unified patch, a structured op-list (add/remove/equal), and add/remove/hunk stats. Args: a, b, mode (lines|words|chars, default lines), context (default 3), label_a, label_b. Without payment returns the x402 challenge; pass x_payment to settle. Required: a, b.
encode(op, text)- FREE. Encode or decode text. op is one of base64-encode|base64-decode|base64url-encode|base64url-decode|hex-encode|hex-decode|url-encode|url-decode|html-encode|html-decode. Args: op, text. Required: op, text.
hash(text, hmac_key, algorithm, input_encoding, output_encoding)- FREE. Compute a cryptographic digest: sha256, sha512, sha384, sha1, md5, sha3-256, keccak256, ripemd160. Optional HMAC via hmac_key. Output hex (default), base64, or base64url. keccak256 also returns a 0x-form (handy for Ethereum). Args: algorithm, text (+ input_encoding utf8|hex|base64, output_encoding, hmac_key). Required: algorithm, text.
id(kind, size, bytes, count)- FREE. Generate identifiers. kind is one of uuidv4|uuidv7|ulid|nanoid|hex|base64url|int. count up to 1000. nanoid takes `size`; hex/base64url take `bytes`. Uses a CSPRNG. Args: kind, count.
jsonschema(data, schema, x_payment)- PAID $0.001. Validate a value against a JSON Schema (draft 2020-12) and explain every error in plain English (which property, what was wrong, allowed values). Args: schema (object), data (any). Without payment returns the x402 challenge; pass x_payment to settle. Required: schema.
regex(op, flags, input, limit, pattern, replacement)- FREE. Run a regular expression against input with catastrophic-backtracking protection (it runs in a killable worker with a hard timeout, so a pathological pattern returns a 400 instead of hanging). op is test|match|extract|replace. Args: pattern, input, flags (gimsuy), op, replacement (for replace). Required: pattern, input.
rrule(after, count, rrule, timezone, x_payment)- PAID $0.001. Expand an iCal RRULE (RFC 5545) recurrence into its next N occurrences. Args: rrule (e.g. 'FREQ=WEEKLY;BYDAY=MO,WE;COUNT=10'), after (ISO, default now), count (default 5), timezone. Tip: include DTSTART for anchored series. Without payment returns the x402 challenge; pass x_payment. Required: rrule.
text(op, data, text, strict, template, separator)- FREE. Text transforms. op='slugify' -> URL slug; op is one of camel|pascal|snake|kebab|constant|dot|path|title|sentence|upper|lower for case conversion; op='template' fills {{placeholders}} from `data`. Args: op, text (for slugify/case), or template + data (for template). Required: op.
timezone(to_zone, datetime, from_zone, x_payment)- PAID $0.001 (x402, USDC on Base). Convert an instant between IANA time zones with historically-correct DST. Returns converted datetime, UTC offsets, tz abbreviations, DST flags, and the offset difference. Args: datetime (ISO 8601 or epoch), from_zone, to_zone. Without payment returns the x402 challenge; pass x_payment to settle. Free teaser exists on the HTTP API at /v1/timezone/free. Required: datetime, to_zone.
Last successful function declaration observed on . Source: https://belt.fabtally.com/mcp. We list what the server declared; we do not call any of these functions.
Endpoint status observed on . Source: https://belt.fabtally.com/mcp.
Signals
These are separate measurements of different things. They are deliberately not combined into one score, because a popularity number that mixes website traffic with saves and stars cannot be checked or acted on.
| Signal | Value | What it measures | Window | Observed | Source |
|---|---|---|---|---|---|
| Latest published version | 1.0.0 | Latest version string the maintainer published to the registry. | as of fetch | Model Context Protocol | |
| Registry record last updated | 2026-08-01 | When the registry record was last updated by its maintainer. | point in time | Model Context Protocol | |
| First listed in the MCP Registry | 2026-08-01 | Date this server was first published to the official MCP Registry. Not a usage or quality measure. | point in time | Model Context Protocol | |
| mcp tools declared | 13 tools | Number of functions the server itself declared when asked to list them. This is what the server offers an agent, not a measure of how well any of them work. | as of probe | belt.fabtally.com | |
| mcp endpoint status | ok | The server listed 13 functions when asked. | as of probe | belt.fabtally.com |
Where to get it
Also from zvmzaretsky
-
FabTally 3D-Print Slicer, Quote & DFM
— last commit 2026-07-31
Real 3D-print slicing, quoting, DFM, orientation & material/settings advisors. Free personal tier.
-
FabTally Safe
Read-only crypto safety: token honeypot checks, EIP-712 signature decode, approval scans.
-
FabTally Chain
On-chain monitoring reads: ENS/Basename expiry, gas, token unlocks & Chainlink oracle health.
-
FabTally Guard
Verify before you act: deps-check, x402-preflight, json-repair & url-read for agents.
-
FabTally Decode
Decode EVM bytes to JSON: event-log decoder, calldata explainer, selector lookup, ABI fetch.
-
FabTally Valid
Validation suite: EU VAT (VIES), IBAN mod-97, email (MX+disposable), geo place lookup, VIN decode.
This record as data
Every field on this page, with its source and observation date, is in the catalog JSON. Fetch the whole kind at once instead of parsing this HTML.
GET /api/v1/entries/mcp_server.json