Skip to main content
Glama
forgesworn

nostr-bray

by forgesworn

nostr-bray

AIと人間のための、信頼性を考慮したNostr MCP。 27グループ、235個のツール。モデル非依存。Claude、ChatGPT、Gemini、Cursor、Windsurf、またはあらゆるMCPクライアントで動作します。

npm CI licence TypeScript

クイックスタート

グローバルにインストールするか、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"
      }
    }
  }
}

その後、AIに whoami を呼び出すよう指示して動作を確認してください。

本番環境では、Heartwood または任意のNIP-46バンカーの使用を推奨します(秘密鍵は署名デバイスから決して離れません):

{
  "mcpServers": {
    "nostr": {
      "command": "npx",
      "args": ["nostr-bray"],
      "env": {
        "BUNKER_URI": "bunker://...",
        "NOSTR_RELAYS": "wss://relay.damus.io,wss://nos.lol"
      }
    }
  }
}

認証ティア(安全性の高い順)

ティア

方法

鍵の露出

Heartwood

専用署名アプライアンス (BUNKER_URI)

鍵は署名デバイスから決して離れません。nsecツリー派生、クライアントごとの権限設定、デバイスベースの証明をサポート。

ソフトウェアバンカー

任意のNIP-46バンカー (BUNKER_URI)

鍵は別のプロセスで保持されます。brayからは見えません。

ncryptsec

NIP-49暗号化鍵 (NOSTR_NCRYPTSEC)

鍵は保存時に暗号化され、起動時にメモリ内で復号されます。

鍵ファイル

ファイルパス (NOSTR_SECRET_KEY_FILE)

鍵はディスク上にあり、一度読み込まれた後、環境変数は削除されます。

環境変数

インラインシークレット (NOSTR_SECRET_KEY)

鍵がプロセス環境で見えます。開発目的でのみ使用してください。

ツールグループ

グループ

ツール数

主な例

Identity

16

whoami, identity-derive-persona, identity-switch, identity-prove, nip05-lookup

Social

15

social-post, social-reply, social-feed, contacts-follow, social-notifications

Direct Messages

4

dm-send, dm-read, dm-conversation

Trust

22

trust-attest, trust-ring-prove, trust-spoken-challenge, trust-attest-chain

Dispatch

13

dispatch-send, dispatch-check, dispatch-reply, dispatch-capability-discover

Relay

13

relay-query, relay-set, relay-discover, cast-spell, relay-health

Moderation

16

label-create, list-mute, list-bookmark, list-followset-create, moderation-filter

Marketplace

16

marketplace-discover, marketplace-call, listing-create, listing-search

Safety

14

canary-session-create, canary-group-create, canary-duress-signal, safety-activate

Blossom

10

blossom-upload, blossom-mirror, blossom-verify, blossom-repair

Privacy

10

privacy-commit, privacy-prove-range, privacy-prove-age, privacy-publish-proof

Zap

9

zap-send, zap-balance, zap-make-invoice, zap-decode

Vault

9

vault-create, vault-encrypt, vault-share, vault-rotate

Workflow

7

trust-score, verify-person, identity-setup, relay-health, feed-discover

Signet

7

signet-badge, signet-vouch, signet-credentials, signet-challenge

Communities

5

community-create, community-feed, community-post, community-approve

Badges

4

badge-create, badge-award, badge-accept, badge-list

Groups (NIP-29)

4

group-info, group-chat, group-send, group-members

Articles

3

article-publish, article-read, article-list

Calendar

3

calendar-create, calendar-read, calendar-rsvp

Wiki

3

wiki-publish, wiki-read, wiki-list

Search

3

search-notes, search-profiles, hashtag-feed

Scheduling

4

post-schedule, post-queue-list, post-queue-cancel, publish-event

Community NIPs

2

nip-publish, nip-read

Utility

19

decode, encode-npub, nip44-encrypt, verify-event, tombstone

Handler

2

handler-publish, handler-discover

Catalog

2

search-actions, execute-action

search-actions でキーワードからツールを探し、execute-action で実行します。

Dispatch: AI間コラボレーション

Dispatchを使用すると、AIエージェントが暗号化されたNostr DMを通じて協力できます。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、または16進数で解決されます。

アイデンティティ解決

受信者を受け入れるすべてのツールは、ユニバーサルなアイデンティティ解決を使用します。16進数の公開鍵を手動で検索する必要はありません。

対応フォーマット:

  • 名前 -- "alice" (ディスパッチ連絡先から解決)

  • NIP-05 -- "alice@example.com" (HTTPルックアップ)

  • npub -- "npub1abc..." (NIP-19デコード)

  • 16進数 -- "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

プライベートDM (ギフトラップ、デフォルト)

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 (バンカー)

NIP-49

秘密鍵暗号化 (ncryptsec)

NIP-50

検索

NIP-51

リスト (ミュート、ピン、フォローセット、ブックマーク)

NIP-52

カレンダーイベント

NIP-54

Wikiページ

NIP-57

Lightning Zap

NIP-58

バッジ

NIP-65

リレーリストメタデータ

NIP-72

コミュニティ

NIP-78

アプリケーション固有データ

NIP-85

信頼ランキング

NIP-89

推奨アプリケーション (ディスパッチ機能発見)

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

環境変数

変数

説明

BRAY_CONFIG

設定ファイルへのパス

BUNKER_URI

NIP-46バンカーURL (最も安全)

BUNKER_URI_FILE

バンカーURIファイルへのパス

NOSTR_SECRET_KEY

nsec, 16進数, またはBIP-39ニーモニック

NOSTR_SECRET_KEY_FILE

秘密鍵ファイルへのパス

NOSTR_NCRYPTSEC

NIP-49暗号化鍵

NOSTR_NCRYPTSEC_PASSWORD

ncryptsec用パスワード

NOSTR_RELAYS

カンマ区切りのリレーURL

TOR_PROXY

Tor用SOCKS5hプロキシ

NIP04_ENABLED

レガシーNIP-04 DMを有効にするには 1 を設定

TRANSPORT

stdio (デフォルト) または http

PORT

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

ドキュメント

  • 使用ガイド -- アイデンティティ、DM、証明、決済、脅迫対策のチュートリアル

  • -- MCP設定ファイルとCLIワークフロースクリプト

  • 貢献 -- セットアップ、アーキテクチャ、テスト、規約

AIアシスタント向け

AIコンテキストウィンドウに最適化された簡潔な要約については llms.txt を、パラメータの詳細を含む完全なツールドキュメントについては llms-full.txt を参照してください。

ForgeSwornツールキットの一部

ForgeSworn は、Nostr向けのオープンソースの暗号学的アイデンティティ、決済、調整ツールを構築しています。

ライブラリ

機能

nsec-tree

決定論的サブアイデンティティ派生

ring-sig

secp256k1上のSAG/LSAGリング署名

range-proof

Pedersenコミットメント範囲証明

canary-kit

強制耐性のある音声検証

spoken-token

人間が発音可能な検証トークン

toll-booth

L402決済ミドルウェア

geohash-kit

ポリゴンカバレッジ付きジオハッシュツールキット

nostr-attestations

NIP-VA検証可能証明

dominion

エポックベースの暗号化アクセス制御

nostr-veil

プライバシー保護Web of Trust

ライセンス

MIT

-
security - not tested
A
license - permissive license
-
quality - not tested

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