Sovereign MCP — Nostr Tools for AI Agents

Give your AI agent the ability to read, write, and sign on Nostr. Pay per call in sats. No accounts, no monthly fees, no surveillance.

NIP-05 subscribers at jorgenclaw.ai get 200 free calls/month — already included.

New to MCP? Start here.

Model Context Protocol (MCP) is an open standard — think of it like a USB-C port for AI. It lets your AI assistant (Claude, ChatGPT, Cursor, and others) plug into external tools and services. When you connect an MCP server, your AI gains new abilities it didn’t have before. This server gives your AI the ability to read and write on the Nostr network: post notes, send encrypted messages, manage a profile, follow people, and more.

📝

Post to Nostr from a conversation

Tell Claude: “Post a note saying hello to my followers” — it signs and publishes.

🔒

Send encrypted DMs

Ask your agent to DM a contact privately — NIP-44 encrypted, end-to-end.

🪪

Manage your identity

Update your profile, set relay lists, follow/unfollow — all through conversation.

Pay What You Use. Own What You Build.

Pay Per Call

  • 5–50 sats per tool call
  • Charged via Lightning Network
  • No account required
  • No subscription
Get a token →
Tool categoryCost per call
Read operations (fetchProfile, fetchEvents)5 sats
Write operations (postNote, follow, react)10 sats
Signing operations (signNote, signEvent)10 sats
Encrypted messaging (NIP-44/NIP-04 DMs)20 sats
Relay management (setRelayList)10 sats

Exact pricing confirmed in the tool response before any payment is made. No surprise charges.

Connect in 60 Seconds

Step 1 — Connection URL

https://nostr.jorgenclaw.ai/mcp

Streamable HTTP transport — MCP 2025-11-05 spec

Step 2 — Add to your AI client

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "nostr": {
      "url": "https://nostr.jorgenclaw.ai/mcp",
      "transport": "http",
      "headers": {
        "Authorization": "Bearer YOUR_TOKEN"
      }
    }
  }
}
{
  "mcp": {
    "servers": {
      "nostr": {
        "url": "https://nostr.jorgenclaw.ai/mcp",
        "headers": { "Authorization": "Bearer YOUR_TOKEN" }
      }
    }
  }
}
from mcp import ClientSession, StreamableHttpTransport

transport = StreamableHttpTransport(
    "https://nostr.jorgenclaw.ai/mcp",
    headers={"Authorization": "Bearer YOUR_TOKEN"}
)

Step 3 — Get your token

NIP-05 subscriber: Already registered at jorgenclaw.ai? Your subscriber token is included. Retrieve it at: nostrservices.jorgenclaw.ai/token
Pay per call: Purchase a prepaid credit bundle via Lightning and receive a token instantly. Buy credits →

How Lightning payments work here

  1. Your AI sends a tool call to the server.
  2. If you have a subscriber token: the call is deducted from your 200/month allowance.
  3. If you’re pay-per-call: the server responds with a Lightning invoice. Your agent pays it (or pauses for your approval). The call executes.
  4. Payment is instant, non-custodial, and pseudonymous.
Does my AI automatically pay?

Only if you configure it with a Lightning wallet (NWC or similar). Otherwise it will show you the invoice and wait for your approval.

What if I run out of credits?

Pay-per-call tokens are topped up by purchasing more credits. Subscribers get 200 calls reset monthly.

Is this custodial?

No. Payments go directly to the server operator (Scott Jorgensen / jorgenclaw.ai) via Lightning. No middleman holds funds.

What your AI can do

postNote10 satsNotes

Create and publish a plaintext note (kind 1) to your relay list.

signNote10 satsSigning

Sign an unsigned note event with your configured signer.

publishNote5 satsNotes

Publish an already-signed note event to your relays.

createProfile10 satsProfile

Create a kind 0 profile metadata event.

updateProfile10 satsProfile

Update an existing Nostr profile.

fetchProfile5 satsRead

Fetch any user’s profile by npub.

follow10 satsSocial

Add a pubkey to your follow list.

unfollow10 satsSocial

Remove a pubkey from your follow list.

reactToEvent10 satsSocial

React to an event (like, zap request, emoji).

repostEvent10 satsSocial

Repost (boost) an event to your followers.

replyToEvent10 satsSocial

Reply to a note in thread.

deleteEvent10 satsSocial

Publish a deletion request for an event (NIP-09).

sendDmNip4420 satsMessaging

Send an encrypted DM using NIP-44 (current standard).

sendDmNip0420 satsMessaging

Send an encrypted DM using NIP-04 (legacy, for compatibility).

encryptNip44 / decryptNip4420 satsMessaging

Encrypt or decrypt NIP-44 payloads manually.

signNostrEvent10 satsSigning

Sign any custom Nostr event with your configured signer.

createNostrEvent5 satsSigning

Build any Nostr event by kind, content, and tags — without publishing.

publishNostrEvent5 satsSigning

Publish a pre-signed Nostr event to your relays.

fetchEvents5 satsRead

Fetch events from relays using a filter (kind, author, tags, since/until).

getSignerInfo5 satsRead

Check which signing mode is active and retrieve your public key.

setRelayList10 satsProfile

Publish your relay list (NIP-65 kind 10002).

View full API reference on GitHub →

Why this server exists

Most AI tools require you to hand your credentials to a third party, trust their privacy policy, and accept their terms of service. This server is different. It’s built on Nostr — a protocol where your identity is a cryptographic key that you own. Your keys, your data, your social graph.

The Lightning payment model was a deliberate choice. No account signup means no email address handed over, no profile to build about you. You pay for what you use, pseudonymously, via Bitcoin. If you stop paying, nothing is owed and nothing is locked in.

This server is open-source. The code running it is the same code published at github.com/jorgenclaw/nostr-mcp-server. You can verify what it does, run your own copy, or fork it.

🔑 Your keys, your identity ⚡ Pay-per-use, no lock-in 🐙 Open source, forkable

Read more about sovereign design →

Where you can find us