mcpField
C
CWI MCP Server

CWI MCP Server

ローカル
github.comセキュリティ04 週間前に更新

CWI MCP Server について

CWI MCP Serverは、CWIの信頼基盤を参照するための読み取り専用サーバーです。Gear Ledgerのデータ、証拠に基づく決定的な信頼スコア、NEEDLE DROP台帳のハッシュチェーン検証を提供します。

主な機能

  1. 01Gear Ledgerの状態、エージェント、タスクの参照
  2. 02証拠に基づくエージェント信頼度の評価
  3. 03NEEDLE DROP台帳のハッシュチェーン検証
  4. 04シークレットや書き込みツールなしで動作
  5. 05stdioとStreamable HTTPのトランスポートに対応

活用シーン

  1. 01エージェントのプレゼンスとタスク履歴を確認
  2. 02提示された証拠からエージェントの信頼度を評価
  3. 03NEEDLE DROP台帳の改ざんを確認

MCP 対応

Gear Ledgerの照会、信頼スコアリング、NEEDLE DROP検証など、7つの読み取り専用ツールをMCPクライアントに提供します。stdioとステートレスなStreamable HTTPブリッジに対応します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

cwi-mcp-server

CWI の読み取り専用MCP(Model Context Protocol)サーバーです。ツールは 7 つ、依存関係はゼロ、トランスポートは stdio です。任意の MCP クライアント(Claude Desktop、Claude Code、Cursor、その他のエージェント)に接続すると、ご自身のランタイムから CWI のトラストインフラストラクチャを読み取れます。

利用できる機能:

  • Gear Ledger の読み取り(5 つのツール)— CWI エージェント企業の公開されている最新の来歴ログ:バージョン、完全な状態、エージェントとプレゼンス、タスクの概要、個別タスクの詳細。
  • trust_verdict — CWI Verdict Engine v1.0.0 でエージェントの信頼性をスコアリングします(決定論的で、証拠に基づきます。スコアを捏造する代わりに insufficient-data を返します)。
  • needledrop_verify — 任意の NEEDLE DROP 配置台帳(cwi-needledrop/v1)のハッシュチェーンの整合性を検証します。

読み取り専用とは、本当に読み取り専用という意味です。 書き込みツール、署名、プレゼンスのハートビート、タスクの作成、状態の変更はありません。サーバーは秘密情報を保持しません。コード、設定、ログにトークン、パスワード、キーは含まれません。

私たちの言葉を鵜呑みにしないでください。すべての主張を、ご自身で先入観なく 5 分以内に確認する方法は VERIFY.md をご覧ください。

インストール(コピー&ペースト)

要件:PATH 上に Node ≥ 18 と python3 が必要です。インストールするものはありません。依存関係はゼロです。

git clone https://github.com/CumulativeWebInc/cwi-mcp-server.git
cd cwi-mcp-server
node test.js       # expect: 28/28 tests passed
node test-http.js  # expect: 13/13 HTTP tests passed

これだけです。server.js がサーバーです。

初めての方へ: 10 ステップの導入ガイドから始めてください(すべてのステップをテスト済みです):https://cumulativewebinc.github.io/cwi-learn/EQUIP-GUIDE.md

ワンクリックインストール

  • Cursor にインストール — cwi MCP 設定があらかじめ入力された状態で Cursor を開きます(stdio:node /absolute/path/to/cwi-mcp-server/server.js)。パスを実際のチェックアウト先のパスに置き換えてください。
  • VS Code にインストール — 同じ設定があらかじめ入力された状態で vscode:mcp/install にリダイレクトします。

MCP クライアントを接続する

Claude Desktop(claude_desktop_config.json):

{
  "mcpServers": {
    "cwi": {
      "command": "node",
      "args": ["/absolute/path/to/cwi-mcp-server/server.js"]
    }
  }
}

Claude Code/任意の stdio MCP クライアント: 同じ形式です。コマンドは node、引数は 1 つで、server.js の絶対パスを指定します。トランスポートは stdio です。stdin では 1 行につき JSON-RPC オブジェクトを 1 つ受け取り、stdout に応答を返します。

HTTP ブリッジ(Meta Muse のカスタムコネクターやその他の HTTP MCP クライアント向け)

server-http.js は、まったく同じ 7 つのツールを提供する、依存関係ゼロのストリーム可能 HTTPフロントエンドです。コードパスは同一で、重複はありません(server.js の handleMessage() がすべてのリクエストに応答します)。Meta の Muse がカスタムコネクターで使用するトランスポートに対応しています。JSON-RPC 2.0 を使った POST /mcp、ステートレス(セッション ID は不要)、通知には 202 を返し、GET /mcp には 405 を返します。

node test-http.js   # expect: 13/13 HTTP tests passed
PORT=3000 BIND=0.0.0.0 node server-http.js
# -> cwi-mcp-server-http v0.3.0 listening on 0.0.0.0:3000 (POST /mcp)

パブリック HTTPS URL を利用できる常時稼働マシン(Railway、Render、Fly.io、VPS など)でホストし、チャットで Muse にその /mcp URL をカスタムコネクターとして接続するよう伝えてください。通信時も読み取り専用です。リクエストボディの上限は 1 MB、IP ごとのレート制限は 60 req/min、バッチには対応していません。GET / は人間向けの情報ページを、GET /health は JSON ヘルスチェックを返します。

ホスティング(Docker 対応)

Dockerfile(Node 20 + python3)と render.yaml(Render Blueprint)がリポジトリに含まれており、このブリッジは任意のコンテナホストにデプロイできます。

  • Render(無料、カード不要): Render で「New」→「Blueprint」を選択し、このリポジトリに接続します。Blueprint が /health チェック付きの Docker サービスをデプロイします。無料プランでは 15 分間アイドル状態が続くとスリープします(コールド起動に約 1 分)。オンデマンドの MCP 呼び出しには十分です。
  • 任意の Docker ホスト(VPS、Zeabur、Cloud Run など):docker build -t cwi-mcp . を実行し、-p 7860:7860 を付けて起動します。MCP エンドポイントは https://<host>/mcp です。
  • Hugging Face Spaces:無料プランでは利用できません(2026-09-20 に確認済み — API は 402 Payment Required を返します。Gradio と Docker Spaces には PRO サブスクリプションが必要になり、無料のまま利用できるのは Static Spaces のみです)。

7 つのツール

#ツール引数戻り値
1ledger_state_versionなし{version, updated_at, sha, tasks, agents}
2ledger_state_getfields(省略可能な string[])台帳の全状態、または選択したトップレベルのキー
3ledger_agentsなし登録済みのすべてのエージェントと最新のプレゼンス・ハートビート
4ledger_tasksstate(省略可能な enum)タスクの概要。ライフサイクル状態で絞り込みます
5ledger_task_gettask_id(必須)状態履歴とアーティファクトを含むタスクの詳細
6trust_verdictinput(必須の object)信頼スコア、または誠実な insufficient-data
7needledrop_verifyfile(省略可能なパス){file, ok, messages} チェーン整合性の判定結果
例 — 台帳のバージョンを読み取る
// tools/call {"name": "ledger_state_version", "arguments": {}}
{
  "version": 1541,
  "updated_at": "2026-09-17T11:23:35Z",
  "sha": "3b2b46c8b8e14e0a3351e8896c6bd75e53391cde",
  "tasks": 38,
  "agents": 11
}
例 — 信頼度を採点する(または誠実な拒否を受け取る)
// tools/call {"name": "trust_verdict", "arguments": {"input": {
  "engine_version": "1.0.0",
  "subject": {"agent_id": "some_agent"},
  "context": "agent-trust",
  "observed_at": "2026-09-17T12:00:00Z",
  "signals": {"erc8004": [], "needle_drop": [], "first_spin": []}
}}}
{
  "status": "insufficient-data",
  "score": null,
  "missing": ["at least 3 verified signals across 2 families"],
  "input_sha256": "9f2c…"
}

証拠が空の場合は、架空の数値ではなく insufficient-data を返します。これこそがこのエンジンの要点です。実際に引用可能な証拠を渡せば、実際のスコアが得られます。出力には input_sha256 が含まれるため、誰でもバイト単位で再現できます。

例 — NEEDLE DROP 台帳を検証する
// tools/call {"name": "needledrop_verify", "arguments": {}}
{
  "file": "vendor/needledrop/example-ledger.json",
  "ok": true,
  "messages": ["chain intact"]
}

file に cwi-needledrop/v1 台帳の絶対パスを指定すれば、その台帳を検証できます。改ざんされたエントリは失敗します。試してみてください。サンプル台帳をコピーし、1 バイト編集すると、該当エントリの名前とともに ok が false に変わるのを確認できます。

お使いのマシンでの台帳の読み取り方法

CWI のインフラストラクチャでは、ツールは正式な台帳 CLI を通じて読み取ります。お使いの環境では、CWI の公開gear-ledger リポジトリから同じバイト列を読み取ります。認証もセットアップも不要です。(trust_verdict と needledrop_verify は完全にローカルで動作し、ネットワークには一切アクセスしません。)

ファイル

  • server.js — サーバー(7 つのツール、stdio、依存関係ゼロ)
  • server-http.js — ストリーム可能な HTTP ブリッジ(ステートレスな POST /mcp、依存関係ゼロ)
  • test.js — プロトコルとツールの完全なハーネス(node test.js → 28/28)
  • test-http.js — HTTP ブリッジのハーネス(node test-http.js → 13/13)
  • VERIFY.md — ゼロトラスト検証ガイド:すべて自分で確認します
  • EQUIPS.md — 外部からの装備に関する公開のレシート専用ログ
  • agent-card.json — エージェントの検出に使用する機械可読なカード
  • vendor/cwi-verdict-engine-v1.0.0/ — ベンダー提供の判定エンジン (バイト単位で同一のコピー。vendor/cwi-verdict-engine-v1.0.0/SOURCE.md を参照)
  • vendor/needledrop/ — ledger.py、スキーマ、2 エントリのサンプル台帳 (エントリは実際の ledger.py で封印済みで、サンプルであることが明記されています)
  • examples/ — 2026-09-17 の実行から得られた実際の判定出力

成果、測定方法、終了ルール

  • 達成すべき成果: 外部エージェントが自身の ID を付けてツールを呼び出します。レシートは EQUIPS.md に記録します。
  • 測定方法: 検証可能なレシートを伴う、実際のツール呼び出し。
  • 終了ルール: 2026-10-01 までに外部からの呼び出しが 0 件の場合、MCP サーバーは導入用の窓口として終了します(内部利用向けには維持し)、得られた教訓を記録します。

ライセンス

MIT — LICENSE を参照してください。

コメント

MCP は初めてですか?

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

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