nostr-mcp-server
A Nostr MCP (Model Context Protocol) server with NIP-46 remote signing support. Private keys never need to touch the AI context window.
Live Endpoint
Connect directly without running locally:
https://nostr.jorgenclaw.ai/mcpTransport: Streamable HTTP (MCP spec 2025-03-26) — compatible with Claude Desktop, Cursor, Glama, Smithery, and any MCP client.
Legacy SSE endpoint (backward compat): https://nostr.jorgenclaw.ai/sse
NIP-05 Identity Service
Get a yourname@jorgenclaw.ai verified Nostr identity — registered by an AI agent over Lightning.
How to register:
Open any Nostr client (Amethyst, Primal, Damus, etc.)
DM this npub:
npub16pg5zadrrhseg2qjt9lwfcl50zcc8alnt7mnaend3j04wjz4gnjqn6efzcSend the message:
register yournamePay the Lightning invoice that arrives in reply (1,000 sats)
Done —
yourname@jorgenclaw.airesolves immediately on all Nostr clients
Uses NIP-17 gift-wrapped DMs. Works with all modern Nostr clients.
Features
NIP-46 bunker mode — Set
NOSTR_BUNKER_URIonce, all signing routes through your bunkerDirect key mode — Pass
privateKeyper-tool call (backwards compatible)23 tools — Notes, profiles, social actions, DMs (NIP-04/44), relay lists, zaps, fetch
MCP native — Works with any MCP-compatible client
Quick Start
npm install
npm run buildDirect key mode (no bunker)
node dist/index.jsTools require privateKey parameter on each signing call.
Bunker mode (recommended)
NOSTR_BUNKER_URI="bunker://<pubkey>?relay=wss://relay.example.com&secret=abc" node dist/index.jsAll signing tools use the bunker. privateKey parameter becomes optional.
Tools
Tool | Description |
| Create, sign, and publish a text note |
| Create unsigned text note |
| Sign a note event |
| Publish signed note to relays |
| Create unsigned event of any kind |
| Sign any unsigned event |
| Publish signed event to relays |
| Create Nostr profile (kind 0) |
| Update existing profile |
| Follow a pubkey |
| Unfollow a pubkey |
| React to event (kind 7) |
| Repost event (kind 6) |
| Delete events (kind 5) |
| Reply with NIP-10 threading |
| NIP-04 encryption |
| Send NIP-04 DM |
| NIP-44 encryption |
| Send NIP-44 DM |
| Publish relay list (NIP-65) |
| Check signing mode and pubkey |
| Fetch a Nostr profile |
| Fetch events from relays |
NIP-46 Bunker URI
Format: bunker://<bunker-hex-pubkey>?relay=wss://relay.com&secret=optional
Compatible with: nsecbunker, Amber, any NIP-46 signer.
Also Available: Sovereign MCP (Paid)
For agents that need verifiable signed actions with a Lightning-gated audit trail:
https://mcp.jorgenclaw.ai/mcp9 tools, sats per call, LCS-1 action receipts. No signup.
Dependencies
nostr-tools— Nostr protocol library (signing, encryption, NIP-46)@modelcontextprotocol/sdk— MCP server frameworkws— WebSocket for Node.js relay connectionszod— Input validation
License
MIT