Skip to main content
Glama
forgesworn

nostr-bray

by forgesworn

nostr-bray

MCP de Nostr con conciencia de confianza para IA y humanos. 235 herramientas en 27 grupos. Independiente del modelo. Funciona con Claude, ChatGPT, Gemini, Cursor, Windsurf o cualquier cliente MCP.

npm CI licence TypeScript

Inicio rápido

Instala globalmente o ejecuta mediante npx:

npm install -g nostr-bray

Añade a la configuración de tu cliente MCP:

{
  "mcpServers": {
    "nostr": {
      "command": "npx",
      "args": ["nostr-bray"],
      "env": {
        "NOSTR_SECRET_KEY": "nsec1...",
        "NOSTR_RELAYS": "wss://relay.damus.io,wss://nos.lol"
      }
    }
  }
}

Luego, pide a tu IA que ejecute whoami para verificar que funciona.

Para uso en producción, prefiere Heartwood o cualquier bunker NIP-46 (tu clave nunca abandona tu dispositivo de firma):

{
  "mcpServers": {
    "nostr": {
      "command": "npx",
      "args": ["nostr-bray"],
      "env": {
        "BUNKER_URI": "bunker://...",
        "NOSTR_RELAYS": "wss://relay.damus.io,wss://nos.lol"
      }
    }
  }
}

Niveles de autenticación (del mejor al peor)

Nivel

Método

Exposición de clave

Heartwood

Dispositivo de firma dedicado (BUNKER_URI)

La clave nunca abandona el dispositivo de firma. Soporta derivación nsec-tree, permisos por cliente y atestaciones respaldadas por dispositivo.

Software bunker

Cualquier bunker NIP-46 (BUNKER_URI)

Clave mantenida por un proceso separado. Nunca vista por bray.

ncryptsec

Clave cifrada NIP-49 (NOSTR_NCRYPTSEC)

Clave cifrada en reposo, descifrada en memoria al iniciar.

Archivo de clave

Ruta de archivo (NOSTR_SECRET_KEY_FILE)

Clave en disco, leída una vez, variable de entorno eliminada.

Variable de entorno

Secreto en línea (NOSTR_SECRET_KEY)

Clave visible en el entorno del proceso. Usar solo para desarrollo.

Grupos de herramientas

Grupo

Herramientas

Ejemplos clave

Identidad

16

whoami, identity-derive-persona, identity-switch, identity-prove, nip05-lookup

Social

15

social-post, social-reply, social-feed, contacts-follow, social-notifications

Mensajes directos

4

dm-send, dm-read, dm-conversation

Confianza

22

trust-attest, trust-ring-prove, trust-spoken-challenge, trust-attest-chain

Despacho

13

dispatch-send, dispatch-check, dispatch-reply, dispatch-capability-discover

Relay

13

relay-query, relay-set, relay-discover, cast-spell, relay-health

Moderación

16

label-create, list-mute, list-bookmark, list-followset-create, moderation-filter

Mercado

16

marketplace-discover, marketplace-call, listing-create, listing-search

Seguridad

14

canary-session-create, canary-group-create, canary-duress-signal, safety-activate

Blossom

10

blossom-upload, blossom-mirror, blossom-verify, blossom-repair

Privacidad

10

privacy-commit, privacy-prove-range, privacy-prove-age, privacy-publish-proof

Zap

9

zap-send, zap-balance, zap-make-invoice, zap-decode

Bóveda

9

vault-create, vault-encrypt, vault-share, vault-rotate

Flujo de trabajo

7

trust-score, verify-person, identity-setup, relay-health, feed-discover

Signet

7

signet-badge, signet-vouch, signet-credentials, signet-challenge

Comunidades

5

community-create, community-feed, community-post, community-approve

Insignias

4

badge-create, badge-award, badge-accept, badge-list

Grupos (NIP-29)

4

group-info, group-chat, group-send, group-members

Artículos

3

article-publish, article-read, article-list

Calendario

3

calendar-create, calendar-read, calendar-rsvp

Wiki

3

wiki-publish, wiki-read, wiki-list

Búsqueda

3

search-notes, search-profiles, hashtag-feed

Programación

4

post-schedule, post-queue-list, post-queue-cancel, publish-event

NIPs de comunidad

2

nip-publish, nip-read

Utilidad

19

decode, encode-npub, nip44-encrypt, verify-event, tombstone

Manejador

2

handler-publish, handler-discover

Catálogo

2

search-actions, execute-action

Usa search-actions para encontrar herramientas por palabra clave, luego execute-action para ejecutarlas.

Despacho: Colaboración IA a IA

El despacho permite que los agentes de IA colaboren a través de mensajes directos de Nostr cifrados. Cualquier cliente compatible con MCP puede enviar tareas estructuradas a otros agentes y recibir resultados.

13 tipos de mensajes: send, check, reply, ack, status, cancel, refuse, failure, query, propose, capability-publish, capability-discover, capability-read.

Descubrimiento de capacidades NIP-89: Los agentes publican lo que pueden hacer. Otros agentes descubren capacidades por tema y luego enrutan las tareas al colaborador adecuado automáticamente.

dispatch-send("alice", "think", "Analyse the trade-offs of NIP-44 vs NIP-04")
dispatch-check()                    → inbox with pending tasks
dispatch-reply(taskId, result)      → send results back encrypted

Todos los mensajes están cifrados con NIP-44. Los destinatarios se resuelven por nombre, NIP-05, npub o hex.

Resolución de identidad

Cada herramienta que acepta un destinatario utiliza resolución de identidad universal. Nunca necesitas buscar claves públicas hex manualmente.

Formatos aceptados:

  • Nombre -- "alice" (resuelto desde tus contactos de despacho)

  • NIP-05 -- "alice@example.com" (búsqueda HTTP)

  • npub -- "npub1abc..." (decodificación NIP-19)

  • Hex -- "a1b2c3..." (paso directo de 64 caracteres)

Publicación programada

Firma eventos ahora, publica después. Los eventos se firman inmediatamente con tu clave actual y luego se mantienen en una cola hasta la hora programada.

post-schedule("Good morning!", "2026-04-01T08:00:00Z")
post-queue-list()          → view pending scheduled posts
post-queue-cancel(id)      → cancel before it publishes

Cobertura NIP

nostr-bray implementa o integra los siguientes NIPs:

NIP

Qué es

NIP-01

Eventos, firma, protocolo de relay

NIP-02

Listas de seguimiento

NIP-05

Identidad DNS (búsqueda, verificación, sugerencias de relay)

NIP-09

Eliminación de eventos

NIP-11

Información de relay

NIP-17

Mensajes directos privados (gift wrap, predeterminado)

NIP-19

Codificación bech32 (npub, nsec, nprofile, nevent, naddr)

NIP-23

Artículos de formato largo (tipo 30023)

NIP-29

Chat grupal

NIP-32

Etiquetas

NIP-40

Etiquetas de expiración

NIP-42

Autenticación de relay

NIP-44

Cargas útiles cifradas v2

NIP-45

Conteos de eventos

NIP-46

Nostr Connect (bunker)

NIP-49

Cifrado de clave privada (ncryptsec)

NIP-50

Búsqueda

NIP-51

Listas (silenciar, fijar, conjuntos de seguimiento, marcadores)

NIP-52

Eventos de calendario

NIP-54

Páginas Wiki

NIP-57

Zaps de Lightning

NIP-58

Insignias

NIP-65

Metadatos de lista de relays

NIP-72

Comunidades

NIP-78

Datos específicos de la aplicación

NIP-85

Rankings de confianza

NIP-89

Aplicaciones recomendadas (descubrimiento de capacidades de despacho)

NIP-96

Almacenamiento de archivos HTTP (Blossom)

NIP-99

Listados clasificados

NIP-A7

Hechizos (tipo 777 — lanzar consultas guardadas)

NIP-VA

Atestaciones verificables (tipo 31000)

Configuración

Archivo de configuración (recomendado)

Crea ~/.config/bray/config.json (o ~/.nostr/bray.json):

{
  "bunkerUriFile": "/Users/you/.nostr/bunker-uri",
  "relays": ["wss://relay.damus.io", "wss://nos.lol"],
  "trustMode": "annotate"
}

Los secretos se referencian por ruta de archivo (bunkerUriFile, secretKeyFile, nwcUriFile) para que nunca aparezcan en la configuración misma.

Orden de búsqueda: variable de entorno BRAY_CONFIG > $XDG_CONFIG_HOME/bray/config.json > ~/.nostr/bray.json.

Variables de entorno

Variable

Descripción

BRAY_CONFIG

Ruta al archivo de configuración

BUNKER_URI

URL del bunker NIP-46 (más seguro)

BUNKER_URI_FILE

Ruta al archivo de URI del bunker

NOSTR_SECRET_KEY

nsec, hex o mnemónico BIP-39

NOSTR_SECRET_KEY_FILE

Ruta al archivo de clave secreta

NOSTR_NCRYPTSEC

Clave cifrada NIP-49

NOSTR_NCRYPTSEC_PASSWORD

Contraseña para ncryptsec

NOSTR_RELAYS

URLs de relays separadas por comas

TOR_PROXY

Proxy SOCKS5h para Tor

NIP04_ENABLED

Establecer 1 para habilitar mensajes directos NIP-04 heredados

TRANSPORT

stdio (predeterminado) o http

PORT

Puerto HTTP (predeterminado 3000)

Todas las variables de entorno secretas se eliminan de process.env inmediatamente después de ser analizadas.

CLI

npx nostr-bray whoami                    # show your npub
npx nostr-bray post "hello from bray!"   # publish a note
npx nostr-bray persona work              # derive a work persona
npx nostr-bray prove blind               # create a linkage proof
npx nostr-bray --help                    # see all commands

Documentación

  • Guía de uso -- tutoriales para identidad, mensajes directos, atestaciones, pagos y coacción

  • Ejemplos -- archivos de configuración MCP y scripts de flujo de trabajo CLI

  • Contribución -- configuración, arquitectura, pruebas y convenciones

Para asistentes de IA

Consulta llms.txt para un resumen conciso optimizado para ventanas de contexto de IA, o llms-full.txt para la documentación completa de herramientas con detalles de parámetros.

Parte del kit de herramientas ForgeSworn

ForgeSworn construye herramientas de identidad criptográfica, pagos y coordinación de código abierto para Nostr.

Biblioteca

Qué hace

nsec-tree

Derivación determinista de sub-identidad

ring-sig

Firmas de anillo SAG/LSAG en secp256k1

range-proof

Pruebas de rango de compromiso de Pedersen

canary-kit

Verificación hablada resistente a la coacción

spoken-token

Tokens de verificación pronunciables por humanos

toll-booth

Middleware de pago L402

geohash-kit

Kit de herramientas Geohash con cobertura de polígonos

nostr-attestations

Atestaciones verificables NIP-VA

dominion

Control de acceso cifrado basado en épocas

nostr-veil

Web de confianza que preserva la privacidad

Licencia

MIT

-
security - not tested
A
license - permissive license
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

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/forgesworn/bray'

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