Penniless Data Utilities
ภาพรวม
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Ten x402-paid tools for JSON, YAML, cron, diff, text, DNS, WHOIS, GitHub, crypto, and email.
สามเสาของ PopNx MCP
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
- เสียงผู้ใช้iยังไม่มีรีวิวรีวิวเปิดพร้อมระบบบัญชีในขั้นถัดไป
- ผลตรวจเบื้องต้นของเราiผ่าน 4 จาก 4 ข้อตรวจจากข้อมูลที่เปิดอยู่ ยังไม่ได้สแกนโค้ด
- การใช้งานiยังใหม่มาก★ 0
ใช้ทำอะไรได้
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
- การเชื่อมต่อ: รันบนคลาวด์
- ช่องทาง (transport): Streamable HTTP
- หมวด: เครื่องมือนักพัฒนา
ติดตั้ง
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ก่อนติดตั้ง
- ผลตรวจเบื้องต้น: ผ่าน 4 จาก 4 ข้อ
- รันบนเครื่องของผู้ทำ สิ่งที่คุณถามจะผ่านเครื่องของเขา
- ทำได้ 9 อย่าง (เครื่องมือ) repair_json, yaml_to_json, cron_next_run, text_diff …
- ทะเบียนไม่ได้ระบุ key ที่ต้องใส่
ต้องเตรียมก่อน
- รันบนคลาวด์ไม่ต้องลงโปรแกรมเพิ่ม ต่อผ่านอินเทอร์เน็ตได้เลย
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
ใช้ได้ทั้ง Claude บนเว็บ แอปคอมพิวเตอร์ และมือถือ:
- เปิด Settings → Connectors
- กด Add custom connector
- วางที่อยู่ด้านล่างแล้วกด Add
- ถ้าให้ล็อกอิน ให้ล็อกอินกับผู้ทำ
https://penniless-json-repair.sjaman.workers.dev/mcpพิมพ์คำสั่งนี้ใน Terminal
claude mcp add --transport http penniless-data-utilities https://penniless-json-repair.sjaman.workers.dev/mcpหรือคัดลอกค่าตั้งเอง
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"penniless-data-utilities": {
"url": "https://penniless-json-repair.sjaman.workers.dev/mcp"
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
หรือคัดลอกค่าตั้งเอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"penniless-data-utilities": {
"type": "http",
"url": "https://penniless-json-repair.sjaman.workers.dev/mcp"
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ChatGPT ต่อได้เฉพาะ server ที่อยู่บนอินเทอร์เน็ต:
- เปิด ChatGPT บนเว็บ → Settings → Connectors (Apps)
- กด Create หรือ Add (บางแพ็กเกจต้องเปิด Developer mode ใน Advanced ก่อน)
- วางที่อยู่ด้านล่าง ตั้งชื่อ แล้วบันทึก
- ถ้าให้ล็อกอิน ให้ล็อกอินกับผู้ทำ
https://penniless-json-repair.sjaman.workers.dev/mcpชื่อเมนูอาจต่างกันเล็กน้อยตามแพ็กเกจและรุ่นของแอป
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
ทำอะไรได้บ้าง
ชื่อและคำอธิบายเครื่องมือตามที่ server ตอบมาเมื่อ 9 พ.ย. 2569 ผู้ทำเป็นคนเขียน ไม่ใช่เรา แสดงเป็นข้อความล้วน
repair_jsonRepairs 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
yaml_to_jsonConverts 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.
cron_next_runComputes 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.
text_diffProduces 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.
text_extractExtracts 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.
domain_whoisStructured 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.
dns_lookupJSON 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.
github_repo_statsPopularity 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.
email_validateEmail 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.
ผลตรวจเบื้องต้นi
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 10 พ.ย. 2569
- ✓ ผ่าน
ตัวตนผู้ทำตรงกับ repo
ชื่อใน registry ยืนยันด้วยบัญชี GitHub danielarif26 ซึ่งเป็นเจ้าของ repo
- ✓ ผ่าน
ยังมีคนดูแล
มีการแก้โค้ดล่าสุด 2 เดือนที่ผ่านมา
- … ยังไม่ตรวจ
มีสัญญาอนุญาต (license)
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
- ✓ ผ่าน
endpoint ตอบ
ตอบกลับใน 866 ms (HTTP 200)
- – ไม่เกี่ยว
ล็อกอินแบบ OAuth
ไม่ต้องล็อกอิน
- ✓ ผ่าน
คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง
อ่านคำอธิบายเครื่องมือ 9 ตัวแล้ว ไม่พบคำสั่งแอบแฝงถึง AI
เทียบกับตัวอื่นในหมวด เครื่องมือนักพัฒนาi
- ดาวมากกว่า 0% ของอีก 5720 ตัวในหมวดนี้
- ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 40% ของอีก 5720 ตัวในหมวดนี้
- ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 5720 ตัวในหมวดนี้
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
คำถามที่พบบ่อย
Penniless Data Utilities ปลอดภัยไหม?
จากการตรวจเบื้องต้นของเรา ผ่าน 4 จาก 4 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใช้กุญแจหรือรหัสอะไรบ้าง?
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
ตัวนี้รันบนเครื่องหรือบนคลาวด์?
รันบนคลาวด์ของผู้ทำ ต่อผ่านอินเทอร์เน็ตได้เลย ไม่ต้องลงโปรแกรม แต่ข้อมูลที่ส่งให้จะผ่านเซิร์ฟเวอร์ของผู้ทำ
ยังมีคนดูแลอยู่ไหม?
repo บน GitHub มีการแก้โค้ดล่าสุด 2 เดือนที่ผ่านมา และส่งรุ่นล่าสุด (3.1.0) เข้า registry 2 เดือนที่ผ่านมา
ใช้กับโปรแกรมไหนได้บ้าง?
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT ที่เปิดโหมดนักพัฒนา
มีตัวไหนใช้แทนได้บ้าง?
ในหมวดเดียวกันมี REA, Netdata, Front-End Checklist
ตัวที่ใช้แทนได้
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
Netdata
Real-time infrastructure monitoring with metrics, logs, alerts, and ML-based anomaly detection.
Front-End Checklist
Review frontend code and live pages against 386 quality-gated web development rules.
README จากผู้ทำ
เปิดอ่าน README
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
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