Nwc MCP server
Lightning wallet for AI agents via Nostr Wallet Connect (NIP-47): budget caps, confirm, audit log.
0 stars33 downloads/wk
Reviews
Write oneNobody has reviewed Nwc yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Nwc tools (13, 7 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
nwc_budget_statusShow the current spend-budget state: rolling-24h spent, daily cap, lifetime spent, optional total cap, and per-invoice max. Useful before attempting a payment to know whether it will be allowed.
nwc_confirm_paymentwrite actionExecute a previously prepared payment, identified by its one-time token. Only meaningful when NWC_REQUIRE_CONFIRM=true. The token is consumed (single use) and safety checks (budget, allowlist) are re-run before execution.
nwc_decode_invoiceDecode a bolt11 Lightning invoice locally (no network call). Returns amount in sats, description, payment hash, expiry, payee pubkey, and network. Use this before pay_invoice to confirm the invoice contents.
nwc_get_balanceReturn the current spendable balance of the connected wallet, in satoshis.
nwc_get_infoReturn the connected wallet's capabilities, supported NIP-47 methods, node pubkey, network, alias, and color. Call this first in any session to discover what the wallet supports.
nwc_list_transactionsList transactions on the connected wallet. Supports filtering by time range, direction (incoming/outgoing), and inclusion of unpaid invoices.
nwc_lookup_invoiceLook up an invoice by payment hash or bolt11 string. Returns the invoice state (paid/unpaid), settled timestamp, amount, fees paid, and preimage if settled. Provide either payment_hash OR invoice.
nwc_make_invoicewrite actionCreate a bolt11 Lightning invoice for the given amount in sats. Safe \u2014 does not move funds; only generates a payment request. Returns the bolt11 string and payment hash.
nwc_multi_pay_invoicewrite actionPay multiple bolt11 invoices sequentially in one tool call. Each invoice is decoded and safety-checked independently; the batch sum is checked against the daily and total budget caps upfront. If any pre-check or sum check fails, no payments are sent. Execution is per-invoice \u2014 a failure mid-batch does not roll back already-settled invoices.
nwc_pay_invoicewrite actionPay a bolt11 Lightning invoice. Decodes locally, runs the safety pipeline (read-only gate, destination allowlist, budget cap), and either executes immediately or \u2014 if NWC_REQUIRE_CONFIRM=true \u2014 returns a one-time confirmation token to pass to nwc_confirm_payment. Returns preimage + fees on success.
nwc_pay_keysendwrite actionSend sats directly to a node pubkey via keysend (spontaneous payment, no invoice). Default-off \u2014 must be opt-in via NWC_KEYSEND_ENABLED=true. Power-user feature: no payment hash receipt, weaker safety surface than bolt11. Use bolt11 invoices when available. Runs the full safety pipeline (read-only gate, allowlist on pubkey, budget cap, optional two-step confirmation).
nwc_pay_lightning_addresswrite actionPay a Lightning Address (e.g., alice@getalby.com). Resolves the LNURL-pay endpoint to a bolt11 invoice, then runs the safety pipeline (read-only gate, allowlist check on the LN address, budget cap, optional two-step confirmation). Returns preimage on success.
nwc_pay_lnurlwrite actionPay a raw LNURL-pay endpoint (bech32 lnurl1... string). Decodes the LNURL, resolves the pay request, then runs the safety pipeline (read-only gate, allowlist check on the LNURL, budget cap, optional two-step confirmation). Use nwc_pay_lightning_address when you have a name@domain.tld instead.
Public scan report
scanner v0.1.9 · 2026-09-27 · same rubric, same numbers if you re-run it
- Code scan2 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 qualitystatic API keys via environment variables6/15
- Maintenancelast push 104 days ago8/15
- Maintainer identityregistry namespace matches repository owner7/10
How Nwc compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 71/100
- higher than 36% of 48,255 servers
- Tools
- 13
- the typical server has 7
- Tools that change things
- 54%
- typical: 0%. Fewer write tools means less an agent can break
- Downloads a week
- 33
- more than 22% of 12,191 servers with a package
What its tools let an agent do: 6 read · 7 change
Install Nwc in Claude Code, Cursor or VS Code
Runs npx -y nwc-mcp on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add nwc-mcp -- npx -y nwc-mcp
What the publisher says
From the Nwc repository's README, as published. We do not edit it. Read it on GitHub
nwc-mcp
A Lightning wallet for your LLM agent. MCP server that exposes Nostr Wallet Connect (NIP-47) wallet operations as tools your agent can call — read balance, generate invoices, pay invoices, pay Lightning Addresses, pay LNURLs, batch payments, keysend — all wrapped in a defense-in-depth safety stack.
Drop it into Claude Desktop, Claude Code, Cursor, or any MCP-speaking client. Hand the agent a sub-wallet (not your main one). Set a daily cap. Let it spend sats on your behalf within rails you control.
v0.2 — all spend tools shipped. Twelve tools (7 read/receive + 5 spend + 1 confirm), four safety gates, full audit log. Validated end-to-end against Alby Hub + Olympus by ZEUS routing — real outbound payment settled in 8 seconds.
What you can do with this
- A coding agent that pays for its own paywalled tool calls (L402-style paid MCP servers).
- A NOSTR bot that zaps interesting notes under a daily cap you set.
- An evaluation harness that pays a small fee per task to a worker agent it consumes.
- A storefront agent that issues receive invoices in response to incoming DMs.
- Personal sats-aware agents — "every Friday, send 1,000 sats to my favorite OSS maintainers via their LN addresses."
The safety stack is the load-bearing reason this is usable in production: the agent can request a payment, but the server refuses anything that breaches your configured limits, demands a second-step confirmation if you set one, and writes every call to a structured audit log.
The twelve tools
Read-only (always enabled, no spend risk)
Receive (safe — only generates invoices, no spend)
Spend (gated by the safety pipeline)
Requirements
- Node 20+
- A NWC connection string from a NIP-47-compatible wallet (Alby Hub, Mutiny, Coinos, Phoenix, …)
The canonical buyer setup is Alby Hub PRO with a dedicated sub-wallet for the agent — that's what this server has been smoke-tested against. But the protocol is wallet-agnostic; anything that speaks NIP-47 works.
Install
# From npm (once published)
npx -y nwc-mcp
# From source
git clone <repo>
cd nwc-mcp
corepack enable pnpm
pnpm install
pnpm buildConfigure
Copy .env.example to .env and fill in your NWC connection string:
cp .env.example .env
# edit .env: NWC_CONNECTION_STRING=nostr+walletconnect://...Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Nwc: common questions
- Is Nwc MCP server safe?
- Mostly: it is graded B (71/100). Read the Nwc safety report
- How do I install Nwc?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Nwc need an API key?
- Yes. The registry entry asks for
NWC_CONNECTION_STRING. - Is Nwc maintained?
- The last commit was 142 days ago (2026-06-15). The latest release is v0.2.3.
- What can I use instead of Nwc?
- Servers from other publishers that do the same job: SSH — policy-gated remote access MCP server.
- How does Nwc compare with other MCP servers?
- safety score 71/100 (higher than 36% of 48,255 servers); tools 13 (the typical server has 7); tools that change things 54% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.
Alternatives to Nwc
Same job from other publishers: the closest match first, then the best rated.
- SSH — policy-gated remote accessPolicy-gated, audited SSH for Linux and Windows hosts: roles, approvals, and an audit log.not reviewedEstablishedB