Skip to main content
Glama

Nostr MCP Server

by AustinKelsay

Servidor Nostr MCP

Un servidor de Protocolo de Contexto de Modelo (MCP) que proporciona capacidades Nostr a LLM como Claude.

https://github.com/user-attachments/assets/1d2d47d0-c61b-44e2-85be-5985d2a81c64

Características

Este servidor implementa varias herramientas para interactuar con la red Nostr:

  1. getProfile : obtiene la información del perfil de un usuario mediante una clave pública
  2. getKind1Notes : obtiene notas de texto (tipo 1) creadas por un usuario
  3. getLongFormNotes : obtiene contenido de formato largo (tipo 30023) creado por un usuario
  4. getReceivedZaps : obtiene los zaps recibidos por un usuario, incluida la información de pago detallada
  5. getSentZaps : recupera los zaps enviados por un usuario, incluida la información de pago detallada
  6. getAllZaps : obtiene los zaps enviados y recibidos de un usuario, claramente etiquetados con la dirección y los totales
  7. searchNips : Búsqueda a través de las posibilidades de implementación de Nostr (NIP) con puntuación de relevancia
  8. sendAnonymousZap : prepara un zap anónimo a un perfil o evento, generando una factura relámpago para el pago

Todas las herramientas admiten tanto claves públicas hexadecimales como el formato npub, con una visualización fácil de usar de los identificadores Nostr.

Instalación

# Clone the repository git clone https://github.com/austinkelsay/nostr-mcp-server.git cd nostr-mcp-server # Install dependencies npm install # Build the project npm run build

Conectarse a Claude para escritorio

  1. Asegúrate de tener Claude for Desktop instalado y actualizado a la última versión.
  2. Configure Claude for Desktop editando o creando el archivo de configuración:Para macOS:
    vim ~/Library/Application\ Support/Claude/claude_desktop_config.json
    Para Windows:
    notepad %AppData%\Claude\claude_desktop_config.json
  3. Añade el servidor Nostr a tu configuración:
    { "mcpServers": { "nostr": { "command": "node", "args": [ "/ABSOLUTE/PATH/TO/nostr-mcp-server/build/index.js" ] } } }
    Asegúrese de reemplazar /ABSOLUTE/PATH/TO/ con la ruta real a su proyecto.
  4. Reinicie Claude para escritorio.

Conectando al cursor

  1. Asegúrate de tener Cursor instalado y actualizado a la última versión.
  2. Configure el Cursor creando o editando el archivo de configuración:Para macOS:
    vim ~/.cursor/config.json
    Para Windows:
    notepad %USERPROFILE%\.cursor\config.json
  3. Añade el servidor Nostr a tu configuración:
    { "mcpServers": { "nostr": { "command": "node", "args": [ "/ABSOLUTE/PATH/TO/nostr-mcp-server/build/index.js" ] } } }
    Asegúrese de reemplazar /ABSOLUTE/PATH/TO/ con la ruta real a su proyecto.
  4. Reiniciar cursor.

Uso en Claude

Una vez configurado, puedes pedirle a Claude que use las herramientas Nostr realizando solicitudes como:

  • Muéstrame la información del perfil de npub1qny3tkh0acurzla8x3zy4nhrjz5zd8ne6dvrjehx9n9hr3lnj08qwuzwc8
  • ¿Cuáles son las publicaciones recientes de npub1qny3tkh0acurzla8x3zy4nhrjz5zd8ne6dvrjehx9n9hr3lnj08qwuzwc8?
  • Muéstrame los artículos extensos de npub1qny3tkh0acurzla8x3zy4nhrjz5zd8ne6dvrjehx9n9hr3lnj08qwuzwc8
  • "¿Cuántos zaps ha recibido npub1qny3tkh0acurzla8x3zy4nhrjz5zd8ne6dvrjehx9n9hr3lnj08qwuzwc8?"
  • "Muéstrame los zaps enviados por npub1qny3tkh0acurzla8x3zy4nhrjz5zd8ne6dvrjehx9n9hr3lnj08qwuzwc8"
  • "Muéstrame todos los zaps (enviados y recibidos) para npub1qny3tkh0acurzla8x3zy4nhrjz5zd8ne6dvrjehx9n9hr3lnj08qwuzwc8"
  • "Buscar NIP sobre zaps"
  • "¿Qué NIP están relacionados con el contenido de formato largo?"
  • "Muéstrame el NIP-23 con el contenido completo"
  • Envía un zap anónimo de 100 sats a npub1qny3tkh0acurzla8x3zy4nhrjz5zd8ne6dvrjehx9n9hr3lnj08qwuzwc8
  • Envía 1000 sats a note1abcdef... con un comentario que diga "¡Excelente publicación!".

El servidor gestiona automáticamente la conversión entre los formatos npub y hexadecimal, por lo que puede usar cualquiera de los dos en sus consultas. Los resultados se muestran con identificadores npub fáciles de usar.

Uso avanzado

Puede especificar relés personalizados para cualquier consulta:

  • Muéstrame el perfil de npub1qny3tkh0acurzla8x3zy4nhrjz5zd8ne6dvrjehx9n9hr3lnj08qwuzwc8 usando el relé wss://relay.damus.io

También puedes especificar el número de notas o zaps a buscar:

  • Muéstrame las últimas 20 notas de npub1qny3tkh0acurzla8x3zy4nhrjz5zd8ne6dvrjehx9n9hr3lnj08qwuzwc8

Para los zaps anónimos, puedes incluir comentarios opcionales y especificar el tipo de destino:

  • Envía un zap anónimo de 500 sats a note1abcdef... con el comentario "¡Excelente publicación!".
  • Envía 1000 sats anónimamente a nevent1qys... usando el relé wss://relay.damus.io.

Para las consultas zap, puedes habilitar validación y depuración adicionales:

  • "Muéstrame todos los zaps de npub1qny3tkh0acurzla8x3zy4nhrjz5zd8ne6dvrjehx9n9hr3lnj08qwuzwc8 con validación y depuración habilitadas"

Para las búsquedas NIP, puede controlar la cantidad de resultados e incluir contenido completo:

  • Buscar NIPs sobre zaps con contenido completo
  • Muéstrame los 5 mejores NIP sobre relés.
  • ¿Qué NIP están relacionados con el cifrado? Muéstrame 15 resultados.

Limitaciones

  • El servidor tiene un tiempo de espera predeterminado de 8 segundos para las consultas para evitar que se cuelguen.
  • Solo se admiten claves públicas en formato hexadecimal o npub
  • Solo se utiliza un subconjunto de relés de forma predeterminada

Detalles de implementación

  • Compatibilidad nativa con el formato npub mediante codificación/decodificación NIP-19
  • Detección de recibos de zap conforme con NIP-57 con reconocimiento de dirección (enviado/recibido/propio)
  • Análisis avanzado de facturas de Bolt11 con extracción del importe del pago
  • Sistema de almacenamiento en caché inteligente para un mejor rendimiento con grandes volúmenes de zaps
  • Cálculos de sats totales para zaps enviados/recibidos/automáticos con saldo neto
  • Validación NIP-57 opcional para garantizar la integridad del recibo de zap
  • Soporte anónimo de Zap con generación de facturas Lightning
  • Soporte para zapping de perfiles, eventos (ID de notas) y eventos reemplazables (naddr)
  • Cada llamada de herramienta crea una nueva conexión con los relés, lo que garantiza una recuperación confiable de datos.

Zaps anónimos

La herramienta sendAnonymousZap permite a los usuarios enviar zaps sin revelar su identidad de Nostr. Puntos clave sobre los zaps anónimos:

  • El zap parecerá provenir de un usuario anónimo en la billetera del destinatario.
  • El zap sigue el protocolo NIP-57 pero sin firma del remitente
  • El destinatario aún puede recibir el pago y cualquier mensaje incluido.
  • Puede cambiar perfiles (usando npub/hex pubkey), eventos específicos (usando note/nevent/hex ID) o eventos reemplazables (usando naddr)
  • El servidor genera una factura Lightning para el pago que puedes copiar en tu billetera Lightning

Ejemplos:

"Send an anonymous zap of 100 sats to npub1qny3tkh0acurzla8x3zy4nhrjz5zd8ne6dvrjehx9n9hr3lnj08qwuzwc8" "Send 1000 sats anonymously to note1abcdef... with the comment 'Great post!'"

El servidor valida completamente los servicios LNURL de acuerdo con las especificaciones LNURL-pay (LUD-06) y Lightning Address (LUD-16), lo que garantiza la compatibilidad con varias implementaciones de billeteras.

Solución de problemas

  • Si las consultas agotan el tiempo de espera, intente aumentar el valor QUERY_TIMEOUT en el código fuente (actualmente 8 segundos)
  • Si no se encuentran datos, intente especificar diferentes relés que puedan tener los datos
  • Consulte los registros MCP de Claude para obtener información detallada sobre errores

Relés predeterminados

El servidor utiliza los siguientes relés de forma predeterminada:

  • wss://relay.damus.io
  • wss://relay.nostr.band
  • wss://relay.primal.net
  • wss://nos.lol
  • wss://relay.current.fyi
  • wss://nostr.bitcoiner.social

Desarrollo

Para modificar o ampliar este servidor:

  1. Edite el archivo relevante en la raíz del proyecto:
    • index.ts : Registro del servidor principal y de la herramienta
    • zap-tools.ts : funcionalidad relacionada con Zap (getSentZaps, getReceivedZaps, getAllZaps)
    • nips-tools.ts : funcionalidad de búsqueda de NIP
  2. Ejecute npm run build para compilar
  3. Reinicie Claude for Desktop o Cursor para que se apliquen los cambios.

El código base está organizado en módulos:

  • La configuración del servidor principal y las herramientas para perfiles y notas se encuentran en index.ts
  • La funcionalidad de Zap está encapsulada en zap-tools.ts
  • La búsqueda de NIP se implementa en nips-tools.ts

Esta separación hace que el código base sea más fácil de mantener y ampliar con nuevas funciones.

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Un servidor de Protocolo de Contexto Modelo que permite a los LLM como Claude interactuar con la red social Nostr, lo que permite obtener perfiles de usuario, notas de texto e información de pago de zap.

  1. Características
    1. Instalación
      1. Conectarse a Claude para escritorio
        1. Conectando al cursor
          1. Uso en Claude
            1. Uso avanzado
              1. Limitaciones
                1. Detalles de implementación
                  1. Zaps anónimos
                    1. Solución de problemas
                      1. Relés predeterminados
                        1. Desarrollo

                          Related MCP Servers

                          • A
                            security
                            A
                            license
                            A
                            quality
                            A Model Context Protocol server that gives LLMs the ability to interact with Ethereum networks, manage wallets, query blockchain data, and execute smart contract operations through a standardized interface.
                            Last updated -
                            31
                            323
                            2
                            TypeScript
                            MIT License
                          • -
                            security
                            F
                            license
                            -
                            quality
                            A Model Context Protocol server that enables Claude and other LLMs to interact with Notion workspaces, providing capabilities like searching, retrieving, creating and updating pages, as well as managing databases.
                            Last updated -
                            194
                            2
                            TypeScript
                          • -
                            security
                            A
                            license
                            -
                            quality
                            A Model Context Protocol server enabling LLMs like Claude to interact with the Alpaca trading API through natural language for stock trading, checking positions, fetching market data, and managing your account.
                            Last updated -
                            Python
                            MIT License
                          • A
                            security
                            A
                            license
                            A
                            quality
                            An extensible Model Context Protocol server that provides standardized access to social platform data (currently Farcaster) and onchain data for LLMs.
                            Last updated -
                            5
                            11
                            TypeScript
                            MIT License
                            • Apple

                          View all related MCP servers

                          MCP directory API

                          We provide all the information about MCP servers via our MCP API.

                          curl -X GET 'https://glama.ai/api/mcp/v1/servers/AustinKelsay/nostr-mcp-server'

                          If you have feedback or need assistance with the MCP directory API, please join our Discord server