Servidor Nostr MCP
Un servidor de Protocolo de Contexto de Modelo (MCP) que permite que los modelos de IA interactúen con Nostr, lo que les permite publicar notas e interactuar con el protocolo de libertad de expresión.
La resistencia a la censura es importante, incluso para los LLM.
Por cierto, ¡deberíasunirte a Nostr ahora!
🚀 Características
📝 Publicar notas en la red Nostr
🔌 Conectarse a múltiples relés
API compatible con MCP para la integración de IA
💸 Envía zaps Lightning a usuarios de Nostr (en proceso)
📡 Compatibilidad con eventos enviados por el servidor (SSE) para comunicación en tiempo real
Related MCP server: Nostr MCP Server
👷♂️ TODOS
[ ] Agregar soporte para múltiples conexiones simultáneas
[ ] Implementar el modo de transporte stdin (configurable mediante variable de entorno)
📋 Requisitos previos
Node.js 18+
🛠️ Instalación
Instalación mediante herrería
Para instalar Nostr MCP Server para Claude Desktop automáticamente a través de Smithery :
npx -y @smithery/cli install @AbdelStark/nostr-mcp --client claudeInstalación manual
Clonar el repositorio:
git clone https://github.com/AbdelStark/nostr-mcp
cd nostr-mcpInstalar dependencias:
npm installCrea un archivo
.env:
💡Puedes copiar el archivo
.env.exampley modificarlo según sea necesario.
# 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🚦 Uso
Iniciando el servidor
# Development mode with hot reload
npm run dev
# Production mode
npm startHerramientas disponibles
post_note
Publica una nueva nota en la red Nostr.
Ejemplo de entrada:
{
"content": "Hello from Nostr! 👋"
}send_zap
Envía un rayo a un usuario de Nostr.
Ejemplo de entrada:
{
"nip05Address": "user@domain.com",
"amount": 1000
}🔧 Desarrollo
Estructura del proyecto
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 configurationEjecución de pruebas
npm test🤝 Contribuyendo
Bifurcar el repositorio
Crea tu rama de funciones (
git checkout -b feature/amazing-feature)Confirme sus cambios (
git commit -m 'Add some amazing feature')Empujar a la rama (
git push origin feature/amazing-feature)Abrir una solicitud de extracción
📜 Licencia
Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.
🔗 Recursos
📬 Contacto
Siéntete libre de seguirme si lo deseas, usando mi clave pública:
npub1hr6v96g0phtxwys4x0tm3khawuuykz6s28uzwtj5j0zc7lunu99snw2e29O simplemente escanea este código QR para encontrarme:
