Penniless Data Utilities

io.github.danielarif26由 GitHub 账号 danielarif26 发布v3.1.0更新于 Oct 24, 2026

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

已验证Streamable HTTP可网页运行网页搜索与抓取开发者工具

概览

AI 生成的概览

远程 MCP 服务器,提供九种小型数据工具——JSON 修复、YAML 转换、cron、diff、文本提取、DNS、WHOIS、GitHub 统计和邮箱校验,按次付费。

可以做什么
修复格式错误的 JSON,并将 YAML 转换为 JSON,同时报告应用的修复项或警告。计算 cron 表达式的下一个 UTC 执行时间,并生成两段文本的统一 diff。从 HTML 或纯文本中提取正文、标题、标题层级、链接、URL 和邮箱。通过 DoH 查询 DNS 记录,并获取域名的结构化 WHOIS/RDAP 信息。获取公开 GitHub 仓库统计,并校验邮箱语法与域名 MX 记录。
适用场景
适合助手需要快速、确定性的数据杂务时使用:清理模型输出的损坏 JSON、转换 YAML、检查 cron 计划、比较文本、从 HTML 中抽取文本,或进行无需密钥的 DNS、WHOIS、GitHub 和邮箱查询,而无需另行接入多个服务。
运行要求
远程 streamable HTTP 端点;无需账号、API 密钥或请求头。每次工具调用在 Base 上花费 0.001 USDC,通过 x402 协议支付,因此客户端需要支持 x402 的 MCP 客户端或钱包签名器;initialize 和 tools/list 免费。
安装前请注意
每次工具调用都会花费真实资金(Base 上每次 0.001 USDC),助手若重试或循环调用会产生费用。支付需要用钱包私钥签署 USDC 授权,私钥应保存在客户端而非提示词中。域名、邮箱和文本等输入会发送到第三方端点,DNS/WHOIS/邮箱结果来自实时公开查询。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Penniless Data Utilities,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.danielarif26%2Fpenniless-data-utilities/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

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

README

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.

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 installnpm test        # 133 tests, runs fully offline (facilitator + upstream are injected)npx wrangler devnpx 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

来源:README.md,提交 3137a15

工具

9

repair_json

Penniless JSON Repair

Repairs malformed LLM JSON: strips Markdown fences and prose wrappers, fixes trailing commas, converts Python literals (True/False/None) and single/unquoted keys, removes comments, recovers balanced JSON from truncated output. Body {input} -> {ok, repaired, applied}. Costs $0.001 USDC on Base per call.

输入参数input必填

yaml_to_json

Penniless YAML to JSON

Converts a YAML subset (block maps, sequences, nested indentation, scalars, comments) into JSON with no runtime dependency. Body {input} -> {ok, value, warnings}. Costs $0.001 USDC on Base per call.

输入参数input必填

cron_next_run

Penniless Cron Next Run

Computes the next UTC fire time for a 5-field cron expression (supports steps, ranges, lists, and month/weekday names). Body {expr, after?} -> {ok, next, epochMs}. Costs $0.001 USDC on Base per call.

输入参数expr必填after

text_diff

Penniless Text Diff

Produces a unified diff plus added/removed counts between two texts (LCS line diff, configurable context lines). Body {old, new, context?} -> {ok, identical, added, removed, hunks, unified}. Costs $0.001 USDC on Base per call.

输入参数new必填old必填context

text_extract

Penniless Text Extract

Extracts clean text, title, headings, links, URLs, and emails from HTML or plain text. Body {input, numbers?, codeBlocks?} -> {ok, source, title, headings, links, urls, emails, text}. Costs $0.001 USDC on Base per call.

输入参数input必填numberscodeBlocks

domain_whois

Penniless WHOIS Lookup

Structured WHOIS via RDAP for any domain: registrar, IANA id, statuses, expiry/registration dates, nameservers, DNSSEC. Body {domain} -> {ok, found, domain, registrar, status[], events{}, nameservers[], dnssec}. Costs $0.001 USDC on Base per call.

输入参数domain必填

dns_lookup

Penniless DNS Lookup

JSON DNS-over-HTTPS lookup for A, AAAA, CNAME, MX, TXT, NS, SOA, PTR, SRV, CAA. Body {domain, type?} -> {ok, domain, type, status, answers[]}. Costs $0.001 USDC on Base per call.

输入参数typedomain必填

github_repo_stats

Penniless GitHub Repo Stats

Popularity and metadata for any public GitHub repo: stars, forks, open issues, watchers, language, license, topics, last push. Body {repo} -> {ok, found, stars, forks, openIssues, language, license, pushedAt}. Costs $0.001 USDC on Base per call.

输入参数repo必填

email_validate

Penniless Email Validate

Email deliverability check: RFC-style syntax plus live MX probe of the domain. Body {email} -> {ok, valid, formatValid, domainHasMx, mx[]}. Costs $0.001 USDC on Base per call.

输入参数email必填

版本历史

1
  1. v3.1.0最新Sep 17, 2026

评分

已满足适用检查项的 90%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。