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
- Type
goose configure
- Add extension -> Command Line Extension
- Call it
nwc
- What command should be run:
npx -y @getalby/nwc-mcp-server
- Timeout: 30
- Description: no
- environment variables: yes
- environment variable name:
NWC_CONNECTION_STRING
- 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