nostr-mcp
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 |
| Decodifica identificadores hex, |
| Obtiene el perfil válido más reciente de tipo |
| Obtiene un evento por ID hex, |
| Consulta notas verificadas de tipo |
| 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 installVerifica el registro:
npx -y @diegoyegros/nostr-mcp doctor
codex mcp listEl instalador guarda este comando stdio en Codex:
npx -y @diegoyegros/nostr-mcp@latestElimina el registro con:
npx -y @diegoyegros/nostr-mcp uninstallInstalació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 masterAbre 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@latestEjemplo 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.jsRegistra una copia del código fuente con Codex:
codex mcp add nostr -- "$(command -v node)" "$PWD/dist/index.js"Configuración
Variable | Default | Significado |
|
| URL de relay por defecto separadas por comas |
|
| Tiempo de espera por consulta, limitado a 500-30000 ms |
|
| 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 checkLas 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-runPublicación
El nombre npm es @diegoyegros/nostr-mcp. Una primera versión manual se puede publicar con:
npm login
npm publish --access publicEl 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
nsecni claves privadas en brutoVerificació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
This server cannot be installed
Maintenance
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
Read-only Remote MCP for externally grounded AI agent trust receipts.
Agent-native MCP server over the public saagarpatel.dev corpus. Read-only, stateless.
MEOK ABCI Bridge MCP — read-only Tendermint / Cosmos blockchain query for agents. Built-in registry
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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