mcp-l402-gate-example
mcp-l402-gate-example
Minimaler MCP-Server, der @powforge/mcp-l402-gate in Aktion zeigt.
Ein Tool, bitcoin_data, ruft den aktuellen BTC/USD-Preis sowie empfohlene Mempool-Gebühren von mempool.space ab. Jeder Aufruf ist wie folgt geschützt:
Eine L402 Lightning-Rechnung (der Aufrufer zahlt Sats pro Aufruf).
Eine Depth-of-Identity-Score-Abfrage gegen das öffentliche PowForge-Orakel. Unterhalb des Schwellenwerts gewährt die Zahlung keinen Zugriff.
L402 allein beweist, dass ein Aufrufer bezahlt hat. L402 + DoI beweist, dass er bezahlt hat und eine Reputationsbewertung pro Pubkey besitzt, die über Sitzungen hinweg Bestand hat und deren Fälschung irreversible Arbeit erfordert. Dieser zweite Teil ist der Aspekt, den die meisten MCP-Abrechnungs-Kits auslassen.
Schnellstart
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 startDer Server protokolliert beim Start die Tool-URL und das Orakel. Der Standard-Port ist 3100.
Related MCP server: l402-kit-mcp
Testen mit curl
Der erste Aufruf hat keine Authentifizierung, daher gibt das Gate einen 402-Fehler mit einer Rechnung zurück:
curl -i -X POST http://localhost:3100/tools/bitcoin_data \
-H 'Content-Type: application/json' \
-H 'X-Caller-Pubkey: 02a1b2c3...your-hex-pubkey' \
-d '{}'Erwartete Antwort:
HTTP/1.1 402 Payment Required
WWW-Authenticate: L402 macaroon="...", invoice="lnbc1..."
Content-Type: application/json
{
"error": "payment required",
"macaroon": "...",
"invoice": "lnbc1...",
"payment_hash": "..."
}Bezahlen Sie das Feld invoice (mit einer beliebigen LN-Wallet), erfassen Sie das Preimage und versuchen Sie es erneut:
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 '{}'Sie erhalten den BTC-Preis, die Schätzungen für die Mempool-Gebühren und den DoI-Score des Aufrufers zurück.
Das Manifest wird ebenfalls für MCP-Clients bereitgestellt, die Tool-Kataloge untersuchen:
curl http://localhost:3100/manifest.jsonKonfiguration
Variable | Beschreibung | Erforderlich | Standard |
| HMAC-Schlüssel zum Signieren von L402-Macaroons. Generieren mit | ja | - |
| Basis-URL Ihrer LNBits-Instanz. | ja | - |
| LNBits-Rechnungs-/Lese-Schlüssel. Verwenden Sie niemals den Admin-Schlüssel. | ja | - |
| Basis-URL des DoI-Orakels. | nein |
|
| HTTP-Port. | nein |
|
| Sats, die pro Aufruf berechnet werden. | nein |
|
| Minimaler zusammengesetzter DoI-Score, um das Gate zu passieren. | nein |
|
DoI-Score-Schwellenwerte
Dies sind dieselben Kategorien, die das Orakel als rank zurückgibt. Wählen Sie diejenige, die dazu passt, wie teuer ein falscher Aufruf ist:
| Rang | Eignung |
0 | unbekannt | Reine Paywall. Identität spielt keine Rolle. |
10 | aufstrebend | Missbrauch beim ersten Aufruf schadet. Sinnvoller Standard für die meisten öffentlichen MCP-Tools. |
40 | aktiv | Das Tool verbraucht echte GPU-Leistung oder hat teure Nebeneffekte. |
100 | etabliert | Compliance-sensible oder Single-Tenant-SaaS-artige Endpunkte. |
200 | vertrauenswürdig | Hochvertrauenswürdige Admin-Tools. |
Funktionsweise des Gates
Ohne das Gate beweist ein 402 + Macaroon-Flow, dass der Aufrufer 10 Sats bezahlt hat. Eine neue Angreifer-Wallet zahlt dieselben 10 Sats. Das ist ein korrektes Wire-Format, aber ein schwacher Schutz gegen Missbrauch.
@powforge/mcp-l402-gate behält die L402-Rechnung bei und fügt eine zweite Prüfung hinzu: Wenn das Macaroon verifiziert ist, ruft das Gate das DoI-Orakel für den Pubkey des Aufrufers ab, erhält einen Schnorr-signierten Score zurück und vergleicht ihn mit MIN_SCORE. Der Score setzt sich aus beobachtbarer, irreversibler Arbeit in vier Dimensionen zusammen (sozial, Zugriff, Bürgschaft, wirtschaftlich), sodass ein neuer Sybil-Angreifer ihn nicht in einer Minute manipulieren kann.
Die vollständige Tabelle der Fehlermodi finden Sie in der @powforge/mcp-l402-gate README.
Dateien
server.js- der MCP-Server, ca. 110 Zeilen..env.example- kopieren Sie diese nach.envund füllen Sie sie aus.package.json- abhängig vonexpressund@powforge/mcp-l402-gate.
Links
Dokumentation und Preise: powforge.dev/mcp
Öffentliches DoI-Orakel: identity.powforge.dev
Lizenz
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