PluginBench
MCP Server

io.github.llmops-pro/nostr-ops-mcp MCP Server

io.github.llmops-pro/nostr-ops-mcp

What is the io.github.llmops-pro/nostr-ops-mcp MCP server?

Nostr publishing, queries, and DMs for AI agents, with allowlists, rate limits, and an audit log.

How to install io.github.llmops-pro/nostr-ops-mcp

Copy-paste configuration for popular MCP clients.

transport: stdio
Config generated by PluginBench — verify against the source before use.
Environment / auth
  • NOSTR_RELAYS
    required

    Comma-separated wss:// relay URLs

  • NOSTR_NIP46_URI
    secret

    NIP-46 bunker URI (preferred signer; keeps the nsec off this machine)

  • NOSTR_PRIVATE_KEY
    secret

    nsec private key (alternative to NOSTR_NIP46_URI; read-only mode if neither is set)

  • NOSTR_ALLOWED_KINDS

    Comma-separated event kinds the server may publish (required when a signer is configured)

Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "nostr-ops-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "nostr-ops-mcp"
      ],
      "env": {
        "NOSTR_RELAYS": "<YOUR_NOSTR_RELAYS>",
        "NOSTR_NIP46_URI": "<YOUR_NOSTR_NIP46_URI>",
        "NOSTR_PRIVATE_KEY": "<YOUR_NOSTR_PRIVATE_KEY>",
        "NOSTR_ALLOWED_KINDS": "<YOUR_NOSTR_ALLOWED_KINDS>"
      }
    }
  }
}
Cursor
~/.cursor/mcp.json
{
  "mcpServers": {
    "nostr-ops-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "nostr-ops-mcp"
      ],
      "env": {
        "NOSTR_RELAYS": "<YOUR_NOSTR_RELAYS>",
        "NOSTR_NIP46_URI": "<YOUR_NOSTR_NIP46_URI>",
        "NOSTR_PRIVATE_KEY": "<YOUR_NOSTR_PRIVATE_KEY>",
        "NOSTR_ALLOWED_KINDS": "<YOUR_NOSTR_ALLOWED_KINDS>"
      }
    }
  }
}
Windsurf
~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "nostr-ops-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "nostr-ops-mcp"
      ],
      "env": {
        "NOSTR_RELAYS": "<YOUR_NOSTR_RELAYS>",
        "NOSTR_NIP46_URI": "<YOUR_NOSTR_NIP46_URI>",
        "NOSTR_PRIVATE_KEY": "<YOUR_NOSTR_PRIVATE_KEY>",
        "NOSTR_ALLOWED_KINDS": "<YOUR_NOSTR_ALLOWED_KINDS>"
      }
    }
  }
}
VS Code
.vscode/mcp.json
{
  "servers": {
    "nostr-ops-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "nostr-ops-mcp"
      ],
      "env": {
        "NOSTR_RELAYS": "<YOUR_NOSTR_RELAYS>",
        "NOSTR_NIP46_URI": "<YOUR_NOSTR_NIP46_URI>",
        "NOSTR_PRIVATE_KEY": "<YOUR_NOSTR_PRIVATE_KEY>",
        "NOSTR_ALLOWED_KINDS": "<YOUR_NOSTR_ALLOWED_KINDS>"
      }
    }
  }
}
Claude Code
claude mcp add nostr-ops-mcp --env NOSTR_RELAYS=<YOUR_NOSTR_RELAYS> --env NOSTR_NIP46_URI=<YOUR_NOSTR_NIP46_URI> --env NOSTR_PRIVATE_KEY=<YOUR_NOSTR_PRIVATE_KEY> --env NOSTR_ALLOWED_KINDS=<YOUR_NOSTR_ALLOWED_KINDS> -- npx -y nostr-ops-mcp

Related MCP servers

Admin an Alby Hub Lightning node from an agent: info, balances, channels; safety-gated writes.

View repository →

No-KYC web search for AI agents, paid per query in Lightning sats (L402). Holds no keys.

View repository →

Publish Nostr marketplace listings (NIP-15 + Shopstr kinds 30019/30402) so agents can run a store.

View repository →

Lightning wallet for AI agents via Nostr Wallet Connect (NIP-47): budget caps, confirm, audit log.

View repository →

Lightning-paywall sidecar: wraps any stdio MCP server, requires paid invoices before tool calls.

View repository →