AbdelStark

๐ŸŒ Nostr MCP Server

Community AbdelStark
Updated

A Model Context Protocol server for interacting with Nostr, enabling posting notes and more

๐ŸŒ Nostr MCP Server

A Model Context Protocol (MCP) server that enables AI models to interact with Nostr, allowing them to post notes and interact with the freedom of speech protocol.

Censorship resistance matters, even for LLMs.

smithery badgeTypeScriptMCPNostr

BTW, you should join Nostr now!

๐Ÿš€ Features

  • ๐Ÿ“ Post notes to Nostr network
  • ๐Ÿ”Œ Connect to multiple relays
  • ๐Ÿค– MCP-compliant API for AI integration
  • ๐Ÿ’ธ Send Lightning zaps to Nostr users (WIP)
  • ๐Ÿ“ก Server-Sent Events (SSE) support for real-time communication

๐Ÿ‘ทโ€โ™‚๏ธ TODOs

  • Add support for multiple simultaneous connections
  • Implement stdin transport mode (configurable via environment variable)

๐Ÿ“‹ Prerequisites

  • Node.js 18+

๐Ÿ› ๏ธ Installation

Installing via Smithery

To install Nostr MCP Server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @AbdelStark/nostr-mcp --client claude

Manual Installation

  1. Clone the repository:
git clone https://github.com/AbdelStark/nostr-mcp
cd nostr-mcp
  1. Install dependencies:
npm install
  1. Create a .env file:

๐Ÿ’ก You can copy the .env.example file and modify it as needed.

# Log level (debug, info, warn, error)
LOG_LEVEL=debug
# Node environment (development, production)
NODE_ENV=development
# List of Nostr relays to connect to
NOSTR_RELAYS=wss://relay.damus.io,wss://relay.primal.net,wss://nos.lol
# Your Nostr private key (starts with nsec)
NOSTR_NSEC_KEY=your_nsec_key_here
# Server mode (stdio or sse)
SERVER_MODE=sse
# Port for SSE mode
PORT=9000

๐Ÿšฆ Usage

Starting the Server

# Development mode with hot reload
npm run dev

# Production mode
npm start

Available Tools

post_note

Posts a new note to the Nostr network.

Example input:

{
  "content": "Hello from Nostr! ๐Ÿ‘‹"
}
send_zap

Sends a Lightning zap to a Nostr user.

Example input:

{
  "nip05Address": "[email protected]",
  "amount": 1000
}

๐Ÿ”ง Development

Project Structure

nostr-mcp/
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ index.ts        # Main server entry point
โ”‚   โ”œโ”€โ”€ nostr-client.ts # Nostr client implementation
โ”‚   โ””โ”€โ”€ types.ts        # TypeScript type definitions
โ”œโ”€โ”€ .env               # Environment configuration
โ””โ”€โ”€ tsconfig.json     # TypeScript configuration

Running Tests

npm test

๐Ÿค Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

๐Ÿ“œ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ”— Resources

๐Ÿ“ฌ Contact

Feel free to follow me if you'd like, using my public key:

npub1hr6v96g0phtxwys4x0tm3khawuuykz6s28uzwtj5j0zc7lunu99snw2e29

Or just scan this QR code to find me:

Nostr Public Key QR Code

Made with โค๏ธ for the Nostr community

MCP Server ยท Populars

MCP Server ยท New

    jackccrawford

    Geniuz

    Your AI remembers now. Geniuz stores everything in a local database locally on Mac, Windows, Linux, Raspberry Pi. No cloud. No account. No API keys. Nothing leaves your machine. It's open source; you can read every line of code.

    Community jackccrawford
    ggui-ai

    ggui

    The universal interface layer between AI agents and humans. Generate rich UIs on demand via MCP.

    Community ggui-ai
    aanno

    CocoIndex Code MCP Server

    An RAG for code development, implemented as MCP server with cocoindex

    Community aanno
    timescale

    Tiger Linear MCP Server

    A wrapper around the Linear API for internal LLMs

    Community timescale
    choplin

    MCP Gemini CLI

    MCP Server

    Community choplin