Skip to main content
Glama
FabTally Utility Belt

FabTally Utility Belt

by zvmzaretsky

FabTally 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 with x_payment. Humans can instead prepay by card and use an X-FabTally-Key credit 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.

Related MCP server: mcp-server-devutils

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 (default https://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.

Available Tools

13 tools
convertUnit conversionAInspect

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.

Inputs: to (required), from (required), value (required).

cronCron -> next N runs + description (paid $0.001)AInspect

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.

Inputs: expression (required), from, count, timezone, +1 more.

currencyLive currency convert (paid $0.001)AInspect

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.

Inputs: to (required), from (required), amount (required), x_payment.

datemathDate math: durations & business days (paid $0.001)AInspect

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.

Inputs: op (required), to, date, days, +7 more.

diffText diff (unified + structured) (paid $0.001)AInspect

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.

Inputs: a (required), b (required), mode, context, +3 more.

encodeEncode / decode (base64, hex, url, html)BInspect

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.

Inputs: op (required), text (required).

hashHash / HMACAInspect

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

Inputs: text (required), algorithm (required), hmac_key, input_encoding, +1 more.

idGenerate IDs (uuid v4/v7, ULID, nanoid)AInspect

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.

Inputs: kind, size, bytes, count.

jsonschemaJSON-Schema (2020-12) validate + explain (paid $0.001)AInspect

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.

Inputs: schema (required), data, x_payment.

regexRegex test / match / extract / replace (safe)AInspect

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

Inputs: input (required), pattern (required), op, flags, +2 more.

rruleiCal RRULE -> next N occurrences (paid $0.001)AInspect

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.

Inputs: rrule (required), after, count, timezone, +1 more.

textSlugify / case-convert / template-fillAInspect

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

Inputs: op (required), data, text, strict, +2 more.

timezoneTimezone / DST convert (paid $0.001)AInspect

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.

Inputs: to_zone (required), datetime (required), from_zone, x_payment.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.1/5.0

    Scored across 13 tools

    Disambiguation5/5

    Each tool targets a unique function—encoding, unit conversion, text transforms, hashing, ID generation, regex, timezone, cron, RRULE, currency, diffing, JSON schema validation, and date math. Even the date-related tools (timezone, datetime, cron, rrule) are clearly differentiated by their descriptions.

    Naming Consistency5/5

    All tool names are single lowercase words (encode, convert, text, hash, id, regex, timezone, cron, rrule, currency, diff, jsonschema, datemath), forming a consistent and predictable naming scheme. There is no mixing of styles or conventions.

    Tool Count5/5

    With 13 tools, the server is well-scoped for a general-purpose utility belt. Each tool covers a distinct domain, and the count falls comfortably within the ideal 3-15 range.

    Completeness4/5

    The server covers a broad range of common utilities: encoding, conversion, text manipulation, crypto, IDs, regex, time/date, currency, diffing, and validation. Minor gaps exist, such as JSON formatting or URL parsing, but these are not critical for the stated purpose.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      A
      quality
      C
      maintenance
      Swiss-army-knife utility MCP server for AI agents. 18 tools for JSON validation/formatting, base64 encode/decode, hash generation, UUID generation, URL parsing, regex testing, markdown↔HTML conversion, text stats, slug generation, datetime conversion, cron parsing, text diffing, CSV↔JSON conversion, and JWT decoding. Zero API Key required
      18
      5
      -
    • A
      license
      A
      quality
      D
      maintenance
      MCP server providing 35 utility tools for AI agents including text analysis, encoding, hashing, password generation, JSON/CSV/XML parsing, regex, color, date, finance, URL metadata, SEO tags, DNS lookup, SSL inspection, and JWT decoding. Free, zero-dependency, and works with any MCP client.
      35
      64 npm
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Offers 31 deterministic developer tools (obfuscators, encoders, converters, validators) on a lean, machine-payable MCP endpoint.
      MIT