Penniless Data Utilities
Ten x402-paid tools for JSON, YAML, cron, diff, text, DNS, WHOIS, GitHub, crypto, and email.
Installation
Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).
claude mcp add --transport http penniless-data-utilities 'https://penniless-json-repair.sjaman.workers.dev/mcp'
{
"mcpServers": {
"penniless-data-utilities": {
"type": "http",
"url": "https://penniless-json-repair.sjaman.workers.dev/mcp"
}
}
}
Documentation
Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.
Penniless 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
Questions fréquentes
Qu'est-ce que Penniless Data Utilities ?
Ten x402-paid tools for JSON, YAML, cron, diff, text, DNS, WHOIS, GitHub, crypto, and email.
Comment installer Penniless Data Utilities ?
Il fonctionne comme serveur distant. Dans Claude Code : claude mcp add --transport http penniless-data-utilities 'https://penniless-json-repair.sjaman.workers.dev/mcp'. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.
Faut-il une clé API pour Penniless Data Utilities ?
Son entrée au registre n'indique aucune clé ni secret obligatoire. Certaines fonctions peuvent tout de même demander un compte auprès du service auquel il se connecte.
Penniless Data Utilities est-il open source ?
Son code est public sur GitHub, mais le dépôt ne déclare pas de licence standard.
Qui maintient Penniless Data Utilities ?
Il est publié par danielarif26. AI.tn le référence sans le maintenir ni le recommander.
Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.