World Monitor
ข่าวกรองโลกแบบเรียลไทม์: ความขัดแย้ง ตลาด พลังงาน การค้า การขนส่ง และไซเบอร์
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
L402 Lightning paywall + DoI score gate for MCP tools: challenge, verify, score.
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ผลตรวจผ่าน 1/2 · ทำงานบนเครื่องคุณ
ขั้นแรก: คุณใช้ AI ตัวไหน
เลือกแอปที่คุณใช้ ขั้นตอนจะขึ้นด้านล่าง
ต่อกับ Claude ได้ แต่ต้องเตรียมก่อน
ต้องมีคีย์ของ MCP L402 Gate (สมัครที่เว็บของผู้ทำ อาจมีค่าใช้จ่าย) · ต้องลง Node.js ในเครื่องก่อน (ทำครั้งเดียว) · ใช้ได้เฉพาะแอป Claude บนคอม (Windows หรือ Mac) ไม่ใช่บนเว็บหรือมือถือ
เปิดเว็บของผู้ทำ สมัครบัญชีแล้วสร้างคีย์ (API key) เก็บไว้ ใช้ในขั้นถัดไป อาจมีค่าใช้จ่าย
SettingsDeveloperEdit Config
{
"mcpServers": {
"l402-gate": {
"command": "npx",
"args": [
"-y",
"@powforge/mcp-l402-gate"
],
"env": {
"POW_GATE_URL": "ใส่ค่าของคุณ",
"ORACLE_URL": "ใส่ค่าของคุณ"
}
}
}
}วางคีย์ในช่องของแอปเท่านั้น อย่าวางในแชตหรือส่งให้ใคร
ใช้ MCP L402 Gate บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า Claude บอกว่ากำลังใช้ MCP L402 Gate หรือมีชื่อเครื่องมือของ MCP L402 Gate ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Anthropic เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
ChatGPT ยังต่อ MCP L402 Gate ไม่ได้
MCP L402 Gate ต้องติดตั้งในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะตัวที่ทำงานบนเว็บ
ก · ใช้แอปที่ต่อ MCP L402 Gate ได้
ข · ตัวอื่นในหมวด อื่น ๆ ที่ต่อกับ ChatGPT ได้
เลือกจากตัวที่ใช้มากในหมวดเดียวกัน เฉพาะตัวที่ต่อด้วยที่อยู่ได้โดยไม่ต้องใส่คีย์
ต่อกับ Claude Code ได้ แต่ต้องเตรียมก่อน
ต้องมีคีย์ของ MCP L402 Gate (สมัครที่เว็บของผู้ทำ อาจมีค่าใช้จ่าย) · ต้องลง Node.js ในเครื่องก่อน (ทำครั้งเดียว)
เปิดเว็บของผู้ทำ สมัครบัญชีแล้วสร้างคีย์ (API key) เก็บไว้ ใช้ในขั้นถัดไป อาจมีค่าใช้จ่าย
Mac: กด Command+Space พิมพ์ Terminal · Windows: เปิด PowerShell
claude mcp add l402-gate --env POW_GATE_URL='ใส่ค่าของคุณ' --env ORACLE_URL='ใส่ค่าของคุณ' -- npx -y @powforge/mcp-l402-gateแก้ “ใส่ค่าของคุณ” เป็นคีย์ของคุณก่อนกด Enter
วางคีย์ในช่องของแอปเท่านั้น อย่าวางในแชตหรือส่งให้ใคร
ต้องเห็น MCP L402 Gate ในรายการและขึ้นว่าเชื่อมต่อแล้ว
ใช้ MCP L402 Gate บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า Claude Code บอกว่ากำลังใช้ MCP L402 Gate หรือมีชื่อเครื่องมือของ MCP L402 Gate ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Anthropic เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
ต่อกับ Cursor ได้ แต่ต้องเตรียมก่อน
ต้องมีคีย์ของ MCP L402 Gate (สมัครที่เว็บของผู้ทำ อาจมีค่าใช้จ่าย) · ต้องลง Node.js ในเครื่องก่อน (ทำครั้งเดียว)
เปิดเว็บของผู้ทำ สมัครบัญชีแล้วสร้างคีย์ (API key) เก็บไว้ ใช้ในขั้นถัดไป อาจมีค่าใช้จ่าย
ในค่าตั้งของ MCP L402 Gate ช่อง POW_GATE_URL, ORACLE_URL ยังว่าง ใส่คีย์ของคุณแล้วบันทึก
วางคีย์ในช่องของแอปเท่านั้น อย่าวางในแชตหรือส่งให้ใคร
ใช้ MCP L402 Gate บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า Cursor บอกว่ากำลังใช้ MCP L402 Gate หรือมีชื่อเครื่องมือของ MCP L402 Gate ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Cursor เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
ต่อกับ VS Code ได้ แต่ต้องเตรียมก่อน
ต้องมีคีย์ของ MCP L402 Gate (สมัครที่เว็บของผู้ทำ อาจมีค่าใช้จ่าย) · ต้องลง Node.js ในเครื่องก่อน (ทำครั้งเดียว)
เปิดเว็บของผู้ทำ สมัครบัญชีแล้วสร้างคีย์ (API key) เก็บไว้ ใช้ในขั้นถัดไป อาจมีค่าใช้จ่าย
ในค่าตั้งของ MCP L402 Gate ช่อง POW_GATE_URL, ORACLE_URL ยังว่าง ใส่คีย์ของคุณแล้วบันทึก
วางคีย์ในช่องของแอปเท่านั้น อย่าวางในแชตหรือส่งให้ใคร
ใช้ MCP L402 Gate บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า VS Code บอกว่ากำลังใช้ MCP L402 Gate หรือมีชื่อเครื่องมือของ MCP L402 Gate ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ VS Code เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
โปรแกรมอื่นที่ใช้ MCP ได้ เช่น Windsurf, Zed หรือ Gemini CLI มีวิธีเพิ่มต่างกัน ดูวิธีของแต่ละตัวในหน้ารวมโปรแกรม
ค่าตั้งแบบไฟล์ JSON อยู่ในหัวข้อ “สำหรับคนเขียนโค้ด” ด้านล่าง
Claude Code
claude mcp add l402-gate --env POW_GATE_URL='ใส่ค่าของคุณ' --env ORACLE_URL='ใส่ค่าของคุณ' -- npx -y @powforge/mcp-l402-gateClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"l402-gate": {
"command": "npx",
"args": [
"-y",
"@powforge/mcp-l402-gate"
],
"env": {
"POW_GATE_URL": "ใส่ค่าของคุณ",
"ORACLE_URL": "ใส่ค่าของคุณ"
}
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"l402-gate": {
"command": "npx",
"args": [
"-y",
"@powforge/mcp-l402-gate"
],
"env": {
"POW_GATE_URL": "ใส่ค่าของคุณ",
"ORACLE_URL": "ใส่ค่าของคุณ"
}
}
}
}VS Code (mcp.json)
{
"servers": {
"l402-gate": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@powforge/mcp-l402-gate"
],
"env": {
"POW_GATE_URL": "ใส่ค่าของคุณ",
"ORACLE_URL": "ใส่ค่าของคุณ"
}
}
}
}POW_GATE_URL envORACLE_URL envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
npm: @powforge/mcp-l402-gateดูจากแบบการต่อของ server ตัวนี้ และเอกสารของผู้ทำโปรแกรมแต่ละตัว ตรวจเมื่อ 10 พ.ย. 2569
ติดตั้งบนเครื่องได้ใน
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 12 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub zekebuilds-lab ซึ่งเป็นเจ้าของ repo
แก้โค้ดล่าสุด 6 เดือนที่ผ่านมา นานกว่า 6 เดือน
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
ถาม แชร์เคล็ดลับ หรือแจ้งว่าใช้ไม่ได้ เรียงตามที่คนกดว่ามีประโยชน์
ยังไม่มีใครโพสต์ ถามหรือแชร์เป็นคนแรกได้เลย
ข้อความในส่วนนี้เขียนโดยผู้ใช้ ไม่ใช่ทีม PopNx
ยังไม่มีรีวิว
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 2 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด 6 เดือนที่ผ่านมา และส่งรุ่นล่าสุด (0.1.4) เข้า registry 6 เดือนที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี World Monitor, Claude Flow, Tldraw
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
ข่าวกรองโลกแบบเรียลไทม์: ความขัดแย้ง ตลาด พลังงาน การค้า การขนส่ง และไซเบอร์
AI orchestration with hive-mind swarms, neural networks, and 87 MCP tools for enterprise dev.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Identity-scored Lightning paywall for MCP server operators.
L402 alone proves the caller paid 10 sats. It does not prove the caller has a reputation, has been around for more than 10 minutes, or that pricing one tool call shifts their economics at all. A fresh wallet pays the same 10 sats as a real user.
This package adds a Depth-of-Identity check on top of the L402 invoice. Drop it in front of an MCP tool and a caller has to (a) settle a Lightning invoice and (b) carry a DoI score above your threshold before the tool body runs. Cheap sybils still pay the toll, but the toll plus the per-pubkey reputation requirement is harder to grind than either piece on its own.
A clone-and-run example server lives at github.com/zekebuilds-lab/mcp-l402-gate-example. It exposes one tool, bitcoin_data, that fetches the BTC/USD price plus mempool fees from mempool.space, gated by L402 + DoI. Clone it, fill in your LNBits creds, npm start, and you have a Lightning-gated MCP server running locally.
Sats4AI's own documentation states the limitation plainly:
"autonomous agents cannot build reputation or receive preferential treatment across sessions."
@powforge/mcp-l402-gate closes that gap by composing L402 payment gating with the DoI oracle's composite identity score. A paying caller is also a known caller, with a per-pubkey reputation that survives across sessions and that costs irreversible work to fake.
L402 is great wire format, weak abuse control. Recent MCP billing tools (sats4ai-mcp, invinoveritas, l402-kit, 402-mcp, coinopai-mcp) all ship the same 402 -> macaroon -> paid -> tool body flow, and an attacker can replay the flow from a fresh node every minute. coinopai-mcp's own author put it: "x402 is payment transport only. It doesn't handle agent identity, rate negotiation, multi-agent splits, or reputation."
PowForge has been shipping the missing piece. The DoI oracle at https://identity.powforge.dev returns a Schnorr-signed score for any Nostr pubkey, computed from observable irreversible work across four dimensions (social, access, vouch, economic). This package wires that score into the L402 path so a paying caller is also a costly-to-fake caller.
https://identity.powforge.dev)const express = require('express');
const { mcpL402Middleware } = require('@powforge/mcp-l402-gate');
const app = express(); app.use('/tools/expensive', mcpL402Middleware({ secret: process.env.GATE_HMAC_SECRET, lnbitsUrl: process.env.LNBITS_URL, lnbitsApiKey: process.env.LNBITS_INVOICE_KEY, satsAmount: 10, minScore: 10, // composite >= 10 means "emerging" tier on the oracle }));
app.post('/tools/expensive', (req, res) => { // Reached only when L402 paid AND req.doiScore >= 10 res.json({ ok: true, doiScore: req.doiScore, l402: req.l402Token }); });
The caller passes their pubkey via the X-Caller-Pubkey header or ?pubkey= query string. v0.1.0 treats this as caller-asserted; v0.2.0 will bind it cryptographically via NIP-98.
const { mcpL402Tool } = require('@powforge/mcp-l402-gate');
const expensiveTool = mcpL402Tool({ secret: process.env.GATE_HMAC_SECRET, lnbitsUrl: process.env.LNBITS_URL, lnbitsApiKey: process.env.LNBITS_INVOICE_KEY, satsAmount: 10, minScore: 10, }, { name: 'image_render', description: 'Render an image. 10 sats. Requires DoI score >= 10.', inputSchema: { type: 'object', properties: { prompt: { type: 'string' }, pubkey: { type: 'string' }, auth: { type: 'object', properties: { macaroon: { type: 'string' }, preimage: { type: 'string' } } }, }, required: ['prompt', 'pubkey'], }, }, async (args, ctx) => { // Runs only when paid AND ctx.doiScore >= 10 return { image_url: https://example/r/${args.prompt}, billed_to: ctx.doiScore }; });
// Register expensiveTool with your MCP server. On first call without args.auth, // the tool returns { paid: false, challenge: { macaroon, invoice, ... } }. // The MCP client pays the invoice, then re-calls with args.auth set.
| Field | Default | Notes |
|---|---|---|
secret | required | HMAC key for macaroon signing. Rotate periodically. |
lnbitsUrl | required | LNBits base URL. |
lnbitsApiKey | required | LNBits invoice/read key. NEVER pass admin key. |
satsAmount | 10 | Invoice amount per call. |
minScore | 10 | Reject paid callers below this composite score. |
failClosed | true | If oracle errors, reject the call. Set false to fall through with req.doiScoreError. |
oracleUrl | https://identity.powforge.dev | Override for self-hosted oracles. |
scope | mcp-l402-gate:call | L402 macaroon scope. |
ttlSeconds | 600 | Macaroon validity. |
scoreField | composite | Which envelope field to compare to minScore. |
callerPubkeyHeader | x-caller-pubkey | HTTP header carrying the caller's asserted pubkey. |
oracleAuth | optional | {macaroon, preimage} if your oracle is itself L402-paywalled. |
createInvoiceFn | optional | Test seam. Async (memo) => {payment_hash, bolt11}. |
checkPaidFn | optional | Test seam. Async (payment_hash) => boolean. |
lookupScoreFn | optional | Test seam. Async (pubkey) => {composite, rank, depth}. |
Same buckets the oracle reports as rank:
| Threshold | Rank | Use it when |
|---|---|---|
| 0 | unknown | You only want pay-to-call. Skip this package and use L402 directly. |
| 10 | emerging | First-call abuse hurts. Default for most public MCP tools. |
| 40 | active | The tool burns real GPU or has expensive side effects. |
| 100 | established | Compliance-sensitive or single-tenant SaaS-style endpoints. |
| 200 | trusted | High-trust admin tooling. |
| Status | Body | Meaning |
|---|---|---|
| 402 | {error: "payment required", macaroon, invoice, payment_hash} | First call. Pay the invoice, retry with Authorization: L402 : . |
| 401 | {error: "invalid macaroon", reason} | Macaroon malformed, expired, wrong scope, or wrong signature. |
| 401 | {error: "preimage does not match payment hash"} | Preimage failed sha256 check against the macaroon's payment hash. |
| 409 | {error: "macaroon already redeemed"} | Replay guard fired. Mint a fresh macaroon. |
| 400 | {error: "caller_pubkey_required"} | No X-Caller-Pubkey header or ?pubkey= query. |
| 403 | {error: "score_too_low", score, min, rank} | Caller paid but DoI score is below threshold. |
| 503 | {error: "oracle_unavailable", mode: "fail_closed"} | Oracle error and failClosed is on (the default). |
| 502 | {error: "invoice provider unavailable"} | LNBits unreachable on first-call mint. |
The L402 macaroon mint and verify code, the LNBits client, and the oracle client are all already shipping inside other PowForge packages. The point of @powforge/mcp-l402-gate is to make the composition trivial: one factory, one config object, one middleware OR one tool wrapper. Operators do not have to assemble three packages by hand to get a defended endpoint.
npm test
16 unit tests, no real network. The macaroon HMAC is real; LNBits and oracle are stubbed.
MIT.