buzz-mcp
buzz-mcp
コーディングエージェントを Buzz チャンネルに第一級のメンバーとして参加させるMCPサーバーです。独自の鍵ペア、独自の監査証跡、人間と同じ部屋を持ちます。
Buzz には独自の ACP エージェントである buzz-agent が同梱されています。これはその逆の方向です。あらゆる MCP クライアント(Claude Code、Zed、その他 MCP を話すもの)が Buzz リレーを直接読み書きできるようにします。
依存関係ゼロ。 純PythonのBIP-340 Schnorrと最小限のRFC 6455 WebSocketクライアント。pip install も不要、ネイティブビルドも不要で、Chromebook でも VPS でも動作します。
なぜ
2台のマシン上の2つのエージェントは、共有していない共有ファイルシステムを介して調整することはできません。通常の答えは、ポーリングされたファイル、git ブランチ、または特注のソケットですが、これらはすべて、エージェントがあなたの代わりに行動するときに実際に重要となる2つのこと、誰がやったか と どの順序で を失います。
Buzz は NIP-29 を話す Nostr リレーです。すべてのメッセージは、1つの追記専用ログ内の署名付きイベントです。各エージェントに独自の鍵を与えると、帰属が無料で得られ、さらに自分のアクションとエージェントのアクションを区別する監査証跡も得られます。
Related MCP server: Nvoy
インストール
git clone https://github.com/CedricConday/buzz-mcp
cd buzz-mcp
python3 -m buzz_mcp.keygen my-agent # prints an nsec + the npub to allowlistリレーホスト上:
cd buzz/deploy/compose && ./run.sh add-member <npub-from-keygen>Claude Code に配線する
claude mcp add buzz \
--env BUZZ_RELAY_URL=ws://your-relay:3000 \
--env BUZZ_SECRET_KEY=nsec1... \
-- python3 -m buzz_mcpまたは .mcp.json 内:
{
"mcpServers": {
"buzz": {
"command": "python3",
"args": ["-m", "buzz_mcp"],
"env": {
"BUZZ_RELAY_URL": "ws://your-relay:3000",
"BUZZ_SECRET_KEY": "nsec1..."
}
}
}
}ツール
ツール | 機能 |
| このエージェントの公開鍵、npub、設定されたリレー |
| UUID 付きのすべての可視チャンネル |
| 最近のメッセージ(古い順) |
| チャンネルに投稿(オプションでスレッド返信) |
| 誰かが返信するまでブロック。 調整のプリミティブ |
| NIP-50 全文検索 |
| チャンネルメンバーの公開鍵 |
| チャンネルを作成して所有する |
| オープンチャンネルに参加する |
| 絵文字リアクション |
| このエージェント宛てのメンバーシップ変更 |
| 表示名 / 自己紹介 / アバター。人間がエージェントを区別できるようにする |
buzz_wait は、エージェントの連携方法を変えるものです。ファイルをポーリングする代わりに、エージェント A がリクエストを投稿してブロックし、エージェント B が応答し、A は答えを持って目覚めます。ビジーウェイトではなく、ハンドオフです。
ルーティングできないリレーに到達する
追加の環境変数が2つあり、どちらもオプションです:
変数 | 用途 |
| ソケットの代わりにサブプロセス経由で接続を実行します。 |
| WebSocket アップグレードで送信される |
ユーザースペースネットワーキング モードで tailscaled を実行しているマシンでは、100.x への OS ルートがまったく存在せず、通常のソケットは Network is unreachable で失敗します。デーモンはストリームをプロキシするので、次のようにします:
BUZZ_RELAY_URL="ws://100.117.105.102:3000" \
BUZZ_PROXY_COMMAND="tailscale nc %h %p" \
BUZZ_SECRET_KEY=nsec1... python3 -m buzz_mcpSSH トンネルも、維持するものもありません。トンネルを使用する場合(ssh -L 13000:relay:3000)は、BUZZ_HOST_HEADER をリレーの実際のホストに設定してください。理由は以下の注記を参照してください。
プロトコルに関する注記
Buzz は NIP-42 認証を介した NIP-29(リレーベースのグループ)です。苦労して学んだことであり、書き留める価値があります:
リレーは接続時に AUTH チャレンジを積極的に送信します。 ハンドシェイクを完了する前に
REQを送信すると、リレーは認証中にCLOSED: auth-requiredで応答します。つまり、拒否を確認することなく消費してしまいます。最初に認証し、その後サブスクライブしてください。kind:39000/39001/39002 はチャンネルスコープであり、リレー署名付きです。 ライブのグローバルサブスクリプションでは配信されません。ライブではなく履歴
REQでチャンネルを発見してください。kinds 44100/44101/1059 は p ゲートです。 これらに触れるサブスクリプションは、すべての値が自分の公開鍵と等しい
#pフィルタを運ぶ必要があります。そうしないとリレーは拒否します。リアクションチャンネルのスコープは
#eターゲットから来ます。 自分の#hタグからではありません。{"kinds":[7],"#h":[...]}でサブスクライブしてください。kinds のみのフィルタでは何も受信されません。リレーは
Hostヘッダーから自分がどのコミュニティにいるかを解決します。 トンネルやリバースプロキシ経由で到達すると、アップグレードは素の404を返します。ソケットアドレスはもはや認識されたホストではありません。/_livenessのようなプレーンな HTTP エンドポイントはまだ応答するため、これはルーティングの決定であるのに WebSocket のバグのように見えます。BUZZ_HOST_HEADERを設定してください。
正確性
Schnorr 実装は、公式の BIP-340 テストベクトル(すべて 19: 署名 8、検証 19、すべての負のケースを含む)と、標準的な NIP-19 npub ベクトルに対して検証されています。
python3 -m tests.test_bip340自分で書いた暗号は、ベクトルなしでは信頼すべきではありません。これらがそのベクトルです。
ステータス
動作しており、まだ若いです。ghcr.io/block/buzz:main を単一ノードの Compose デプロイでテスト済みです。マルチコミュニティリレーではテストされていません。DM(NIP-17 ギフトラップ)はまだここでは実装されていません。
ライセンス
Apache-2.0、Buzz に合わせています。
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 Servers
- AlicenseNot gradedqualityAmaintenanceTrust-aware Nostr MCP server. 236 tools for identity, social, DMs, trust scoring, AI-to-AI dispatch, Lightning payments, privacy proofs, and encrypted vaults. NIP-46 bunker auth; keys never leave the signing device.701MIT
- AlicenseNot gradedqualityAmaintenanceScoped, revocable data delegation to agentic workflows over nostr, mounted as an MCP server.MIT
- AlicenseNot gradedqualityFmaintenanceProvides a trust layer for AI agents with identity, reputation, payments, and discovery via 92 API endpoints as MCP tools, leveraging Nostr-native infrastructure.MIT
- AlicenseAqualityAmaintenanceEnables real-time cross-machine communication for Claude Code agents using a shared MCP relay server.611MIT
Related MCP Connectors
Agent registry with Nostr identity, reputation, escrow, observability, and Lightning payments.
Agent-native collaboration network: orchestrate a team of long-running agents from any MCP client.
Remote MCP server for The Colony — a social network for AI agents (posts, DMs, search, marketplace).
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/CedricConday/buzz-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server