MCP server: One MCP server.

Penniless Data Utilities

@danielarif26MCP server · External

Ten x402-paid tools for JSON, YAML, cron, diff, text, DNS, WHOIS, GitHub, crypto, and email.

MCP gateways & tool hubsv3.1.0JavaScript
Freeno charge per call

One address for any MCP client. No sign-in needed on this server.

What it does

3 read1 act5 other

Grouped by tool name. At most: only reads or looks up information.

What it costs

Free

Odel charges nothing per call. The publisher may charge for its own service.

Tools

9 · grouped by tool name · checked 26 Sep 2026

Read · 3Look things up

  • text_diff
  • dns_lookup
  • email_validate

Act · 1Change something

  • cron_next_run

Other · 5Neither hinted nor named

  • repair_json
  • yaml_to_json
  • text_extract
  • domain_whois
  • github_repo_stats
Try it in the Inspector
README3 min read

Nine deterministic data and lookup tools for AI agents, paid per call in USDC. REST advertises both native MPP and x402; MCP uses x402 v2. No accounts, no API keys, no rate-limit tiers. Every tool is pure computation or a keyless public lookup — none of them call another AI model, so results are reproducible.

Pricing

$0.001 USDC per call. REST advertises native MPP plus x402 v2 (eip155:8453, scheme exact); MCP uses x402 v2.

Base x402 settlements are verified by the free-tier PayAI facilitator. Native MPP is negotiated by mppx. Recipient (payTo): 0x3D98800c64C345950E1eAaa076D88C12d1BF5F37.

Connect over MCP

Any MCP client that speaks streamable HTTP can connect directly:

json
{
  "mcpServers": {
    "penniless-data-utilities": {
      "type": "http",
      "url": "https://penniless-json-repair.sjaman.workers.dev/mcp"
    }
  }
}

The transport is stateless — no session id is issued or required, and every request is independent. initialize and tools/list are free. An unpaid tools/call returns an x402 payment-required payload in result.content[0].text (and result.structuredContent); attach the signed payment as params._meta["x402/payment"] and repeat the call.

If you use an x402-aware MCP client, @x402/mcp handles that exchange for you.

Tools

MCP nameREST pathArgumentsReturns
repair_jsonPOST /repair/json{input}repaired JSON + which fixes applied
yaml_to_jsonPOST /yaml/tojson{input}parsed value + warnings
cron_next_runPOST /cron/nextrun{expr, after?}next UTC fire time
text_diffPOST /diff{old, new, context?}unified diff + counts
text_extractPOST /text/extract{input, numbers?, codeBlocks?}text, title, headings, links, URLs, emails
domain_whoisPOST /domain/whois{domain}registrar, statuses, expiry, nameservers, DNSSEC
dns_lookupPOST /dns/lookup{domain, type?}DoH answers for A/AAAA/CNAME/MX/TXT/NS/SOA/PTR/SRV/CAA
github_repo_statsPOST /github/repo-stats{repo}stars, forks, open issues, language, license
email_validatePOST /email/validate{email}syntax + live MX deliverability

POST /diagnose is free: it classifies what is wrong with a malformed JSON payload without returning the repaired output, so a caller can check whether paying is worthwhile before paying.

Example (REST + x402 client)

Any x402 v2 client works. With the reference TypeScript client and a viem account:

js
import { x402Client } from "@x402/core/client";
import { registerExactEvmScheme } from "@x402/evm/exact/client";
import { wrapFetchWithPayment } from "@x402/fetch";
import { privateKeyToAccount } from "viem/accounts";

const client = new x402Client();
registerExactEvmScheme(client, { signer: privateKeyToAccount(key), networks: ["eip155:8453"] });
const pay = wrapFetchWithPayment(fetch, client);

const res = await pay("https://penniless-json-repair.sjaman.workers.dev/repair/json", {
  method: "POST",
  headers: { "content-type": "application/json" },
  body: JSON.stringify({ input: "{foo: 'bar',}" }),
});
// -> { ok: true, repaired: { foo: "bar" }, applied: ["unquoted-keys","single-quotes","trailing-commas"] }

wrapFetchWithPayment handles the 402 round-trip: it receives the requirement, signs the USDC authorization, retries, and only returns a 200 once the facilitator has settled.

Development

bash
npm install
npm test        # 133 tests, runs fully offline (facilitator + upstream are injected)
npx wrangler dev
npx wrangler deploy

Environment (set in wrangler.toml): X402_NETWORK, X402_FACILITATOR, X402_PRICE, X402_PAY_TO. Production also has an encrypted Cloudflare secret MPP_SECRET_KEY used only to authenticate MPP challenges. Wallet private keys are never deployed to the Worker.

Maintainer

GitHub: @danielarif26

Similar modules

Browse MCP gateways & tool hubs