nostr-mcp
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 |
| Dekodiert Hex-, |
| Ruft das neueste gültige Profil vom Typ |
| Ruft ein einzelnes Ereignis anhand der Hex-ID, |
| Fragt verifizierte Notizen vom Typ |
| 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 listDer Installer speichert diesen stdio-Befehl in Codex:
npx -y @diegoyegros/nostr-mcp@latestEntfernen Sie die Registrierung mit:
npx -y @diegoyegros/nostr-mcp uninstallAls 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@latestBeispielkonfiguration 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.jsRegistrieren Sie einen Quellcode-Checkout mit Codex:
codex mcp add nostr -- "$(command -v node)" "$PWD/dist/index.js"Konfiguration
Variable | Standard | Bedeutung |
|
| Kommagetrennte Standard-Relay-URLs |
|
| Timeout pro Abfrage, begrenzt auf 500-30000 ms |
|
| 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 checkDie 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-runVeröffentlichung
Der npm-Name lautet @diegoyegros/nostr-mcp. Eine manuelle erste Version kann mit folgendem Befehl veröffentlicht werden:
npm login
npm publish --access publicDer 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-EingabenSignaturprü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
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