bray について
bray は、AI エージェントや人向けの Nostr MCP サーバー、CLI、TypeScript SDK です。ソーシャル、メッセージ、ID、信頼、ウォレット、公開機能を備え、エージェント間の暗号化タスク送信にも対応します。
主な機能
- 01Nostr の ID とソーシャル機能
- 02暗号化ダイレクトメッセージ
- 03信頼情報と ID の検証
- 04記事、グループ、カレンダーの管理
- 05エージェント間のタスク送信
- 06CLI と TypeScript SDK
活用シーン
- 01Nostr の投稿やメッセージを管理する
- 02ID と信頼情報を確認する
- 03他のエージェントに暗号化タスクを送る
- 04記事を公開したりコミュニティを管理したりする
MCP 対応
bray は、直接呼び出せるツールと検索可能なアクションカタログを通じて、MCP クライアントに Nostr 操作を提供します。既定では stdio で MCP サーバーとして起動し、HTTP トランスポートにも対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y nostr-brayNOSTR_SECRET_KEYシークレットNostr secret key (nsec, hex, or BIP-39 mnemonic)NOSTR_RELAYSComma-separated list of Nostr relay WebSocket URLsNWC_URIシークレットNostr Wallet Connect URI for Lightning zapsローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
nostr-bray
AI と人間のための、信頼性を考慮した Nostr MCP サーバー、CLI、TypeScript SDK です。 29 グループにわたる 261 個のツールを備えています。モデルに依存しません。Claude、ChatGPT、Gemini、Cursor、Windsurf、または任意の MCP クライアントで動作します。
クイックスタート
Node.js 24 以降が必要です。
グローバルにインストールするか、npx で実行します。
npm install -g nostr-bray
Nostr を初めて使う場合は、まず鍵を作成してください。設定前でも実行でき、 npub と 24 単語のニーモニックが表示されます(書き留めてください。これが鍵です)。
npx nostr-bray create
MCP クライアントの設定に追加します。
{
"mcpServers": {
"nostr": {
"command": "npx",
"args": ["nostr-bray"],
"env": {
"NOSTR_SECRET_KEY": "nsec1...",
"NOSTR_RELAYS": "wss://relay.damus.io,wss://nos.lol"
}
}
}
}
引数なしで npx nostr-bray を実行すると MCP サーバーが起動します(デフォルトは stdio、TRANSPORT=http の場合は HTTP)。サブコマンドで CLI を実行します。
次に、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-tree の導出、クライアントごとの権限設定、デバイスを利用した証明に対応しています。 |
| ソフトウェアバンカー | 任意の NIP-46 バンカー(BUNKER_URI) | 鍵は別のプロセスで保持されます。bray が鍵を参照することはありません。 |
| ncryptsec | NIP-49 暗号化鍵(NOSTR_NCRYPTSEC) | 鍵は保存時に暗号化され、起動時にメモリ上で復号されます。 |
| 鍵ファイル | ファイルパス(NOSTR_SECRET_KEY_FILE) | 鍵はディスク上に保存され、1 回だけ読み込まれた後、環境変数が削除されます。 |
| 環境変数 | インラインシークレット(NOSTR_SECRET_KEY) | 鍵がプロセス環境から見える状態になります。開発時のみ使用してください。 |
プロモートされたツール
登録済みの 261 個のツールのうち、50 個がプロモートされ、MCP ツールリストから直接呼び出せます。それ以外のツールもすべてカタログに登録されているため、search-actions で検索し、execute-action で実行できます(どちらも常に利用可能です)。支払いを伴うツールはプロモートされていません。
- アイデンティティとソーシャル:
whoami、identity-switch、social-post、social-reply、social-feed、social-profile-get、dm-send、dm-read、dm-conversation - ウォレット、リレー、信頼:
zap-balance、relay-query、signet-badge、trust-score、verify-person、vault-read - 公開:
article-publish、article-read、article-list、search-notes、search-profiles、hashtag-feed - バッジ、コミュニティ、カレンダー:
badge-create、badge-award、badge-accept、badge-list、community-create、community-feed、community-post、community-approve、community-list、calendar-create、calendar-read、calendar-rsvp - 出品:
listing-create、listing-read、listing-search、listing-close - ディスパッチ(13 個):
dispatch-send、dispatch-check、dispatch-reply、dispatch-ack、dispatch-status、dispatch-cancel、dispatch-refuse、dispatch-failure、dispatch-query、dispatch-propose、dispatch-capability-publish、dispatch-capability-discover、dispatch-capability-read
ディスパッチツールは、DISPATCH_IDENTITIES がアイデンティティファイルを指している場合にのみ登録されます。指定がない場合、プロモートされるツールは 37 個です。
ツールグループ
| グループ | ツール数 | 主な例 |
|---|---|---|
| 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 |
| Wallet service | 5 | wallet-grant, wallet-grants, wallet-revoke, wallet-refill, wallet-serve |
| 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) | 20 | group-inspect, group-invite-create, group-forum-comment, group-delete |
| 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 | 23 | decode, validate-event, verify-event, gift-wrap, gift-unwrap, kind-info, nip44-encrypt, tombstone |
| Sync (NIP-77) | 1 | sync-plan(pull/push は CLI と SDK の明示的な操作です) |
| Handler | 2 | handler-publish, handler-discover |
| Catalog | 2 | search-actions, execute-action |
search-actionsでキーワードからツールを検索し、execute-actionで実行します。
プロトコルの基礎については、セマンティックイベントの検証、 NIP-77 の照合、リレー単位の NIP-29 グループをご覧ください。
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、または hex で解決されます。
Identity Resolver
受信者を指定するすべてのツールでは、汎用的なアイデンティティ解決が使われます。16 進数の公開鍵を手動で調べる必要はありません。
使用できる形式:
- Name --
"alice"(ディスパッチ連絡先から解決) - NIP-05 --
"[email protected]"(HTTP ルックアップ) - npub --
"npub1abc..."(NIP-19 デコード) - Hex --
"a1b2c3..."(64 文字をそのまま使用)
Scheduled Posting
イベントに署名してから、後で公開できます。イベントには現在の鍵で直ちに署名し、予約時刻までキューに保持します。
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 Coverage
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-22 | グループフォーラム向けのスキーマに準拠したコメント |
| NIP-29 | リレー単位のグループ、チャット、フォーラム、招待、管理 |
| NIP-32 | ラベル |
| NIP-40 | 有効期限タグ |
| NIP-42 | リレー認証 |
| NIP-44 | 暗号化ペイロード v2 |
| NIP-45 | イベント数 |
| NIP-46 | Nostr Connect(バンカー) |
| NIP-47 | Nostr Wallet Connect:BOLT-11 請求書の支払い、残高や請求書の確認、および 1 つのウォレットを介した支出範囲を限定した接続。NIP-44 v2 のみ |
| NIP-49 | 秘密鍵の暗号化(ncryptsec) |
| NIP-50 | 検索 |
| NIP-51 | リスト(ミュート、ピン留め、フォローセット、ブックマーク) |
| NIP-52 | カレンダーイベント |
| NIP-54 | Wiki ページ |
| NIP-57 | Zap レシート(kind 9735)の読み取りに対応しています。bray は NIP-47 経由で BOLT-11 請求書を支払いますが、kind 9734 の Zap リクエストを作成したり、LNURL を解決したりはしないため、単独でプロフィールやノートに Zap を送ることはまだできません |
| NIP-58 | バッジ |
| NIP-65 | リレーリストのメタデータ |
| NIP-72 | コミュニティ |
| NIP-77 | 正確な REQ フォールバックを備えた Negentropy ID 照合 |
| NIP-78 | アプリケーション固有データ |
| NIP-85 | 信頼度ランキング |
| NIP-89 | 推奨アプリケーション(ディスパッチ機能の検出) |
| NIP-96 | HTTP ファイルストレージ(Blossom) |
| NIP-99 | 分類済みリスティング |
| NIP-A7 | Spell(kind 777 — 保存したクエリを実行) |
| NIP-VA | 検証可能な証明(kind 31000) |
Configuration
Config file (recommended)
~/.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)で指定するため、設定ファイル自体に記載されることはありません。
trustMode は、strict(信頼されていない公開鍵のコンテンツを非表示)、annotate(信頼度スコアを表示)、off(フィルタリングなし)のいずれかです。デフォルトは annotate です。認識されない値が指定された場合も、annotate にフォールバックします。環境変数 TRUST_MODE は設定ファイルより優先されます。
検索順序: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、hex、または BIP-39 ニーモニック |
NOSTR_SECRET_KEY_FILE | 秘密鍵ファイルへのパス |
NOSTR_NCRYPTSEC | NIP-49 暗号化キー |
NOSTR_NCRYPTSEC_PASSWORD | ncryptsec のパスワード |
NWC_URI_FILE | NWC ベアラー URI を含む、プライベートな 0600 ファイルへのパス |
BRAY_MAX_PAYMENT_MSAT | bray が1回の支払いに設定する上限(msat、デフォルトは 5000000、5,000 sats) |
BRAY_MAX_DAILY_MSAT | bray が任意の連続24時間に設定する支出上限(msat、デフォルトは 20000000、20,000 sats) |
BRAY_WALLET_SERVICE | 1 に設定すると、wallet-grant、wallet-refill、wallet-serve を登録します |
DISPATCH_IDENTITIES | dispatch の ID を記載した Markdown テーブル(名前と hex 公開鍵)へのパス。この値が設定されている場合のみ dispatch ツールが登録されます。設定ファイルの dispatchIdentities でも同じ設定ができます |
BRAY_HOME | bray の状態ファイルを保存するディレクトリ(デフォルトは $XDG_CONFIG_HOME/bray、設定されていない場合は ~/.config/bray) |
NOSTR_RELAYS | カンマ区切りのリレー URL |
NOSTR_FORBID_PUBKEY | このプロセスが署名に決して使用してはならない、カンマ区切りの npub または hex。詳細は以下を参照してください。 |
TOR_PROXY | Tor 用 SOCKS5h プロキシ |
NIP04_ENABLED | 1 に設定すると、レガシー NIP-04 DM を有効にします |
TRUST_MODE | strict、annotate(デフォルト)、または off。上記の設定ファイルのセクションを参照してください |
TRANSPORT | stdio(デフォルト)または http |
PORT | HTTP ポート(デフォルトは 3000) |
BIND_ADDRESS | HTTP バインドアドレス(デフォルトは 127.0.0.1) |
BRAY_HTTP_TOKEN | HTTP トランスポートが Authorization ヘッダーで要求するベアラートークン。未設定の場合、bray はランダムなトークンを生成し、stderr に一度だけ出力します。指定したトークンが出力されることはありません |
すべてのシークレット環境変数は、解析が失敗する前に process.env から削除されます。
生の NWC_URI は拒否されます。ベアラー認証情報がプロセス環境、コマンド引数、MCP ツール引数に現れないよう、NWC_URI_FILE または wallet connect <nwc-file> を使用してください。NWC ではウォレットが NIP-44 v2 暗号化に対応している必要があります。NIP-04 のみを提供するウォレットは拒否されます。
このプロセスが決して使用してはならない鍵
誤った鍵を保持して起動したエージェントは、正常に動作するエージェントと見分けがつきません。すべての署名は検証され、すべてのツールが成功します。唯一の兆候は、whoami が他人の npub をひそかに返すことです。それを伝えるのはエージェント自身のツールなので、操作しているモデルが疑う理由はありません。
最悪なのは、プリンシパルの鍵、つまり本人の鍵です。プリンシパルとして署名するエージェントは、自分が本人であると証明し、自分自身のリクエストを承認できます。そうした確認が探しているプリンシパルそのものだからです。
NOSTR_FORBID_PUBKEY=npub1yourownkey...,npub1anotherhuman...
または設定ファイルの forbidPubkeys を使用してください。どちらも npub または hex を受け付けます。該当する鍵が有効化されるとエラーになります。起動時、identity-switch の実行時、bunker --persona の実行時のいずれでも同様です。チェックは特定の入口ではなく、ID がアクティブになる時点で行われるためです。解析できないエントリもエラーになります。読み取れないリストがすべてを暗黙に許可してはなりません。
アクティブな npub は起動のたびに stderr に出力されるため、「この鍵はどれか」という答えをエージェントに尋ねる必要はありません。
支出上限
厳格な上限はウォレット自体のものです。 NWC_URI_FILE(または
wallet connect <file>)に、支出予算を設定してウォレットが発行した接続を指定してください。bray が何をしても、モデルが何を要求しても、ウォレットがその予算を超えて支払うことはありません。以下はすべて bray 自身による制限です。設定しておく価値はありますが、ウォレットの上限と同じものではありません。
さらに、bray が行うすべての支払い(zap-send、marketplace-pay、CLI の zap-send と wallet pay、SDK、および以下のスコープ付き接続を通じた支払い)は、送信前に確認されます。
- 1 回あたりの支払い:
BRAY_MAX_PAYMENT_MSAT以下(デフォルトは 5,000 sats)。 - 1 日あたり: 任意のローリング 24 時間で
BRAY_MAX_DAILY_MSAT以下(デフォルトは 20,000 sats)。実際の手数料が判明するまで、1%(最低 1 sat)の手数料準備額を計上します。試行はウォレットへの照会前に状態ディレクトリ内のpayment-ledger.jsonに書き込まれるため、再起動しても利用枠は戻りません。 - 請求書ごとに 1 回: 同じ請求書に対して支払いが重複することはありません。また、結果が不明な試行は、照会によって失敗が確認された後にのみ再試行されます。
confirm: true はモデルが設定するため、人間による承認ではありません。MCP クライアントがエリシテーションに対応している場合、zap-send と marketplace-pay はユーザーにも直接確認し、明示的な「はい」があった場合にのみ支払います。エリシテーションに対応していないクライアントでは confirm にフォールバックしますが、上限は引き続き適用されます。zap-send はデフォルトのツール一覧にも含まれていません。search-actions を通じて利用します。
ウォレット接続の配布
zap-send は、設定した NWC URI を使って支払いを行います。この URI は、その背後にあるウォレットに対する無制限の権限です。対応するすべてのメソッドを、ローテーションするまで上限なく利用できます。これをエージェントに渡すことは、すべての権限を渡すことになります。
wallet-grant は、そのウォレットに対するスコープ付きの支払い用接続を発行します。ウォレットは1つ、残高も1つですが、より限定された複数の接続方法を用意できます。これらは別々のウォレットではありません。支払い権限を発行または拡大するツール(wallet-grant、wallet-refill、wallet-serve)は、BRAY_WALLET_SERVICE=1 の場合にのみ登録されます。wallet-grants と wallet-revoke は常に利用できます。
wallet-grant { name: "research-agent", methods: ["get_info","pay_invoice"],
budgetMsat: 50000, maxPaymentMsat: 5000 }
wallet-grants # what exists, what it may do, what it has spent
wallet-revoke { nameOrId: "research-agent" }
wallet-refill { nameOrId: "research-agent", budgetMsat: 50000 }
wallet-serve { action: "start" }
wallet-grant は、新しい接続の nostr+walletconnect:// URI を、付与情報ファイルと同じ場所にある wallet-connections/ 内の 0600 ファイルに書き込み、そのパスを返します。URI 自体がツールの結果に表示されることはありません。
接続で可能な操作は許可リストで定義されており、デフォルトでは支払いを許可せず、情報も開示しません。許可されるのは get_info と make_invoice です。それ以外は接続ごとに明示的な許可が必要で、支払いができる接続には予算を設定しなければなりません。誤って無制限の付与を発行することはできません。接続から見えるのは、その接続自身の情報だけです。
get_balanceが報告するのは接続の残り予算であり、ウォレットの残高ではありません。lookup_invoiceが応答するのは、その接続が発行または支払いを行った請求書だけです。それ以外は見つからなかったものとして報告されます。
支払いは取り消せないため、次のルールが設けられています。
- リクエストには一度だけ応答します。支払いを試みる前にリクエスト ID を永続化します。これにより、支払いの途中でプロセスが停止しても、再試行しないことがわかります。リレーは同じ署名済みリクエストを2回渡すことがあるためです。
- 1つの接続上のリクエストは直列化されるため、同時に到着した2つのリクエストが同じ残り予算を読み取ることはありません。
- 5分を超えて古いリクエストには、その
expirationタグの値にかかわらず応答しません。 - 接続ごとに独自のサービスキーを持ちます。2つの付与情報がリレーから相関されることはなく、1つを取り消す操作はキーを削除するだけです。
- 予算から差し引く額は、ここでデコードした請求書に記載された額とルーティング手数料です。ウォレットから実際の手数料が報告されるまで、手数料分の予備額を確保します。金額が記載されていない請求書は拒否されます。支払人が提示した数値を基に確認する予算は、予算とは言えません。
- ウォレットから明確な拒否(残高不足など)が返された場合、予算を戻します。ウォレットが拒否した理由は接続に伝えません。
- bray 独自の支払いごとの上限と1日あたりの上限も、これらの支払いに適用されます。
- 支払い済みとする申告のプリイメージが請求書を決済しない場合、その申告は転送せずに拒否します。裏付けのない申告を繰り返せば、このサービス自身が嘘をつくことになるためです。
付与情報は wallet-grants.json(ID ごとに 0600)に保存され、wallet-serve の実行中に限り応答します。つまり、このプロセスが動作している間だけです。URI を渡す相手には、この点を伝えておく価値があります。MCP セッションが開いている間は動作する接続と、一晩中動作する接続では、約束する内容が異なるからです。
このファイルは、そのマシン上のすべての bray プロセスが共有する記録です。付与情報を提供できるプロセスは同時に1つだけです。提供中のプロセスは各リクエストの前に付与情報を再読み込みし、変更はすべてロック付きでファイルを更新するため、どのプロセスから行った取り消しや補充も次のリクエストに適用され、別のプロセスによって上書きされることはありません。
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
ライブラリとして使用する
このパッケージは TypeScript SDK(ESM のみ)としても利用できます。nostr-bray/sdk はファクトリー API です。
import { createBray } from "nostr-bray/sdk"
const bray = await createBray({
sec: process.env.NOSTR_SECRET_KEY, // or bunkerUri: "bunker://..."
relays: ["wss://relay.damus.io", "wss://nos.lol"],
})
await bray.post("gm nostr")
console.log(bray.npub)
bray.destroy() // zeroise key material
defaultBray() は、上記の環境変数から同じクライアントを構築します。各ツールグループのハンドラーはサブパスとしてエクスポートされているため、他のグループを読み込まずに 1 つのグループをインポートできます。
| インポート | 提供される機能 |
|---|---|
nostr-bray | createBray、defaultBray と、以下のすべてのグループのハンドラーを再エクスポートします |
nostr-bray/sdk | ファクトリー API である BrayClient、createBray、defaultBray |
nostr-bray/types | 公開設定型と結果型のみのエクスポート |
nostr-bray/identity | 鍵の導出、ペルソナ、連携証明、Shamir バックアップ、移行、NIP-05 |
nostr-bray/social | 投稿、DM、フィード、blossom、グループ、記事、バッジ、カレンダー、コミュニティ、Wiki、スケジューリング |
nostr-bray/trust | 証明、リング署名、音声トークン |
nostr-bray/relay | リレーリスト、クエリ、カウント、インテリジェンス、アウトボックス公開、スペル、NIP-42 認証、リレー HTTP 呼び出し |
nostr-bray/zap | NWC 決済、NWC ファイルの読み込み、決済ガード |
nostr-bray/safety | 強要用ペルソナと CANARY セッション、グループ、ビーコン |
nostr-bray/event | 汎用イベントの構築と公開、NIP-13 proof of work、NIP-59 gift wrap と unwrap |
nostr-bray/event-validation | kind レジストリに基づく意味的なイベント検証 |
nostr-bray/util | デコードとエンコード、NIP-44、ncryptsec、フィルター、NIP ブラウジング |
nostr-bray/workflow | 信頼スコアリング、人物確認、リレーの健全性などの複合フロー |
nostr-bray/dispatch | ディスパッチプロトコルのメッセージ、機能、ID |
nostr-bray/marketplace | L402 と x402 の検出、決済、呼び出し、リスティング |
nostr-bray/privacy | コミットメントと、ゼロ知識の範囲、年齢、しきい値の証明 |
nostr-bray/moderation | ラベル、ミュートリスト、ピンリスト、フォローセット、ブックマーク |
nostr-bray/signet | Signet バッジ、認証情報、ポリシー、チャレンジ |
nostr-bray/vault | Dominion のエポックベースの暗号化 Vault |
nostr-bray/handler | MCP 対応ハンドラーの公開と検出(kind 31990) |
nostr-bray/musig2 | BIP-327 MuSig2 の鍵、ノンス、部分署名、集約プリミティブ |
nostr-bray/sync | NIP-77 の調整:計画、プル、プッシュ |
nostr-bray/admin | NIP-86 リレー管理 API 呼び出し |
ドキュメント
- 使用ガイド -- ID、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 | ポリゴン対応範囲機能を備えた Geohash ツールキット |
| nostr-attestations | NIP-VA 検証可能な証明 |
| dominion | エポックベースの暗号化アクセス制御 |
| nostr-veil | プライバシーを保護する信頼のネットワーク |
サポート
問題の報告や機能リクエストについては、GitHub Issuesをご覧ください。
bray が役に立った場合は、チップを歓迎します。
- Lightning:
[email protected] - Nostr zap:
npub1mgvlrnf5hm9yf0n5mf9nqmvarhvxkc6remu5ec3vf8r0txqkuk7su0e7q2
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。