Skip to main content
Glama

nostr-mcp

Un servidor de solo lectura del Model Context Protocol para explorar Nostr de forma segura. Proporciona a los agentes herramientas semánticas para resolver identificadores Nostr, leer perfiles y eventos, consultar notas e inspeccionar metadatos de relays.

Esta primera versión deliberadamente no acepta claves privadas ni publica eventos. La firma se añadirá mediante un firmador remoto como NIP-46, con límites explícitos de aprobación por parte del usuario.

Herramientas

Tool

Propósito

nostr_resolve_identity

Decodifica identificadores hex, npub, nprofile, note, nevent y naddr

nostr_get_profile

Obtiene el perfil válido más reciente de tipo 0 para una clave pública

nostr_get_event

Obtiene un evento por ID hex, note o nevent

nostr_query_notes

Consulta notas verificadas de tipo 1 con filtros acotados

nostr_inspect_relay

Obtiene y normaliza el documento de información NIP-11 de un relay

Cada evento devuelto incluye los relays que lo proporcionaron. Las firmas no válidas se descartan, los eventos duplicados se fusionan y los fallos parciales de los relays se notifican en lugar de ocultarse.

Requisitos

  • Node.js 20.19 o superior

  • Un host MCP que admita servidores stdio

Instalación para Codex

Instala y registra el servidor con un solo comando:

npx -y @diegoyegros/nostr-mcp install

Verifica el registro:

npx -y @diegoyegros/nostr-mcp doctor
codex mcp list

El instalador guarda este comando stdio en Codex:

npx -y @diegoyegros/nostr-mcp@latest

Elimina el registro con:

npx -y @diegoyegros/nostr-mcp uninstall

Instalación como plugin de Codex

El repositorio también es un mercado de plugins de Codex que contiene el servidor MCP y una habilidad Nostr incluida:

codex plugin marketplace add DiegoYegros/nostr-mcp --ref master

Abre Codex, ejecuta /plugins, selecciona Nostr Plugins e instala Nostr MCP. El plugin es de solo lectura y añade orientación para resolver identificadores, consultar notas públicas, inspeccionar eventos e informar sobre la procedencia de los relays.

El instalador directo de MCP y la instalación del plugin son alternativas. Instalar el plugin ya proporciona su servidor MCP incluido.

Ejecutar con cualquier cliente MCP

Una vez publicado el paquete npm, cualquier host MCP compatible con stdio puede lanzarlo con:

npx -y @diegoyegros/nostr-mcp@latest

Ejemplo de configuración de cliente MCP:

{
  "mcpServers": {
    "nostr": {
      "command": "npx",
      "args": ["-y", "@diegoyegros/nostr-mcp@latest"],
      "env": {
        "NOSTR_RELAYS": "wss://relay.damus.io,wss://nos.lol"
      }
    }
  }
}

Ejecutar desde el código fuente

npm install
npm run build
node dist/index.js

Registra una copia del código fuente con Codex:

codex mcp add nostr -- "$(command -v node)" "$PWD/dist/index.js"

Configuración

Variable

Default

Significado

NOSTR_RELAYS

wss://relay.damus.io,wss://nos.lol,wss://relay.primal.net

URL de relay por defecto separadas por comas

NOSTR_QUERY_TIMEOUT_MS

5000

Tiempo de espera por consulta, limitado a 500-30000 ms

NOSTR_MAX_RELAYS

8

Máximo de relays por llamada de herramienta, limitado a 1-20

Solo se aceptan URL de relay públicas wss:// de forma predeterminada. Se rechazan las URL que contengan credenciales, fragmentos, hosts de bucle local (loopback) o direcciones IP de redes privadas.

Cuando una llamada de herramienta proporciona relay_urls, solo se consultan esos relays. De lo contrario, se prueban las sugerencias seguras de relay de los identificadores NIP-19 antes de los valores predeterminados configurados.

Desarrollo

npm run check

Las comprobaciones incluyen verificación de tipos, 54 pruebas unitarias y de integración, una prueba de humo de negociación stdio MCP moderna, la CLI del instalador, la coherencia de los metadatos del plugin y el contenido del paquete npm. Las pruebas de relay usan relays simulados y fixtures firmados, por lo que son deterministas y no dependen de la disponibilidad de relays públicos.

Previsualiza el artefacto npm sin publicarlo:

npm pack --dry-run

Publicación

El nombre npm es @diegoyegros/nostr-mcp. Una primera versión manual se puede publicar con:

npm login
npm publish --access public

El hook incluido prepublishOnly ejecuta la suite de verificación completa antes de publicar. Las versiones posteriores se pueden automatizar creando una release de GitHub tras configurar el secreto NPM_TOKEN del repositorio. El flujo de trabajo de release publica el paquete con procedencia de npm.

Modelo de seguridad

  • Anotaciones de herramientas MCP de solo lectura

  • Sin entradas nsec ni claves privadas en bruto

  • Verificación de firmas antes de que los eventos lleguen al agente

  • Validación estricta de URL de relay para reducir el riesgo de SSRF

  • Límites en el número de relays, tamaños de resultados y tiempos de espera

  • Procedencia de los relays y errores por relay en los resultados de las consultas

Consulta SECURITY.md para conocer los detalles sobre notificación de problemas y límites de confianza.

Licencia

MIT

-
license - not tested
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

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/DiegoYegros/nostr-mcp'

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