mcpField
P
p-e relay (remote)

p-e relay (remote)

リモート
github.com/it-startAI・エージェント06 週間前に更新
リポジトリ

p-e relay (remote) について

p-e relay (remote) は、複数エージェントの協調向けに、リモートリレーと裁定プロトコルを提供します。連番付きレコード台帳とリアルタイムイベント配信を備え、正規化ダイジェスト、ハイブリッド論理時計、原子的なスロット割り当てを使い、主張の対抗審査にも対応します。

主な機能

  1. 01連番付きレコードの原子的な追加
  2. 02ハイブリッド論理時計による順序付け
  3. 03JSON の正規化とダイジェスト計算
  4. 04SSE によるリアルタイム配信
  5. 05主張を裁定するワークベンチ

活用シーン

  1. 01複数エージェント間でレコードを同期
  2. 02非同期協調の因果順序を追跡
  3. 03エージェントの主張を審査・裁定
  4. 04リレー台帳の変化をリアルタイムで確認

MCP 対応

プロトコルは MCP wire 形式との互換性を記載していますが、MCP サーバーのエンドポイントやツールについては説明されていません。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://relay.zae.life/api/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

詳細

エージェントリレーおよび裁定プロトコル(v1.0-SPEC)

仕様 正規化 ストレージ不変条件 ライセンス

自律型 LLM スウォーム(Claude、GPT-4o、Gemini、Mistral、人間のアーキテクト)向けに設計された、産業グレードでリーダーレスなマルチエージェント同期および紛争解決プロトコルです。

正規化された暗号ダイジェスト(RFC 8785 / 箴言 11:1)、因果関係の単調性(ハイブリッド論理時計 / HLC)、アトミックでロックフリーな追記型台帳(POSIX O_CREAT | O_EXCL)、敵対的な反対尋問(箴言 18:17 裁定法廷)を基盤としています。


🏛️ 中核となるアーキテクチャ不変条件(SPEC MUST 1–8)

  1. RFC 8785 JCS 正規化(MUST 1):暗号学的 SHA-256 ダイジェストは、再帰的にソートされた JSON キー、IEEE 754 で正規化された浮動小数点数、UTF-8 エンコードされたペイロードに対してのみ計算されます(「偽りの天秤は主に忌み嫌われるが、正しい分銅は主に喜ばれる」— 箴言 11:1)。
  2. ハイブリッド論理時計(MUST 2):すべてのエンベロープは、物理的な UTC 時刻と単調な Lamport カウンター(physical_ms:counter:node_id)を組み合わせた値を持ちます。これにより、NTP のドリフト障害がなくても、非同期ノード間の因果順序が保証されます。
  3. O_CREAT | O_EXCL によるアトミックなスロット割り当て(MUST 3):同時書き込み競合は、カーネルのファイルシステムレベルで解決されます。2 つのエージェントが同じシーケンススロット seq: N の確保を試みた場合、競合により EEXIST が返され、敗者は seq を単調に増加させます。
  4. 敵対的トライアドと裁定(MUST 4):敵対的な反対尋問なしに、いかなる主張も承認されません(「最初に訴えを述べる者は正しいように見えるが、相手が来て問いただすまでのことだ」— 箴言 18:17)。
  5. 暗黙の信頼ゼロ(MUST 5):エージェント間のエンベロープはオフラインで検証可能であり、異なるツールチェーン(TypeScript、Python、Rust、Go)で個別に検証される必要があります。
  6. 欠損状態の保持(MUST 6):エンベロープのペイロードが消去、圧縮、または失われた場合でも、台帳にはシーケンススロット、ロケーター、SHA-256 ダイジェストがステータス MISSING とともに保持され、存在しないスロットの再利用を防ぎます。
  7. クロスプラットフォームのロゼッタ互換性(MUST 7):JSON、YAML、Protocol Buffers、FlatBuffers、MCP(Model Context Protocol)間で、ワイヤ形式の完全な互換性を実現します。
  8. リアルタイム SSE およびファイルバスストリーミング(MUST 8):Server-Sent Events(SSE)および POSIX ファイルウォッチャーを介し、サブミリ秒のリアクティブサブスクリプションを提供します。

🚀 クイックスタート

前提条件
  • Node.js 20+(スクリプトの実行に使用します。ホスティングコンテナにインストールされています)
  • Bun 1.1+(任意。同じスクリプトをより高速にインストール、実行できます)
インストールと実行
# Clone the repository
git clone https://github.com/your-username/agent-relay.git
cd agent-relay

# Install dependencies — bun, because bun.lock is the lockfile here
bun install --frozen-lockfile

# Start development server (Port 3000)
bun run dev

# Build production bundle
bun run build
bun run start

http://localhost:3000 を開くと、インタラクティブワークベンチ、ライブリレー台帳、自律エージェントチャットをすべて利用できます。

上記のコマンドは bun を使用しますが、実行されるスクリプトは意図的に Node と互換性を保っています。 これは AI Studio アプレット(metadata.json)であり、ホスティングコンテナは PATH に bun がない Node イメージで npm run build と npm start を実行します。したがって、ここで npm は移行すべき習慣ではありません。実際のデプロイ先のひとつが使用するものであり、package.json はどちらのランタイムにもないバイナリを必要としません。そのため、CI ではこの理由から node ジョブを維持し、O_CREAT | O_EXCL が各ランタイムによってそれぞれ実装されていることから bun ジョブも維持しています。

このリポジトリが管理するすべてのもの(deploy.sh、コントリビューター向けの手順、上記のコマンド)は bun を使用し、決定的なインストールには bun install --frozen-lockfile を使います。コミットされているロックファイルは bun.lock のみであり、npm を使うとこれと食い違う可能性のある 2 つ目のロックファイルが書き込まれるためです。

環境
HOSTバインドするインターフェースです。既定値は 127.0.0.1 です。このプロセスは認証を行わないため、より広い範囲に公開する場合は意図的な操作として、認証を行うリバースプロキシの背後に配置してください。
PORT既定値は 3000 です。
NODE_ENVproduction の場合、ビルド済みクライアントを dist/ から配信します。それ以外の場合は Vite 開発サーバーを起動します。このサーバーをネットワークに公開することは想定されていません。bun run start はこの値を設定します。
PE_STORE_ROOTこのプロジェクト独自のストアではなく、既存の p-e リレーストアを読み込みます。読み取り専用です。write、delete、reset は利用不可と宣言され、405 で拒否されます。
ALLOW_SERVER_MODEL_CALLS1 を設定すると、このプロセスが保持する API キーを使ってモデルを実行する 3 つのルート(/api/relay/adjudicate、/api/relay/step-triad、/api/relay/agent-exec)が有効になります。これらのルートはいずれも独自の認証を備えていません。既定では無効です。以前の名称である ALLOW_AGENT_EXEC も受け付けます。

📦 プロジェクト構成

.
├── src/
│   ├── components/
│   │   ├── AgentChatInterface.tsx    # Multi-agent chat with 1-click Triad & Court
│   │   ├── LiveRelayConsole.tsx      # Real-time ledger, sequencer & SSE observer
│   │   ├── AdjudicationWorkbench.tsx # Court state machine (Proverbs 18:17)
│   │   ├── RosettaMatrix.tsx         # Cross-language wire serializers
│   │   ├── EnvelopeStudio.tsx        # RFC 8785 canonizer & digest generator
│   │   ├── FailureSandbox.tsx        # Chaos injection & invariant stress tests
│   │   ├── BridgeExporter.tsx        # MCP & Tool definitions export
│   │   └── Navbar.tsx                # Responsive top navigation
│   ├── App.tsx                       # Root React 19 application
│   ├── main.tsx                      # Vite React mount point
│   └── index.css                     # Tailwind CSS & theme tokens
├── server.ts                         # Express + Atomic POSIX Store + SSE Hub
├── docs/                             # Architecture specs & Engineering Backlog
│   ├── ARCHITECTURE.md               # In-depth architectural blueprint
│   └── BACKLOG_AND_DEBT.md           # Engineering insights, debt & roadmap
├── metadata.json                     # AI Studio runtime metadata
├── AGENTS.md                         # Context & rules for autonomous AI coding agents
├── CONTRIBUTING.md                   # Contribution guidelines
├── LICENSE                           # MIT License
└── package.json                      # Build scripts & dependency declarations

🛠️ API とワイヤープロトコル

エンベロープ仕様
{
  "seq": 42,
  "locator": "agent:claude/42@2026-09-01T16:45:00.000Z",
  "from": "agent:claude-code",
  "to": "agent:chatgpt-adversary",
  "type": "claim",
  "title": "HLC Monotonic Invariant Proposal",
  "parent_locator": "agent:human/41@2026-09-01T16:44:00.000Z",
  "hlc": "1788281100000:0001:claude",
  "digest": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  "payload": {
    "body": "Proposed RFC 8785 canonical digest validator."
  }
}
主要な HTTP エンドポイント
  • POST /api/relay/deposit — O_CREAT | O_EXCL を使ってエンベロープをアトミックに預け入れます
  • GET /api/relay/records — 現在のシーケンス台帳とエンベロープの状態を取得します
  • GET /api/relay/events — リアルタイムの Server-Sent Events(SSE)フィードです
  • POST /api/relay/adjudicate — Gemini を使って箴言 18:17 に基づく裁定を実行します
  • POST /api/relay/agent-exec — 自律エージェントの推論および応答ディスパッチャーです

📜 聖書的・数学的基盤

  • 箴言 11:1:「不正なはかりは主に忌み嫌われ、正しい重りは主に喜ばれる。」 — ビット単位で正確な JSON 正規化(RFC 8785)の基礎となる規則です。
  • 箴言 18:17:「最初に訴える者は正しいように見えるが、相手が来て尋問すると、その人の真相が明らかになる。」 — 台帳への確定に先立つ、敵対的な反対尋問を求めるプロトコル上の命令です。

📄 ライセンス

MIT License。オープンソース研究および企業向けの分散エージェント導入に自由に利用できます。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。