nostr-mcp
nostr-mcp
Сервер Model Context Protocol только для чтения, предназначенный для безопасного изучения Nostr. Он предоставляет агентам семантические инструменты для разрешения идентификаторов Nostr, чтения профилей и событий, запроса заметок и проверки метаданных ретрансляторов.
Эта первая версия намеренно не принимает приватные ключи и не публикует события. Подпись будет добавлена через удалённый подписант, такой как NIP-46, с явными границами одобрения пользователем.
Инструменты
Инструмент | Назначение |
| Декодирует идентификаторы hex, |
| Получает самый новый допустимый профиль типа |
| Получает одно событие по hex ID, |
| Запрашивает проверенные заметки типа |
| Получает и нормализует информационный документ NIP-11 ретранслятора |
Каждое возвращаемое событие включает ретрансляторы, которые его предоставили. Недействительные подписи отбрасываются, дублирующиеся события объединяются, а частичные сбои ретрансляторов сообщаются, а не скрываются.
Требования
Node.js 20.19 или новее
MCP-хост, поддерживающий stdio-серверы
Установка для Codex
Установите и зарегистрируйте сервер одной командой:
npx -y @diegoyegros/nostr-mcp installПроверьте регистрацию:
npx -y @diegoyegros/nostr-mcp doctor
codex mcp listУстановщик сохраняет эту stdio-команду в Codex:
npx -y @diegoyegros/nostr-mcp@latestУдалите регистрацию с помощью:
npx -y @diegoyegros/nostr-mcp uninstallУстановка в качестве плагина Codex
Репозиторий также является маркетплейсом плагинов Codex, содержащим MCP-сервер и встроенный навык Nostr:
codex plugin marketplace add DiegoYegros/nostr-mcp --ref masterОткройте Codex, выполните /plugins, выберите Nostr Plugins и установите Nostr MCP. Плагин доступен только для чтения и добавляет рекомендации по разрешению идентификаторов, запросу публичных заметок, проверке событий и отчёту о происхождении ретрансляторов.
Прямой установщик MCP и установка плагина являются альтернативами. Установка плагина уже предоставляет его встроенный MCP-сервер.
Запуск с любым MCP-клиентом
После публикации npm-пакета любой stdio-совместимый MCP-хост может запустить его с помощью:
npx -y @diegoyegros/nostr-mcp@latestПример конфигурации MCP-клиента:
{
"mcpServers": {
"nostr": {
"command": "npx",
"args": ["-y", "@diegoyegros/nostr-mcp@latest"],
"env": {
"NOSTR_RELAYS": "wss://relay.damus.io,wss://nos.lol"
}
}
}
}Запуск из исходного кода
npm install
npm run build
node dist/index.jsЗарегистрируйте локальную копию исходного кода в Codex:
codex mcp add nostr -- "$(command -v node)" "$PWD/dist/index.js"Конфигурация
Переменная | По умолчанию | Значение |
|
| URL-адреса ретрансляторов по умолчанию через запятую |
|
| Таймаут на запрос, ограничен 500-30000 мс |
|
| Максимальное количество ретрансляторов на вызов инструмента, ограничено 1-20 |
По умолчанию принимаются только публичные wss:// URL-адреса ретрансляторов. URL-адреса, содержащие учётные данные, фрагменты, адреса loopback или IP-адреса частных сетей, отклоняются.
Когда вызов инструмента предоставляет relay_urls, запрашиваются только эти ретрансляторы. В противном случае сначала пробуются безопасные подсказки ретрансляторов из идентификаторов NIP-19, а затем настроенные по умолчанию.
Разработка
npm run checkПроверки включают проверку типов, 54 модульных и интеграционных теста, современный смоук-тест согласования MCP stdio, CLI установщика, согласованность метаданных плагина и содержимое npm-пакета. Тесты ретрансляторов используют фиктивные ретрансляторы и подписанные фикстуры, поэтому они детерминированы и не зависят от доступности публичных ретрансляторов.
Предварительный просмотр npm-артефакта без публикации:
npm pack --dry-runПубликация
Имя npm — @diegoyegros/nostr-mcp. Первый ручной выпуск можно опубликовать с помощью:
npm login
npm publish --access publicВключённый хук prepublishOnly запускает полный набор проверок перед публикацией. Последующие выпуски можно автоматизировать, создав релиз на GitHub после настройки секрета NPM_TOKEN в репозитории. Рабочий процесс выпуска публикует пакет с проверкой происхождения npm.
Модель безопасности
Аннотации инструментов MCP только для чтения
Нет ввода
nsecили сырых приватных ключейПроверка подписи до того, как события попадут к агенту
Строгая проверка URL-адресов ретрансляторов для снижения риска SSRF
Ограниченное количество ретрансляторов, размеров результатов и таймаутов
Происхождение ретрансляторов и ошибки по каждому ретранслятору в результатах запросов
См. SECURITY.md для получения информации о сообщении об уязвимостях и границах доверия.
Лицензия
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