ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที รีวิวและบัญชีผู้ใช้จะมาในขั้นถัดไป
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · อธิบายเป็นภาษาคน

Paywall MCP

โดย llmops-proรุ่น 0.1.2i★ –iรันบนเครื่อง
ชื่อใน registryio.github.llmops-pro/paywall-mcp

ติดตั้ง

ภาพรวม

คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)

Lightning-paywall sidecar: wraps any stdio MCP server, requires paid invoices before tool calls.

สามเสาของ PopNx MCP

สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน

ใช้ทำอะไรได้

ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry

  • การเชื่อมต่อ: รันบนเครื่อง
  • ช่องทาง (transport): stdio
  • หมวด: อื่น ๆ
  • ต้องใส่ค่าเหล่านี้: PAYWALL_UPSTREAM_COMMAND, NWC_CONNECTION_STRING

ติดตั้ง

เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง

ก่อนติดตั้ง

  • ผลตรวจเบื้องต้น: ผ่าน 1 จาก 1 ข้อ
  • รันในเครื่องคุณด้วยสิทธิ์ของผู้ใช้คุณ (ไฟล์ อินเทอร์เน็ต แอปต่าง ๆ)
  • ค่าที่คุณต้องใส่เอง: PAYWALL_UPSTREAM_COMMAND, PAYWALL_UPSTREAM_ARGS, NWC_CONNECTION_STRING, PAYWALL_DEFAULT_PRICE_SATS, PAYWALL_PRICE_MAP

ค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต

ต้องเตรียมก่อน

  • npmติดตั้ง Node.js (มีคำสั่ง npx) ในเครื่อง

คุณใช้แอปไหน

เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”

เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json

{
  "mcpServers": {
    "paywall": {
      "command": "npx",
      "args": [
        "-y",
        "paywall-mcp"
      ],
      "env": {
        "PAYWALL_UPSTREAM_COMMAND": "ใส่ค่าของคุณ",
        "PAYWALL_UPSTREAM_ARGS": "ใส่ค่าของคุณ",
        "NWC_CONNECTION_STRING": "ใส่ค่าของคุณ",
        "PAYWALL_DEFAULT_PRICE_SATS": "ใส่ค่าของคุณ",
        "PAYWALL_PRICE_MAP": "ใส่ค่าของคุณ"
      }
    }
  }
}

พิมพ์คำสั่งนี้ใน Terminal

claude mcp add paywall --env PAYWALL_UPSTREAM_COMMAND='ใส่ค่าของคุณ' --env PAYWALL_UPSTREAM_ARGS='ใส่ค่าของคุณ' --env NWC_CONNECTION_STRING='ใส่ค่าของคุณ' --env PAYWALL_DEFAULT_PRICE_SATS='ใส่ค่าของคุณ' --env PAYWALL_PRICE_MAP='ใส่ค่าของคุณ' -- npx -y paywall-mcp

เติมค่าที่เว้นว่างไว้ก่อนรัน

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

{
  "mcpServers": {
    "paywall": {
      "command": "npx",
      "args": [
        "-y",
        "paywall-mcp"
      ],
      "env": {
        "PAYWALL_UPSTREAM_COMMAND": "ใส่ค่าของคุณ",
        "PAYWALL_UPSTREAM_ARGS": "ใส่ค่าของคุณ",
        "NWC_CONNECTION_STRING": "ใส่ค่าของคุณ",
        "PAYWALL_DEFAULT_PRICE_SATS": "ใส่ค่าของคุณ",
        "PAYWALL_PRICE_MAP": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "servers": {
    "paywall": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "paywall-mcp"
      ],
      "env": {
        "PAYWALL_UPSTREAM_COMMAND": "ใส่ค่าของคุณ",
        "PAYWALL_UPSTREAM_ARGS": "ใส่ค่าของคุณ",
        "NWC_CONNECTION_STRING": "ใส่ค่าของคุณ",
        "PAYWALL_DEFAULT_PRICE_SATS": "ใส่ค่าของคุณ",
        "PAYWALL_PRICE_MAP": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น

ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี

ค่าที่ต้องใส่เอง

  • PAYWALL_UPSTREAM_COMMAND จำเป็น env
    Command to spawn the upstream MCP server (e.g. npx)
  • PAYWALL_UPSTREAM_ARGS env
    JSON array of args for the upstream command
  • NWC_CONNECTION_STRING ความลับ จำเป็น env
    NWC connection string of the receiving wallet (receive-only recommended)
  • PAYWALL_DEFAULT_PRICE_SATS env
    Default price in sats for tools not in PAYWALL_PRICE_MAP
  • PAYWALL_PRICE_MAP env
    JSON map of tool name to price in sats

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

ทำอะไรได้บ้าง

รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569

  • ✓ ผ่าน

    ตัวตนผู้ทำตรงกับ repo

    ชื่อใน registry ยืนยันด้วยบัญชี GitHub llmops-pro ซึ่งเป็นเจ้าของ repo

  • … ยังไม่ตรวจ

    ยังมีคนดูแล

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • … ยังไม่ตรวจ

    มีสัญญาอนุญาต (license)

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • – ไม่เกี่ยว

    endpoint ตอบ

    ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

    ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน

  • … ยังไม่ตรวจ

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต

เทียบกับตัวอื่นในหมวด อื่น ๆi

  • ดาวมากกว่า 0% ของอีก 32531 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 12% ของอีก 32531 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 32531 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

Paywall MCP ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

ต้องใส่ค่าเหล่านี้: PAYWALL_UPSTREAM_COMMAND, NWC_CONNECTION_STRING

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.1.2) เข้า registry 5 เดือนที่ผ่านมา

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, Reelsaw

ตัวที่ใช้แทนได้

server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว

อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

Spec Driven Development

โดย formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

รันบนเครื่อง★ 440MITอัปเดต 14 เดือนที่ผ่านมา
ติดตั้ง

Remote Desktop Commander

โดย desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

รันบนคลาวด์★ 211อัปเดต เมื่อวาน
ติดตั้ง

Reelsaw

โดย osbytes

Drive a self-hosted Reelsaw: turn long videos into vertical clips, edit, re-render and export them.

รันบนเครื่องอัปเดต วันนี้
ติดตั้ง

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ

paywall-mcp

Paywall ANY stdio MCP server with Lightning, without modifying it. paywall-mcp is a generic sidecar: configure it with an upstream MCP server command and a per-tool price map, and it transparently:

  • Forwards tools/list from the upstream to the LLM client, with prices appended to each tool's description.
  • Intercepts tools/call: free tools pass through; priced tools require a paid Lightning invoice (via Nostr Wallet Connect / NIP-47) before the call is forwarded.

No code changes to the upstream server. Works with Anthropic's reference MCP servers, your own, or any third-party MCP server that speaks stdio.

v0.1 — proxy + payment gate complete. Spawns a stdio upstream as a child process; per-tool pricing via env; in-memory invoice cache + replay protection; audit log; read-only mode. Persistent cache + HTTP/SSE upstream transport deferred to v0.2.


Why this exists

Modern paid-API patterns (Lightning paywall, L402, micropayments) exist for HTTP but the MCP ecosystem has no standard for paid tool calls. Building it into each individual server is repetitive and error-prone. paywall-mcp is the missing sidecar: write your tools as a normal MCP server, then wrap it with paywall-mcp to charge sats per call.

How the dual-call pattern works

For any priced tool:

  1. First call — LLM calls priced_tool({...args}) *without* payment_hash. paywall-mcp issues a bolt11 invoice through your NWC wallet and returns:
   {

"error": "payment_required", "invoice": "lnbc...", "payment_hash": "abc123...", "amount_sats": 21, "expires_in_seconds": 600, "next_step": "Pay this bolt11 ..." }

2. **Payment** — the LLM (or its operator) pays the invoice. Easiest path: use [`nwc-mcp`](https://npmjs.com/package/nwc-mcp) — the same LLM can call `nwc_pay_invoice` to settle.
  1. Second call — LLM calls priced_tool({...args, payment_hash: "abc123..."}). paywall-mcp verifies settlement via NWC lookup_invoice, strips payment_hash from the args, forwards the original call to the upstream, returns the upstream's result.

Replay protection: the same payment_hash cannot be redeemed twice. Buyers pay a fresh invoice for each call.


What you can build with it

  • Charge sats for premium tools in an MCP server you already have, by adding one wrapper process.
  • Per-tool pricing tiers — free_lookup: 0, premium_analysis: 100, rare_alpha_signal: 5000. Buyers see prices in tool descriptions.
  • Bundle-and-resell third-party MCP servers — wrap someone else's open-source MCP server with your paywall and offer it as a managed paid service.
  • A/B test pricing — adjust PAYWALL_PRICE_MAP in env, restart, you're at the new price.
  • Time-limited promotional pricing — start at 21 sats, raise to 100 sats once usage proves the value.

Requirements

  • Node 20+
  • An existing stdio MCP server to wrap (paywall-mcp doesn't host tools itself; it gates an upstream's tools).
  • A NIP-47 NWC connection string for the seller's receive wallet. make_invoice + lookup_invoice are the only permissions paywall-mcp needs. A receive-only NWC connection is perfectly fine and recommended — paywall-mcp never spends.

Install

# From npm

npx -y paywall-mcp

From source

git clone cd paywall-mcp corepack enable pnpm pnpm install pnpm build

Configure

cp .env.example .env

edit .env: set PAYWALL_UPSTREAM_COMMAND/ARGS, NWC_CONNECTION_STRING, prices

The server auto-loads .env from its own directory (next to dist/) — deliberately NOT from cwd, to avoid env collisions when running multiple MCP servers in the same Claude Code session.

Required
VarPurpose
PAYWALL_UPSTREAM_COMMANDExecutable to spawn as the upstream MCP server (e.g., node).
PAYWALL_UPSTREAM_ARGSJSON array of args passed to the upstream command (e.g., ["/path/to/upstream/dist/index.js"]).
Required when any tool has a non-zero price
VarPurpose
NWC_CONNECTION_STRINGNIP-47 NWC URI for the seller's RECEIVE wallet. make_invoice + lookup_invoice permissions sufficient. paywall-mcp never spends.
Pricing
VarDefaultPurpose
PAYWALL_DEFAULT_PRICE_SATS0Default price for any tool not in the price map. 0 = free passthrough.
PAYWALL_PRICE_MAP{}JSON object mapping tool names to sat prices. Per-tool 0 = free; missing = use default. Example: {"premium_compliment":21,"rare_alpha_signal":5000}.
Optional
VarDefaultPurpose
PAYWALL_UPSTREAM_CWD(parent cwd)Working directory for the upstream child process.
PAYWALL_UPSTREAM_ENV(inherits)JSON object of env-var overrides for the upstream.
PAYWALL_READ_ONLYfalseDisables all paid tool calls (tools/list still works). Useful for maintenance.
PAYWALL_INVOICE_TTL_SECONDS600Invoice TTL. Past this, payment_hash is forgotten from cache and the buyer must re-issue.
PAYWALL_PRICE_LABEL_TEMPLATE"(💰 {price} sats)"Label appended to each priced tool's description in tools/list. {price} is substituted with the sat amount.
PAYWALL_LOG_PATH./paywall-mcp.logServer log.
PAYWALL_AUDIT_PATH./paywall-mcp-audit.logNDJSON audit log (one line per call).

End-to-end example: paywall the bundled paywall-mcp-test server

The companion paywall-mcp-test package exposes a single tool — premium_compliment. It already implements its own paywall pattern internally, but it's also a convenient stand-in for "any upstream MCP server" to demonstrate paywall-mcp itself.

.env:

PAYWALL_UPSTREAM_COMMAND=node

PAYWALL_UPSTREAM_ARGS=["/abs/path/to/paywall-mcp-test/dist/index.js"]

NWC_CONNECTION_STRING=nostr+walletconnect://...

PAYWALL_DEFAULT_PRICE_SATS=21 PAYWALL_PRICE_MAP={"premium_compliment":21}

Wire paywall-mcp (not the upstream directly) into your MCP client:

{

"mcpServers": { "paywall": { "command": "npx", "args": ["-y", "paywall-mcp"], "env": {} } } }

Now from your agent:

1. tools/list  → premium_compliment ... (💰 21 sats) This tool requires ...
  1. premium_compliment({}) → returns invoice + payment_hash
  2. nwc_pay_invoice(invoice) → buyer pays
  3. premium_compliment({ payment_hash: "..." }) → upstream's result returned

Safety model

tools/list      → upstream.listTools() → augment descriptions with prices → return

tools/call: if price == 0 → upstream.callTool(args) (passthrough) elif PAYWALL_READ_ONLY → refuse with paywall_read_only (block) elif no payment_hash → gate.issue() → return bolt11 + hash (issue) elif bad hash format → refuse with invalid_payment_hash (block) else (have hash): gate.verify() ──┬─ unknown_payment_hash → block ├─ payment_hash_already_redeemed → block (replay) ├─ payment_hash_tool_mismatch → block ├─ payment_not_settled → block └─ ok → strip hash → upstream.callTool() (paid passthrough)

Audit log entries (NDJSON, one per request):

  • `outcome: "ok"` — invoice issued, free passthrough, or paid passthrough completed
  • `outcome: "blocked"` — read-only refusal, invalid hash, replay, mismatch, not-settled
  • `outcome: "error"` — upstream call failed, NWC lookup_invoice failed, etc.

Tail the audit log for ground truth — independent of whatever the LLM tells you.

tail -f paywall-mcp-audit.log | jq .

Wire into Claude Desktop / Claude Code / Cursor

{

"mcpServers": { "paywall": { "command": "npx", "args": ["-y", "paywall-mcp"], "env": {} } } }

Same .env-via-binary-dir pattern as the rest of the substrate — leave env empty in the client config; secrets stay in paywall-mcp/.env.


Testing

pnpm typecheck

pnpm test # 13 vitest cases (config resolution + payment-gate state machine) pnpm build # ~18 KB ESM bundle


Companion servers

  • nwc-mcp — Lightning wallet for the buyer. Lets the agent pay the invoices paywall-mcp issues. The matching half of the agent-pays-a-paid-tool loop.
  • nostr-ops-mcp — NOSTR identity, publishing, encrypted DMs.
  • marketplace-mcp — Run a NIP-15 / Shopstr storefront from an agent.
  • albyhub-admin-mcp — Alby Hub node-admin via HTTP API.

License

MIT — see LICENSE.

Contact / Issues

Built by LLMOps.Pro.

  • NOSTR: npub1hdg932jvwc3jdvkqywgqv0ue4nn60exrf92asy8mtazt3hjg7d2s2yw0nw — follow, DM, zap.
  • Lightning Address: sovereigncitizens@getalby.com — for support zaps and "this was useful" tips.
  • Bug reports / feature requests: open a GitHub issue (link forthcoming).
  • Security issues: please disclose privately via NOSTR DM before opening a public issue.
ถาม PopNx