🌐 Nostr Mcp Server
A Nostr MCP server that allows interaction with Nostr, enabling the posting of notes and more.
Overview
What is Nostr MCP?
Nostr MCP is a server designed to facilitate interactions with the Nostr protocol. It enables users to post notes, manage their content, and engage with the Nostr ecosystem effectively. This server acts as a bridge, allowing seamless communication and data exchange within the Nostr framework, making it an essential tool for developers and users interested in decentralized communication.
Features of Nostr MCP
- User-Friendly Interface: Nostr MCP provides an intuitive interface that simplifies the process of posting notes and managing interactions.
- Decentralized Communication: Built on the principles of decentralization, it ensures that users have control over their data and interactions.
- Real-Time Updates: The server supports real-time updates, allowing users to receive instant notifications about their posts and interactions.
- Open Source: Nostr MCP is open-source, which means that anyone can contribute to its development, ensuring continuous improvement and innovation.
- Multi-Platform Support: It is designed to work across various platforms, making it accessible to a broader audience.
How to Use Nostr MCP
- Installation: Begin by cloning the Nostr MCP repository from GitHub. Follow the installation instructions provided in the repository's README file.
- Configuration: Configure the server settings according to your requirements. This may include setting up user accounts, permissions, and other preferences.
- Posting Notes: Once set up, users can start posting notes directly through the interface. The process is straightforward and user-friendly.
- Engaging with the Community: Utilize the server to interact with other users, share insights, and participate in discussions related to Nostr.
- Contributing: As an open-source project, contributions are welcome. Users can report issues, suggest features, or even contribute code to enhance the server's functionality.
Frequently Asked Questions
Q: What is the purpose of Nostr MCP?
A: Nostr MCP serves as a server for interacting with the Nostr protocol, enabling users to post notes and engage in decentralized communication.
Q: Is Nostr MCP free to use?
A: Yes, Nostr MCP is an open-source project, making it free to use and modify.
Q: How can I contribute to Nostr MCP?
A: You can contribute by reporting issues, suggesting features, or submitting code improvements through the GitHub repository.
Q: What platforms does Nostr MCP support?
A: Nostr MCP is designed to be compatible with multiple platforms, ensuring accessibility for a wide range of users.
Q: Where can I find the documentation for Nostr MCP?
A: Documentation can typically be found in the repository's README file or the dedicated documentation section on the project's GitHub page.
Details
🌐 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.
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
- Clone the repository:
git clone https://github.com/AbdelStark/nostr-mcp
cd nostr-mcp
- Install dependencies:
npm install
- 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": "user@domain.com",
"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
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
📜 License
This project is licensed under the MIT License - see the LICENSE file for details.
🔗 Resources
- Join Nostr
- Nostr Manifesto
- Nostr Specifications
- Model Context Protocol
- Visual testing tool for MCP servers
- Awesome MCP Servers
- Awesome MCP Clients
- MCP TypeScript SDK
- Nostr Development Kit (NDK)
📬 Contact
Feel free to follow me if you'd like, using my public key:
npub1hr6v96g0phtxwys4x0tm3khawuuykz6s28uzwtj5j0zc7lunu99snw2e29
Or just scan this QR code to find me:
Server Config
{
"mcpServers": {
"nostr-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/metorial/mcp-container--abdelstark--nostr-mcp--nostr-mcp",
"npm run start"
],
"env": {
"LOG_LEVEL": "log-level",
"NODE_ENV": "node-env",
"NOSTR_RELAYS": "nostr-relays",
"NOSTR_NSEC_KEY": "nostr-nsec-key"
}
}
}
}