nostr-bray
nostr-bray
MCP-сервер Nostr с поддержкой доверия для ИИ и людей. 235 инструментов в 27 группах. Не зависит от модели. Работает с Claude, ChatGPT, Gemini, Cursor, Windsurf или любым другим MCP-клиентом.
Быстрый старт
Установите глобально или запустите через npx:
npm install -g nostr-brayДобавьте в конфигурацию вашего MCP-клиента:
{
"mcpServers": {
"nostr": {
"command": "npx",
"args": ["nostr-bray"],
"env": {
"NOSTR_SECRET_KEY": "nsec1...",
"NOSTR_RELAYS": "wss://relay.damus.io,wss://nos.lol"
}
}
}
}Затем попросите ваш ИИ выполнить whoami, чтобы убедиться, что всё работает.
Для промышленного использования лучше использовать Heartwood или любой NIP-46 bunker (ваш ключ никогда не покидает устройство подписи):
{
"mcpServers": {
"nostr": {
"command": "npx",
"args": ["nostr-bray"],
"env": {
"BUNKER_URI": "bunker://...",
"NOSTR_RELAYS": "wss://relay.damus.io,wss://nos.lol"
}
}
}
}Уровни аутентификации (от лучшего к худшему)
Уровень | Метод | Уязвимость ключа |
Heartwood | Выделенное устройство подписи ( | Ключ никогда не покидает устройство подписи. Поддерживает деривацию nsec-tree, разрешения для каждого клиента и аттестации на уровне устройства. |
Software bunker | Любой NIP-46 bunker ( | Ключ хранится в отдельном процессе. bray его не видит. |
ncryptsec | Зашифрованный ключ NIP-49 ( | Ключ зашифрован в покое, расшифровывается в памяти при запуске. |
Key file | Путь к файлу ( | Ключ на диске, считывается один раз, переменная окружения удаляется. |
Env var | Встроенный секрет ( | Ключ виден в окружении процесса. Используйте только для разработки. |
Группы инструментов
Группа | Инструменты | Ключевые примеры |
Identity | 16 |
|
Social | 15 |
|
Direct Messages | 4 |
|
Trust | 22 |
|
Dispatch | 13 |
|
Relay | 13 |
|
Moderation | 16 |
|
Marketplace | 16 |
|
Safety | 14 |
|
Blossom | 10 |
|
Privacy | 10 |
|
Zap | 9 |
|
Vault | 9 |
|
Workflow | 7 |
|
Signet | 7 |
|
Communities | 5 |
|
Badges | 4 |
|
Groups (NIP-29) | 4 |
|
Articles | 3 |
|
Calendar | 3 |
|
Wiki | 3 |
|
Search | 3 |
|
Scheduling | 4 |
|
Community NIPs | 2 |
|
Utility | 19 |
|
Handler | 2 |
|
Catalog | 2 |
|
Используйте search-actions для поиска инструментов по ключевым словам, затем execute-action для их запуска.
Dispatch: Сотрудничество ИИ с ИИ
Dispatch позволяет ИИ-агентам сотрудничать через зашифрованные личные сообщения Nostr. Любой MCP-совместимый клиент может отправлять структурированные задачи другим агентам и получать результаты обратно.
13 типов сообщений: send, check, reply, ack, status, cancel, refuse, failure, query, propose, capability-publish, capability-discover, capability-read.
Обнаружение возможностей NIP-89: Агенты публикуют свои возможности. Другие агенты обнаруживают их по темам и автоматически направляют задачи нужному исполнителю.
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Все сообщения зашифрованы по NIP-44. Получатели определяются по имени, NIP-05, npub или hex-ключу.
Резолвер идентификаторов
Каждый инструмент, принимающий получателя, использует универсальное разрешение идентификаторов. Вам никогда не нужно искать hex-публичные ключи вручную.
Поддерживаемые форматы:
Имя --
"alice"(разрешается из ваших контактов Dispatch)NIP-05 --
"alice@example.com"(HTTP-поиск)npub --
"npub1abc..."(декодирование NIP-19)Hex --
"a1b2c3..."(64-символьный ключ)
Отложенная публикация
Подписывайте события сейчас, публикуйте позже. События подписываются немедленно вашим текущим ключом, а затем удерживаются в очереди до запланированного времени.
post-schedule("Good morning!", "2026-04-01T08:00:00Z")
post-queue-list() → view pending scheduled posts
post-queue-cancel(id) → cancel before it publishesПоддержка NIP
nostr-bray реализует или интегрирует следующие NIP:
NIP | Что это |
NIP-01 | События, подпись, протокол реле |
NIP-02 | Списки подписок |
NIP-05 | DNS-идентификация (поиск, проверка, подсказки реле) |
NIP-09 | Удаление событий |
NIP-11 | Информация о реле |
NIP-17 | Личные сообщения (gift wrap, по умолчанию) |
NIP-19 | Кодирование bech32 (npub, nsec, nprofile, nevent, naddr) |
NIP-23 | Длинные статьи (kind 30023) |
NIP-29 | Групповые чаты |
NIP-32 | Метки |
NIP-40 | Теги истечения срока |
NIP-42 | Аутентификация на реле |
NIP-44 | Зашифрованные полезные нагрузки v2 |
NIP-45 | Подсчет событий |
NIP-46 | Nostr Connect (bunker) |
NIP-49 | Шифрование приватных ключей (ncryptsec) |
NIP-50 | Поиск |
NIP-51 | Списки (игнорирование, закрепление, наборы подписок, закладки) |
NIP-52 | Календарные события |
NIP-54 | Вики-страницы |
NIP-57 | Lightning zaps |
NIP-58 | Значки |
NIP-65 | Метаданные списка реле |
NIP-72 | Сообщества |
NIP-78 | Данные конкретных приложений |
NIP-85 | Рейтинги доверия |
NIP-89 | Рекомендуемые приложения (обнаружение возможностей dispatch) |
NIP-96 | HTTP-хранилище файлов (Blossom) |
NIP-99 | Классифицированные объявления |
NIP-A7 | Заклинания (kind 777 — выполнение сохраненных запросов) |
NIP-VA | Проверяемые аттестации (kind 31000) |
Конфигурация
Файл конфигурации (рекомендуется)
Создайте ~/.config/bray/config.json (или ~/.nostr/bray.json):
{
"bunkerUriFile": "/Users/you/.nostr/bunker-uri",
"relays": ["wss://relay.damus.io", "wss://nos.lol"],
"trustMode": "annotate"
}Секреты указываются через путь к файлу (bunkerUriFile, secretKeyFile, nwcUriFile), поэтому они никогда не появляются в самой конфигурации.
Порядок поиска: переменная окружения BRAY_CONFIG > $XDG_CONFIG_HOME/bray/config.json > ~/.nostr/bray.json.
Переменные окружения
Переменная | Описание |
| Путь к файлу конфигурации |
| URL NIP-46 bunker (самый безопасный) |
| Путь к файлу с URI bunker |
| nsec, hex или мнемоника BIP-39 |
| Путь к файлу секретного ключа |
| Зашифрованный ключ NIP-49 |
| Пароль для ncryptsec |
| URL реле через запятую |
| SOCKS5h прокси для Tor |
| Установите |
|
|
| Порт HTTP (по умолчанию 3000) |
Все секретные переменные окружения удаляются из process.env сразу после парсинга.
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Документация
Руководство пользователя -- пошаговые инструкции по идентификации, личным сообщениям, аттестациям, платежам и сигналам тревоги
Примеры -- файлы конфигурации MCP и скрипты рабочих процессов CLI
Участие в разработке -- настройка, архитектура, тестирование и соглашения
Для ИИ-ассистентов
См. llms.txt для краткого резюме, оптимизированного для контекстных окон ИИ, или llms-full.txt для полной документации инструментов с параметрами.
Часть набора инструментов ForgeSworn
ForgeSworn создает инструменты с открытым исходным кодом для криптографической идентификации, платежей и координации в Nostr.
Библиотека | Что делает |
Детерминированная деривация субидентификаторов | |
Кольцевые подписи SAG/LSAG на secp256k1 | |
Доказательства диапазона обязательств Педерсена | |
Голосовая проверка, устойчивая к принуждению | |
Человекочитаемые токены проверки | |
Платежное промежуточное ПО L402 | |
Инструментарий Geohash с покрытием полигонов | |
Проверяемые аттестации NIP-VA | |
Контроль доступа на основе эпох | |
Сеть доверия с сохранением конфиденциальности |
Лицензия
MIT
This server cannot be installed
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