Skip to main content
Glama

nostr-mcp

Ein schreibgeschützter Model Context Protocol-Server zum sicheren Erkunden von Nostr. Er bietet Agenten semantische Tools zum Auflösen von Nostr-Bezeichnern, zum Lesen von Profilen und Ereignissen, zum Abfragen von Notizen und zum Untersuchen von Relay-Metadaten.

Diese erste Version akzeptiert bewusst keine privaten Schlüssel und veröffentlicht keine Ereignisse. Die Signierung wird über einen entfernten Signierer wie NIP-46 ergänzt, wobei explizite Grenzen für die Benutzerfreigabe gelten.

Tools

Tool

Zweck

nostr_resolve_identity

Dekodiert Hex-, npub-, nprofile-, note-, nevent- und naddr-Bezeichner

nostr_get_profile

Ruft das neueste gültige Profil vom Typ 0 für einen Pubkey ab

nostr_get_event

Ruft ein einzelnes Ereignis anhand der Hex-ID, note oder nevent ab

nostr_query_notes

Fragt verifizierte Notizen vom Typ 1 mit begrenzten Filtern ab

nostr_inspect_relay

Ruft das NIP-11-Informationsdokument eines Relays ab und normalisiert es

Jedes zurückgegebene Ereignis enthält die Relays, die es geliefert haben. Ungültige Signaturen werden verworfen, doppelte Ereignisse werden zusammengeführt, und teilweise Relay-Fehler werden gemeldet statt versteckt.

Voraussetzungen

  • Node.js 20.19 oder neuer

  • Ein MCP-Host, der stdio-Server unterstützt

Installation für Codex

Installieren und registrieren Sie den Server mit einem Befehl:

npx -y @diegoyegros/nostr-mcp install

Überprüfen Sie die Registrierung:

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

Der Installer speichert diesen stdio-Befehl in Codex:

npx -y @diegoyegros/nostr-mcp@latest

Entfernen Sie die Registrierung mit:

npx -y @diegoyegros/nostr-mcp uninstall

Als Codex-Plugin installieren

Das Repository ist außerdem ein Codex-Plugin-Marketplace, der den MCP-Server und einen gebündelten Nostr-Skill enthält:

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

Öffnen Sie Codex, führen Sie /plugins aus, wählen Sie Nostr Plugins und installieren Sie Nostr MCP. Das Plugin ist schreibgeschützt und bietet Anleitungen zum Auflösen von Bezeichnern, zum Abfragen öffentlicher Notizen, zum Untersuchen von Ereignissen und zum Melden der Relay-Herkunft.

Der direkte MCP-Installer und die Plugin-Installation sind Alternativen. Die Installation des Plugins stellt bereits den gebündelten MCP-Server bereit.

Mit einem beliebigen MCP-Client ausführen

Sobald das npm-Paket veröffentlicht ist, kann jeder stdio-kompatible MCP-Host den Server mit folgendem Befehl starten:

npx -y @diegoyegros/nostr-mcp@latest

Beispielkonfiguration für einen MCP-Client:

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

Aus dem Quellcode ausführen

npm install
npm run build
node dist/index.js

Registrieren Sie einen Quellcode-Checkout mit Codex:

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

Konfiguration

Variable

Standard

Bedeutung

NOSTR_RELAYS

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

Kommagetrennte Standard-Relay-URLs

NOSTR_QUERY_TIMEOUT_MS

5000

Timeout pro Abfrage, begrenzt auf 500-30000 ms

NOSTR_MAX_RELAYS

8

Maximale Anzahl von Relays pro Tool-Aufruf, begrenzt auf 1-20

Standardmäßig werden nur öffentliche wss://-Relay-URLs akzeptiert. URLs mit Anmeldeinformationen, Fragmenten, Loopback-Hosts oder IP-Adressen aus privaten Netzwerken werden abgelehnt.

Wenn ein Tool-Aufruf relay_urls liefert, werden nur diese Relays abgefragt. Andernfalls werden zuerst sichere Relay-Hinweise aus NIP-19-Bezeichnern ausprobiert, bevor die konfigurierten Standardwerte verwendet werden.

Entwicklung

npm run check

Die Prüfungen umfassen Typprüfung, 54 Einheiten- und Integrationstests, einen modernen MCP-stdio-Aushandlungs-Smoke-Test, die Installer-CLI, Konsistenz der Plugin-Metadaten sowie den Inhalt des npm-Pakets. Relay-Tests verwenden simulierte Relays und signierte Fixtures, sodass sie deterministisch sind und nicht von der Verfügbarkeit öffentlicher Relays abhängen.

npm-Artefakt ohne Veröffentlichung anzeigen:

npm pack --dry-run

Veröffentlichung

Der npm-Name lautet @diegoyegros/nostr-mcp. Eine manuelle erste Version kann mit folgendem Befehl veröffentlicht werden:

npm login
npm publish --access public

Der enthaltene prepublishOnly-Hook führt vor der Veröffentlichung die vollständige Verifizierungssuite aus. Spätere Releases können automatisiert werden, indem nach dem Konfigurieren des NPM_TOKEN-Geheimnisses des Repositorys ein GitHub-Release erstellt wird. Der Release-Workflow veröffentlicht das Paket mit npm-Provenienz.

Sicherheitsmodell

  • Schreibgeschützte MCP-Tool-Annotationen

  • Keine nsec- oder rohen Private-Key-Eingaben

  • Signaturprüfung, bevor Ereignisse den Agenten erreichen

  • Strenge Validierung der Relay-URLs zur Verringerung des SSRF-Risikos

  • Begrenzte Anzahl von Relays, Ergebnisgrößen und Timeouts

  • Relay-Herkunft und Fehler pro Relay in Abfrageergebnissen

Siehe SECURITY.md für Details zur Meldung und zu Vertrauensgrenzen.

Lizenz

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