Penniless Data Utilities
RemoteAbout Penniless Data Utilities
Penniless Data Utilities is a paid MCP server offering deterministic data-processing and public-lookup tools for AI agents. Calls cost $0.001 in USDC, and results do not depend on another AI model.
Key features
- 01Repair malformed JSON
- 02Convert YAML to JSON
- 03Calculate cron next run
- 04Generate text diffs
- 05Extract text and links
- 06Look up DNS and WHOIS
- 07Fetch GitHub repository stats
- 08Validate email and MX records
Use cases
- 01Repair or diagnose JSON payloads
- 02Inspect changes between text versions
- 03Check domain records and registration
- 04Review repository metrics and email delivery
MCP support
Exposes nine tools to MCP clients over stateless streamable HTTP. MCP tool calls use x402 v2 payment; initialization and tool listing are free.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://penniless-json-repair.sjaman.workers.dev/mcpclaude mcp add --transport http danielarif26-penniless-data-utilities https://penniless-json-repair.sjaman.workers.dev/mcp{"mcpServers":{"danielarif26-penniless-data-utilities":{"type":"http","url":"https://penniless-json-repair.sjaman.workers.dev/mcp"}}}Open in Cursor{"servers":{"danielarif26-penniless-data-utilities":{"type":"http","url":"https://penniless-json-repair.sjaman.workers.dev/mcp"}}}Open in VS Code{"mcpServers":{"danielarif26-penniless-data-utilities":{"type":"http","url":"https://penniless-json-repair.sjaman.workers.dev/mcp"}}}{"mcpServers":{"danielarif26-penniless-data-utilities":{"serverUrl":"https://penniless-json-repair.sjaman.workers.dev/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
9| Parameter | Type | Required | Description |
|---|---|---|---|
| input | string | Yes | Malformed JSON text |
Details
From the project READMEPenniless Data Utilities
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.
- Live endpoint (MCP): https://penniless-json-repair.sjaman.workers.dev/mcp
- Live endpoint (REST): https://penniless-json-repair.sjaman.workers.dev
- Discovery:
/health,/openapi.json,/llms.txt,/.well-known/x402
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:
{
"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 name | REST path | Arguments | Returns |
|---|---|---|---|
repair_json | POST /repair/json | {input} | repaired JSON + which fixes applied |
yaml_to_json | POST /yaml/tojson | {input} | parsed value + warnings |
cron_next_run | POST /cron/nextrun | {expr, after?} | next UTC fire time |
text_diff | POST /diff | {old, new, context?} | unified diff + counts |
text_extract | POST /text/extract | {input, numbers?, codeBlocks?} | text, title, headings, links, URLs, emails |
domain_whois | POST /domain/whois | {domain} | registrar, statuses, expiry, nameservers, DNSSEC |
dns_lookup | POST /dns/lookup | {domain, type?} | DoH answers for A/AAAA/CNAME/MX/TXT/NS/SOA/PTR/SRV/CAA |
github_repo_stats | POST /github/repo-stats | {repo} | stars, forks, open issues, language, license |
email_validate | POST /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:
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
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
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.