Skip to main content
Glama

nostr-mcp

Сервер Model Context Protocol только для чтения, предназначенный для безопасного изучения Nostr. Он предоставляет агентам семантические инструменты для разрешения идентификаторов Nostr, чтения профилей и событий, запроса заметок и проверки метаданных ретрансляторов.

Эта первая версия намеренно не принимает приватные ключи и не публикует события. Подпись будет добавлена через удалённый подписант, такой как NIP-46, с явными границами одобрения пользователем.

Инструменты

Инструмент

Назначение

nostr_resolve_identity

Декодирует идентификаторы hex, npub, nprofile, note, nevent и naddr

nostr_get_profile

Получает самый новый допустимый профиль типа 0 для pubkey

nostr_get_event

Получает одно событие по hex ID, note или nevent

nostr_query_notes

Запрашивает проверенные заметки типа 1 с ограниченными фильтрами

nostr_inspect_relay

Получает и нормализует информационный документ 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"

Конфигурация

Переменная

По умолчанию

Значение

NOSTR_RELAYS

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

URL-адреса ретрансляторов по умолчанию через запятую

NOSTR_QUERY_TIMEOUT_MS

5000

Таймаут на запрос, ограничен 500-30000 мс

NOSTR_MAX_RELAYS

8

Максимальное количество ретрансляторов на вызов инструмента, ограничено 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

-
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