Pay Gate MCP server
Dual-rail Lightning paywall for MCP servers: accepts L402 and x402 bip122/exact, one LNBits backend.
0 stars27 downloads/wk
Reviews
Write oneNobody has reviewed Pay Gate yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Pay Gate tools
No tool declarations could be read from the package source. They show once the server is installed.
Public scan report
scanner v0.1.9 · 2026-09-27 · same rubric, same numbers if you re-run it
- Code scan7 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 139 days ago8/15
- Maintainer identityregistry namespace matches repository owner6/10
How Pay Gate compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 78/100
- higher than 57% of 48,255 servers
- Downloads a week
- 27
- more than 14% of 12,191 servers with a package
Install Pay Gate in Claude Code, Cursor or VS Code
Runs npx -y @powforge/mcp-pay-gate on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add mcp-pay-gate -- npx -y @powforge/mcp-pay-gate
What the publisher says
From the Pay Gate repository's README, as published. We do not edit it. Read it on GitHub
@powforge/mcp-pay-gate
Drop-in Express middleware for MCP servers. Accepts L402 Lightning (legacy clients) and x402 bip122/exact (forward-compat clients) with a real 10-step verifier behind both rails. One LNBits backend serves both. v0.2.0 ships full x402 verification (BOLT11 decode, replay protection, LNBits paid-check) — no stubs.
Why dual-rail
The pay-per-call MCP space is converging. Coinbase's x402 spec has an open PR (coinbase/x402 #2258) adding bip122/exact, which moves Bitcoin Lightning settlement inside x402. That means the rail choice for paid MCP endpoints collapses into a wallet-capability decision over the next 30 to 60 days.
If you ship today and pick one rail, half your future clients break. If you ship two services, you carry double the operational surface for the same revenue.
This middleware is the third option. It advertises both rails in the 402 challenge, accepts whichever the caller sends, and settles both into the same LNBits Lightning wallet. Existing L402 clients keep working. New x402 clients also work. You ship once.
Status
As of v0.2.0 both rails are live.
- L402 rail: verification forwards to ${POWGATEURL}/v1/verify by default. Production verify via @powforge/mcp-l402-gate in-process is recommended for full fidelity (this package does not duplicate the macaroon mint or HMAC code).
- x402 rail: full 10-step bip122/exact verifier per the x402-foundation/x402 PR #1311 spec, cross-checked against the Python reference impl in PR #1873. Mints a real BOLT11 invoice via the configured LNBits backend, decodes it with light-bolt11-decoder, validates scheme / network / asset / payTo / paymentMethod / invoice consistency / expiry / exact msat amount, short-circuits replays via an in-memory settlement cache, and confirms payment via LNBits paid-check. On success, returns a base64 SettlementResponse in the PAYMENT-RESPONSE header. 29 tests passing (12 middleware + 17 verifier-unit).
Deferred to v0.3.0: in-flight HTLC detection, BOLT12 offers, multi-instance settlement cache (Redis backend).
If you need an L402-only gate today, @powforge/mcp-l402-gate is the focused product — full L402 verify, replay protection, DoI score gating. This package is the dual-rail option for operators serving both legacy L402 and forward-compat x402 clients from one LNBits wallet.
Requirements
- Node >= 18
- An LNBits wallet (URL + invoice/read API key) for actual settlement
- A reachable POWGATEURL if you use the default L402 verify forwarder
Five-line integration (Express)
const express = require('express');
const { mcpPayGateMiddleware } = require('@powforge/mcp-pay-gate');
const app = express();
app.use('/tools/expensive', mcpPayGateMiddleware({
satsAmount: 10,
}));
app.post('/tools/expensive', (req, res) => {
// Reached only when the caller settled via L402 or x402.
res.json({ ok: true, rail: req.payAuth.rail });
});Behavior
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Pay Gate: common questions
- Is Pay Gate MCP server safe?
- Mostly: it is graded B (78/100). Read the Pay Gate safety report
- How do I install Pay Gate?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Pay Gate need an API key?
- No secret keys are declared. It reads 1 setting from the environment.
- Is Pay Gate maintained?
- The last commit was 176 days ago (2026-05-12). The latest release is v0.2.0.
- How does Pay Gate compare with other MCP servers?
- safety score 78/100 (higher than 57% of 48,255 servers); downloads a week 27 (more than 14% of 12,191 servers with a package). Full comparison.