Prototipo · Versión preliminar: todos los servidores del registro oficial, sincronizados cada 30 minutos. Las reseñas y las cuentas llegarán en una etapa posterior.
PopNx MCPServidores MCP para quienes usan IA · explicados con palabras sencillas

Paywall MCP

de llmops-proversión 0.1.2i★ –iSe ejecuta en tu computadora
Nombre en el registroio.github.llmops-pro/paywall-mcp

Instalar

Resumen

Descripción del creador (original en inglés)

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

Los tres pilares de PopNx MCP

Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.

Qué puedes hacer con él

Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.

  • Conexión: Se ejecuta en tu computadora
  • Transporte: stdio
  • Categoría: Otros
  • Debes completar: PAYWALL_UPSTREAM_COMMAND, NWC_CONNECTION_STRING

Instalación

Elige la app de IA que usas y copia la configuración.

Antes de instalar

  • Revisiones básicas: 1 de 1 superadas
  • Se ejecuta en tu computadora con los permisos de tu usuario (archivos, red, apps).
  • Debes completar tú: PAYWALL_UPSTREAM_COMMAND, PAYWALL_UPSTREAM_ARGS, NWC_CONNECTION_STRING, PAYWALL_DEFAULT_PRICE_SATS, PAYWALL_PRICE_MAP

Los valores marcados como secretos son llaves de tu cuenta. Nunca los compartas ni los pegues en un chat.

Necesitas

  • npmNode.js instalado (para el comando npx)

¿Qué app usas?

Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.

Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json

{
  "mcpServers": {
    "paywall": {
      "command": "npx",
      "args": [
        "-y",
        "paywall-mcp"
      ],
      "env": {
        "PAYWALL_UPSTREAM_COMMAND": "your-value",
        "PAYWALL_UPSTREAM_ARGS": "your-value",
        "NWC_CONNECTION_STRING": "your-value",
        "PAYWALL_DEFAULT_PRICE_SATS": "your-value",
        "PAYWALL_PRICE_MAP": "your-value"
      }
    }
  }
}

Ejecuta esto en tu terminal

claude mcp add paywall --env PAYWALL_UPSTREAM_COMMAND=your-value --env PAYWALL_UPSTREAM_ARGS=your-value --env NWC_CONNECTION_STRING=your-value --env PAYWALL_DEFAULT_PRICE_SATS=your-value --env PAYWALL_PRICE_MAP=your-value -- npx -y paywall-mcp

Completa los valores vacíos antes de ejecutarlo.

Abrir en Cursor

O copia la configuración tú

Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json

{
  "mcpServers": {
    "paywall": {
      "command": "npx",
      "args": [
        "-y",
        "paywall-mcp"
      ],
      "env": {
        "PAYWALL_UPSTREAM_COMMAND": "your-value",
        "PAYWALL_UPSTREAM_ARGS": "your-value",
        "NWC_CONNECTION_STRING": "your-value",
        "PAYWALL_DEFAULT_PRICE_SATS": "your-value",
        "PAYWALL_PRICE_MAP": "your-value"
      }
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

Abrir en VS Code

O copia la configuración tú

Pégalo en .vscode/mcp.json de tu proyecto

{
  "servers": {
    "paywall": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "paywall-mcp"
      ],
      "env": {
        "PAYWALL_UPSTREAM_COMMAND": "your-value",
        "PAYWALL_UPSTREAM_ARGS": "your-value",
        "NWC_CONNECTION_STRING": "your-value",
        "PAYWALL_DEFAULT_PRICE_SATS": "your-value",
        "PAYWALL_PRICE_MAP": "your-value"
      }
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.

Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.

Valores que debes completar

  • PAYWALL_UPSTREAM_COMMAND obligatorio 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 secreto obligatorio 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

Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.

Qué puede hacer

Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.

Revisiones básicasi

Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 7 nov 2026

  • ✓ Superada

    El creador coincide con el repo

    El nombre en el registro se verificó con la cuenta de GitHub llmops-pro, dueña del repo

  • … Aún sin revisar

    Sigue en mantenimiento

    Todavía no hemos leído este repo en GitHub

  • … Aún sin revisar

    Tiene licencia

    Todavía no hemos leído este repo en GitHub

  • – No aplica

    El endpoint responde

    Este se ejecuta en tu computadora; no hay endpoint en internet

  • – No aplica

    Inicio de sesión con OAuth

    Se ejecuta en tu computadora y usa ajustes locales en su lugar

  • … Aún sin revisar

    Sin instrucciones ocultas en las descripciones de herramientas

    Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet

Comparado con otros en Otrosi

  • Más estrellas que el 0% de los otros 32572 servidores de esta categoría
  • Publicado en el registro más recientemente que el 12% de los otros 32572 servidores de esta categoría
  • Revisiones básicas iguales o mejores que el 100% de los otros 32572 servidores de esta categoría

Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.

Preguntas frecuentes

¿Es seguro Paywall MCP?

Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.

¿Qué claves o códigos necesita?

Debes completar: PAYWALL_UPSTREAM_COMMAND, NWC_CONNECTION_STRING

¿Se ejecuta en mi computadora o en la nube?

Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).

¿Sigue en mantenimiento?

El repo de GitHub cambió por última vez –, y la última versión (0.1.2) llegó al registro hace 5 meses.

¿Qué apps pueden usarlo?

Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Node.js en tu computadora.

¿Qué puedo usar en su lugar?

En la misma categoría: Spec Driven Development, Remote Desktop Commander, AvaHR

Alternativas

Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.

Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi

Spec Driven Development

de formulahendry

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

Se ejecuta en tu computadora★ 440MITActualizado hace 14 meses
Instalar

Remote Desktop Commander

de desktop-commander

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

Se ejecuta en la nube★ 211Actualizado ayer
Instalar

AvaHR

de avahr.com

Read hiring data and create inactive assessment and questionnaire drafts for human review.

Se ejecuta en la nubeActualizado hoy
Instalar

README del creador

Abrir el README

Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.

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.
Pregunta a PopNx