MCPInstall
Nostr Wallet Connect (Lightning) logo

Nostr Wallet Connect (Lightning)

Featured
by getalby 15 stars getalby/nwc-mcp-server

Enables AI interaction with Bitcoin Lightning wallets through Nostr Wallet Connect for checking balances, creating invoices, and managing payments without complex Lightning Network implementation.

READMEmaster

⚠️ DEPRECATED ⚠️

Please use Alby MCP instead!

This repository has been deprecated in favor of Alby MCP, which includes all the NWC tools along with additional Lightning tools.

NWC MCP Server

Connect a bitcoin lightning wallet to your LLM using Nostr Wallet Connect (NWC or NIP-47).

This MCP server uses the official MCP TypeScript SDK

See also the Alby MCP server which includes additional useful tools.

Quick Start

Use the Alby-Hosted MCP Server

If your agent supports SSE (e.g. N8N) or HTTP Streamable transports, you can connect to Alby's MCP server.

  • SSE: https://mcp.getalby.com/sse
  • HTTP Streamable: https://mcp.getalby.com/mcp

Both require providing an NWC connection secret as Bearer authentication.

Add to Claude Desktop

Add this to your claude_desktop_config.json:

{
  "mcpServers": {
    "nwc": {
      "command": "npx",
      "args": ["-y", "@getalby/nwc-mcp-server"],
      "env": {
        "NWC_CONNECTION_STRING": "YOUR NWC CONNECTION STRING HERE"
      }
    }
  }
}

Add to Goose

  1. Type goose configure
  2. Add extension -> Command Line Extension
  3. Call it nwc
  4. What command should be run: npx -y @getalby/nwc-mcp-server
  5. Timeout: 30
  6. Description: no
  7. environment variables: yes
  8. environment variable name: NWC_CONNECTION_STRING
  9. environment variable value: nostr+walletconnect://... (your NWC connection secret here)

Add to Cline

Copy the below and paste it into a cline prompt. It should prompt you to update the connection string.

Add the following to my MCP servers list:

"nwc": {
  "command": "npx",
  "args": ["-y", "@getalby/nwc-mcp-server"],
  "env": {
    "NWC_CONNECTION_STRING": "nostr+walletconnect://..."
  },
  "disabled": false,
  "autoApprove": []
}

Add to N8N via SSE

You can use the native N8N MCP Client tool connected to an AI agent. Enter your SSE endpoint, set authentication to "Bearer" and paste your NWC connection secret.

Tested with OpenRouter + anthropic/claude-3.7-sonnet

See the N8N workflow for a simple example

Add to N8N via STDIO (Community Node)

Currently this MCP server only works via command line (STDIO).

You can install the n8n-nodes-mcp community node and run n8n with tools enabled e.g.

N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true npx n8n

Create a blank workflow and add an AI agent node. Configure your LLM model and add a new tool "MCP Client" (which will have a cube next to it showing it's a community node).

Configure the MCP Client by adding a credential with Command Line (STDIO) selected.

command: npx arguments: -y @getalby/nwc-mcp-server environments NWC_CONNECTION_STRING=nostr+walletconnect://your_key_here (create the whole line in a text editor and paste it in, since the password field cannot be switched to plaintext)

See the N8N paid chat workflow for a full example

Modes

STDIO

By default NWC MCP Server runs locally in STDIO mode.

HTTP

You can set the following environment variable: MODE=HTTP which will enable Streamable HTTP (http://localhost:3000/mcp) and SSE (http://localhost:3000/sse Note: SSE is deprecated).

HTTP requires bearer authorization, where the token is a wallet's NWC connection secret.

From Source

Prerequisites

  • Node.js 20+
  • Yarn
  • A connection string from a lightning wallet that supports NWC

Installation

yarn install

Building

yarn build

Add your NWC connection

Copy .env.example to .env and update your connection string

Inspect the tools (use/test without an LLM)

yarn inspect

Supported Tools

See the tools directory

More Web3 & Blockchain MCP servers

Similar servers from the same category.

ZBD Payments

zebedeeio

Integrates with ZBD Payments API to enable Bitcoin and Lightning Network transactions including sending/receiving payments, wallet operations, voucher management, and OAuth2 authentication flows

authenticationpayment

Moralis Web3 API

moralisweb3

Integrates with Moralis Web3 API to enable blockchain data access, token analysis, and smart contract interactions without requiring deep Web3 development knowledge

Web3 & Blockchain

Provides a bridge to the NFTGo Developer API for accessing Ethereum NFT data including collections, assets, market trends, and wallet information through authenticated HTTP requests.

API

Provides blockchain context through Nodit's APIs, enabling real-time interaction with multiple protocols including Ethereum, Polygon, and Aptos for token information and on-chain activity analysis.

Web3 & Blockchain