mcp-l402-gate-example
mcp-l402-gate-example
Servidor MCP minimalista que muestra @powforge/mcp-l402-gate en acción.
Una herramienta, bitcoin_data, obtiene el precio actual de BTC/USD además de las comisiones recomendadas de mempool desde mempool.space. Cada llamada está protegida por:
Una factura Lightning L402 (el llamante paga sats por llamada).
Una búsqueda de puntuación Depth-of-Identity (DoI) contra el oráculo público de PowForge. Por debajo del umbral, pagar no te permite pasar.
L402 por sí solo demuestra que un llamante pagó. L402 + DoI demuestra que pagaron y que poseen una reputación por clave pública que sobrevive a través de sesiones y cuyo falseamiento requiere un trabajo irreversible. Esa segunda parte es la que la mayoría de los kits de facturación MCP omiten.
Inicio rápido
git clone https://github.com/zekebuilds-lab/mcp-l402-gate-example
cd mcp-l402-gate-example
cp .env.example .env # fill in GATE_HMAC_SECRET and LNBits creds
npm install
npm startEl servidor registra la URL de la herramienta y el oráculo al arrancar. El puerto predeterminado es 3100.
Related MCP server: l402-kit-mcp
Pruébalo con curl
La primera llamada no tiene autenticación, por lo que la puerta devuelve un 402 con una factura:
curl -i -X POST http://localhost:3100/tools/bitcoin_data \
-H 'Content-Type: application/json' \
-H 'X-Caller-Pubkey: 02a1b2c3...your-hex-pubkey' \
-d '{}'Respuesta esperada:
HTTP/1.1 402 Payment Required
WWW-Authenticate: L402 macaroon="...", invoice="lnbc1..."
Content-Type: application/json
{
"error": "payment required",
"macaroon": "...",
"invoice": "lnbc1...",
"payment_hash": "..."
}Paga el campo invoice (cualquier billetera LN), captura la preimagen y luego vuelve a intentarlo:
curl -i -X POST http://localhost:3100/tools/bitcoin_data \
-H 'Content-Type: application/json' \
-H 'X-Caller-Pubkey: 02a1b2c3...your-hex-pubkey' \
-H 'Authorization: L402 <macaroon>:<preimage>' \
-d '{}'Obtendrás el precio de BTC, las estimaciones de comisiones de mempool y la puntuación DoI del llamante.
El manifiesto también se expone para clientes MCP que inspeccionan catálogos de herramientas:
curl http://localhost:3100/manifest.jsonConfiguración
Variable | Descripción | Requerido | Predeterminado |
| Clave HMAC para firmar macaroons L402. Generar con | sí | - |
| URL base de tu instancia de LNBits. | sí | - |
| Clave de factura/lectura de LNBits. Nunca uses la clave de administrador. | sí | - |
| URL base del oráculo DoI. | no |
|
| Puerto HTTP. | no |
|
| Sats cobrados por llamada. | no |
|
| Puntuación compuesta DoI mínima para pasar la puerta. | no |
|
Umbrales de puntuación DoI
Estos son los mismos grupos que el oráculo devuelve como rank. Elige el que coincida con lo costosa que es una llamada incorrecta:
| Rango | Adecuado para |
0 | desconocido | Muro de pago puro. La identidad no importa. |
10 | emergente | El abuso en la primera llamada duele. Predeterminado sensato para la mayoría de herramientas MCP públicas. |
40 | activo | La herramienta consume GPU real o tiene efectos secundarios costosos. |
100 | establecido | Puntos finales sensibles al cumplimiento o estilo SaaS de inquilino único. |
200 | confiable | Herramientas de administración de alta confianza. |
Cómo funciona la puerta
Sin la puerta, un flujo de 402 + macaroon demuestra que el llamante pagó 10 sats. Una billetera de atacante nueva paga los mismos 10 sats. Eso es un formato de cable correcto pero un control de abuso débil.
@powforge/mcp-l402-gate mantiene la factura L402 y añade una segunda verificación: cuando el macaroon se verifica, la puerta llama al oráculo DoI para la clave pública del llamante, obtiene una puntuación firmada con Schnorr y la compara con MIN_SCORE. La puntuación se compone de trabajo irreversible observable en cuatro dimensiones (social, acceso, aval, económico), por lo que un sybil nuevo no puede generarla en un minuto.
La tabla completa de modos de fallo está en el README de @powforge/mcp-l402-gate.
Archivos
server.js- el servidor MCP, ~110 líneas..env.example- copiar a.envy rellenar.package.json- depende deexpressy@powforge/mcp-l402-gate.
Enlaces
Documentación y precios: powforge.dev/mcp
Oráculo DoI público: identity.powforge.dev
Licencia
MIT.
This server cannot be deployed
Maintenance
Related MCP Connectors
Pay-per-action access to APIs and MCP tools over Lightning L402 and Base USDC x402.
Monetize any MCP server: x402 paywall, pay-per-call billing in USDC on Base, agent marketplace.
Programmatic web-scraping MCP server powered by x402 micro-transactions on Base.
MCP server for Boson Protocol — on-chain agentic commerce for physical & digital goods.
Related MCP Servers
- AlicenseAqualityCmaintenanceMCP server that enables AI agents to make autonomous Bitcoin Lightning Network payments using the L402 protocol. Agents can pay for API access, purchase resources, and complete transactions without human intervention — invoice comes in, sats go out, done.179MIT
- AlicenseAqualityBmaintenanceMCP server for l402-kit — enables AI agents (Claude, Cursor, etc.) to autonomously pay Bitcoin Lightning-protected APIs. Tools: l402_fetch, l402_balance, l402_spending_report. Run with: npx l402-kit-mcp486 npm4MIT
- AlicenseAqualityCmaintenanceMCP server that gates API calls to AI agents using proof-of-work (free) or Lightning payment (3 sats), providing challenge, verify, and status tools for per-call authentication without accounts.358 npm1MIT
- AlicenseBqualityDmaintenanceMCP server offering 26 Lightning-paid tools for Bitcoin mempool intelligence and sovereign on-prem AI inference, with no third-party APIs and pay-per-call in sats.2611 npm1MIT