Skip to main content
Glama

Nostr MCP Server

⚠️ This project is no longer maintained. It has been superseded by nostr-agent-interface — a newer, improved version with additional Blossom file storage support and an expanded tool set.

For the full MCP server with 48 tools, see:
https://github.com/AustinKelsay/nostr-agent-interface


What changed?

The nostr-agent-interface (NAI) builds on this project and adds:

  • Blossom file storage — 8 new tools for uploading, downloading, listing, deleting, and mirroring blobs

  • Expanded tool count — 48 MCP tools covering profile, notes, relays, DMs, zaps, and now blob storage

  • Cleaner architecture — improved module organization and signing via snstr

  • Built-in budget monitoring — optional Plaid-connected budget tracking for personal finance

Migrating

If you're using nostr-mcp-server, switch to:

npm install -g nostr-agent-interface

Or point to the source:

git clone https://github.com/AustinKelsay/nostr-agent-interface.git
cd nostr-agent-interface
npm install && npm run build

Old tool count

This repo contains 40 tools (documented in the git history).

The active repo (nostr-agent-interface) has 48 tools.

Available Tools

18 tools
analyzeNip19C

Analyze any NIP-19 entity or hex string to understand its type and contents

Inputs: input (required).

convertNip19B

Convert any NIP-19 entity (npub, nsec, note, nprofile, nevent, naddr) to another format

Inputs: input (required), targetType (required), relays, author, +2 more.

createKeypairC

Generate a new Nostr keypair

Inputs: format.

createNoteC

Create a new kind 1 note event (unsigned)

Inputs: privateKey (required), content (required), tags.

createProfileC

Create a new Nostr profile (kind 0 event)

Inputs: privateKey (required), name, about, picture, +5 more.

getAllZapsB

Get all zaps (sent and received) for a public key

Inputs: pubkey (required), limit, relays, validateReceipts, +1 more.

getKind1NotesC

Get text notes (kind 1) by public key

Inputs: pubkey (required), limit, relays.

getLongFormNotesC

Get long-form notes (kind 30023) by public key

Inputs: pubkey (required), limit, relays.

getProfileB

Get a Nostr profile by public key

Inputs: pubkey (required), relays.

getReceivedZapsC

Get zaps received by a public key

Inputs: pubkey (required), limit, relays, validateReceipts, +1 more.

getSentZapsC

Get zaps sent by a public key

Inputs: pubkey (required), limit, relays, validateReceipts, +1 more.

postAnonymousNoteA

Post an anonymous note to the Nostr network using a temporary keypair

Inputs: content (required), relays, tags.

postNoteC

Post a note using an existing private key (authenticated posting)

Inputs: privateKey (required), content (required), tags, relays.

publishNoteC

Publish a signed note to Nostr relays

Inputs: signedNote (required), relays.

searchNipsC

Search through Nostr Implementation Possibilities (NIPs)

Inputs: query (required), limit, includeContent.

sendAnonymousZapC

Prepare an anonymous zap to a profile or event

Inputs: target (required), amountSats (required), comment, relays.

signNoteC

Sign a note event with a private key

Inputs: privateKey (required), noteEvent (required).

updateProfileC

Update an existing Nostr profile (kind 0 event)

Inputs: privateKey (required), name, about, picture, +5 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.2/5.0

    Scored across 18 tools

    Disambiguation4/5

    Most tools have distinct purposes, but there is some overlap between createNote, postNote, publishNote, and signNote that could cause confusion about the note creation/publishing workflow. Tools like getAllZaps, getReceivedZaps, and getSentZaps are clearly differentiated, and other tools target specific resources or actions.

    Naming Consistency3/5

    The naming is mixed with camelCase (e.g., analyzeNip19, convertNip19) and snake_case (e.g., get_long_form_notes, post_anonymous_note), and verb styles vary (e.g., 'create', 'get', 'post', 'publish', 'sign'). While readable, it lacks a consistent pattern throughout the set.

    Tool Count4/5

    With 18 tools, the count is slightly high but reasonable for a Nostr server covering key management, note handling, profiles, zaps, and NIP utilities. It feels comprehensive without being overwhelmingly bloated, though it borders on the upper limit of typical scope.

    Completeness5/5

    The tool set provides complete coverage for the Nostr domain, including keypair creation, note creation/posting/publishing/signing, profile management (create, get, update), zap handling (send, get all/received/sent), NIP analysis/conversion/search, and anonymous operations. No obvious gaps are present for core workflows.

    Maintenance

    ActivityInactive
    ResponsivenessLimited data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      A Model Context Protocol server that allows Claude to interact with Warpcast accounts, enabling actions like posting casts, reading content, searching by keywords, and managing channel interactions through natural language.
      3
      MIT
    • A
      license
      C
      quality
      D
      maintenance
      An extensible Model Context Protocol server that provides standardized access to social platform data (currently Farcaster) and onchain data for LLMs.
      10
      13
      MIT
    • A
      license
      B
      quality
      D
      maintenance
      A Model Context Protocol server that enables AI assistants to interact with Bluesky/ATProtocol, providing authentication, timeline access, post creation, and social features like likes and follows.
      21
      51
      MIT