mcpField
E
entropy

entropy

リモート
github.com/terradev-cloudAI・エージェント05 週間前に更新
リポジトリ

entropy について

entropyは、エージェントにOS由来の暗号学的乱数と、検証可能なコミット・リビール記録を提供するMCPサーバーです。サンプリング、統計テスト、ステートレスなバンディット選択に対応し、第三者が抽選を検証できます。

主な機能

  1. 01CSPRNGによる乱数生成
  2. 02サンプリング、シャッフル、選択
  3. 03コミット・リビール検証
  4. 04統計テスト一式
  5. 05ステートレスなバンディット選択
  6. 06シードによる再現可能な結果

活用シーン

  1. 01選択肢から公平に選ぶ場面
  2. 02エージェントの抽選結果の検証
  3. 03系列の統計的パターンの検査
  4. 04シード付き抽選の再現

MCP 対応

MCPサーバーはrandom、commitment、test、exploreの4つのツールを提供します。クライアントは抽選、コミット・リビール記録の作成と検証、統計テスト、バンディット選択を実行できます。

設定

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

エンドポイントhttps://entropy-mcp.terradev.cloud/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 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

4
パラメーター型必須説明
seedstringいいえ再現可能な抽選に使用する任意の seed
paramsobjectいいえoperation 固有の引数
operationenumはいbytes | int | shuffle | choose | sample | constrained

詳細

entropy-mcp

Entropy は、エージェントが自力では生成できないランダム性と、それを操作していないことの証明を提供します。

エビデンス

言語モデルは、統計的に健全なランダム性を生成できません。これは推測ではなく、測定されています。

  • arXiv:2601.05414 — 11 個の最先端モデルと 15 種類の分布を検証:バッチモードでの合格率の中央値は 7%。ステートレスモードでは 11 モデル中 10 モデルが、いずれの分布にも合格しませんでした。
  • arXiv:2604.06543 — 知識と実行のギャップ:モデルは正しいサンプリング方法を説明できても、実際には実行に失敗します。モデル自身にシードを生成させても、同じバイアスが再現されます。
  • arXiv:2606.06622 — UnpredictaBench:ランダムであるべき場面で、モデルには測定可能な予測可能性があります。

ステートレス環境の重要性

エージェントが動作するのは、まさにモデルが最も苦手とする環境です。過去の抽選結果を記憶せず、個々の呼び出しが独立したステートレスな環境です。エージェントが自らの重みに基づいて答える「乱数を選んで」という要求は、すべて偏りがあり予測可能なソースからの抽選です。Entropy は抽選をモデルの外に移し、OS の CSPRNG で行います。また、コミット・リビールチェーンにより、実際に行われた抽選と報告された抽選が同一であることを証明します。

インストール

pip install entropy-mcp          # stdio core + stamp-mcp dependency
pip install entropy-mcp[http]    # adds the aiohttp HTTP transport

クイックスタート

{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"commitment","arguments":{
  "operation":"draw",
  "draw_spec":{"operation":"shuffle","params":{"items":["alice","bob","carol","dave"]}},
  "description":"who goes first"}}}

1 回の呼び出しで、シャッフル済みのリストに加え、コミットメントレコード、リビールレコード、検証ブロックが返されます。これらはすべて、第三者が commitment operation:"verify" で確認できる完全なチェーンです。

コマンドリファレンス

ツールは 4 つです。operation でプリミティブを選択し、params に引数を指定します。seed を指定すると、抽選を再現できます。

ツール操作
randombytes(CSPRNG、hex/base64)・int(棄却サンプリングによる偏りのない [min,max] の整数)・shuffle(Fisher-Yates + 順列)・choose(重み付けの有無、復元抽出の有無を選択)・sample(一様、正規、対数正規、指数、三角、ベータ)・constrained(属性ごとの独立サンプリング + カイ二乗適合性証明)
commitmentcommit(シードをハッシュし、抽選仕様と結び付けて証明)・reveal(シードを検証し、再実行して結果を証明)・draw(1 回の呼び出しでコミット + 実行 + リビール)・verify(ローカル状態不要の、純粋な第三者検証)・list(ローカルのコミットメントログ)
test統計テスト一式:頻度、カイ二乗、連続性、最長連続、系列、シャノン、KS、間隔
exploreバンディット選択:epsilon_greedy、thompson、ucb1(ステートレス)

入力とシードが同一であれば、シードを指定したコマンドはどのプロセス、マシン、Python バージョンでもバイト単位で同一の結果になります。非決定的なのは OS の生エントロピーを使う経路のみで、そのことは明示されます。

コミット・リビールの仕組み

  1. commit は 32 バイトのシードを生成(または受け取り)、sha256(seed) のみを保存し、正規化したハッシュを使って抽選仕様と結び付け、Stamp の NTP でタイムスタンプを付与します。必要に応じて drand ラウンドにもアンカーし、レコード全体を証明します。シードはユーザーに渡され、サーバー側には保存されません。
  2. reveal はシードを受け取り、それがコミット済みの seed_hash にハッシュされることを検証してから、抽選を決定論的に再実行し、その結果を証明します。
  3. verify_chain は、サーバーの状態に依存せず、以下を確認します。
確認項目証明内容
seed_produces_commitment_hashリビールされたシードが、コミットされたシードであること
commitment_attestation_validコミットメントレコードが完全で、証明済みであること
reveal_attestation_validリビールレコードが完全で、証明済みであること
commitment_precedes_revealコミットがリビールより前に行われたこと
outcome_reproducible報告された結果が、シードから実際に生成される結果であること
params_hash_matchesコミット後に抽選仕様が改ざんされていないこと
beacon_anchor_validアンカーされた場合、コミットメントが drand ラウンドの公開より前であること

これは何ではないか

  • 統計パッケージではありません — サマリーブロックとテストバッテリーは便利な機能であり、分析スイートではありません。
  • シミュレーションエンジンではありません — モンテカルロ法、感度分析、フィッティングには対応していません。
  • ランダムネスビーコンではありません — drand によるアンカリングは任意の強化策であり、乱数源ではありません。
  • NIST 認定ではありません — テストバッテリーは、SP 800-22 を参考に、その趣旨に沿って作られています。

設定

環境変数デフォルト用途
ENTROPY_COMMITMENT_LOG~/.entropy/commitments.jsonlコミットメントログのパス(0600、最大10,000件)
ENTROPY_STAMP_URLhttps://stamp-mcp.terradev.cloudリモート Stamp エンドポイント(ローカルの stamp_mcp のインポートを優先)
ENTROPY_BEACON_URLhttps://api.drand.shdrand API のベース URL
ENTROPY_HOST / ENTROPY_PORT127.0.0.1 / 8001HTTP トランスポートのバインド先

脅威モデル

THREAT_MODEL.md を参照してください。率直に言えば、Entropy は抽選が操作されていないことを証明できますが、抽選結果が破棄されていないことは証明できません。

ライセンス

Apache 2.0。

コメント

MCP は初めてですか?

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

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