A Nostr MCP (Model Context Protocol) server with NIP-46 remote signing support. Private keys never need to touch the AI context window.
Connect directly without running locally:
https://nostr.jorgenclaw.ai/mcp
Transport: 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
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:
npub16pg5zadrrhseg2qjt9lwfcl50zcc8alnt7mnaend3j04wjz4gnjqn6efzc - Send the message:
register yourname - Pay 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.
- NIP-46 bunker mode — Set
NOSTR_BUNKER_URIonce, all signing routes through your bunker - Direct 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
npm install
npm run buildnode dist/index.jsTools require privateKey parameter on each signing call.
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.
| Tool | Description |
|---|---|
postNote |
Create, sign, and publish a text note |
createNote |
Create unsigned text note |
signNote |
Sign a note event |
publishNote |
Publish signed note to relays |
createNostrEvent |
Create unsigned event of any kind |
signNostrEvent |
Sign any unsigned event |
publishNostrEvent |
Publish signed event to relays |
createProfile |
Create Nostr profile (kind 0) |
updateProfile |
Update existing profile |
follow |
Follow a pubkey |
unfollow |
Unfollow a pubkey |
reactToEvent |
React to event (kind 7) |
repostEvent |
Repost event (kind 6) |
deleteEvent |
Delete events (kind 5) |
replyToEvent |
Reply with NIP-10 threading |
encryptNip04 / decryptNip04 |
NIP-04 encryption |
sendDmNip04 |
Send NIP-04 DM |
encryptNip44 / decryptNip44 |
NIP-44 encryption |
sendDmNip44 |
Send NIP-44 DM |
setRelayList |
Publish relay list (NIP-65) |
getSignerInfo |
Check signing mode and pubkey |
fetchProfile |
Fetch a Nostr profile |
fetchEvents |
Fetch events from relays |
Format: bunker://<bunker-hex-pubkey>?relay=wss://relay.com&secret=optional
Compatible with: nsecbunker, Amber, any NIP-46 signer.
For agents that need verifiable signed actions with a Lightning-gated audit trail:
https://mcp.jorgenclaw.ai/mcp
9 tools, sats per call, LCS-1 action receipts. No signup.
nostr-tools— Nostr protocol library (signing, encryption, NIP-46)@modelcontextprotocol/sdk— MCP server frameworkws— WebSocket for Node.js relay connectionszod— Input validation
MIT