random-web3-mcp

by suxiongye
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

RandomWeb3MCP - Web3ランダム要素生成サービス

RandomWeb3MCPは、EVMブロックハッシュに基づくランダム要素生成サービスです。ゲーム、金融、テストなどの分野で使用できる様々なランダム要素生成ツールを提供しています。

特徴

  • 検証可能性: すべての乱数はブロックチェーンハッシュに基づいて生成され、公平性と検証可能性を保証します。
  • 多様性: 基本的な乱数から複雑な確率分布まで、さまざまな乱数生成シナリオをサポートします。
  • 信頼性: ランダム性の品質を確保するために、エントロピーソースとしてブロックチェーンを使用します。
  • 使いやすさ: シンプルで直感的なAPIインターフェースを提供し、簡単に統合できます。

インストール

git clone git@git.woa.com:zhixinlian/zxl-mcp-server.git pip install -e .

クイックスタート

ticoまたはカーソルでの設定

カーソル設定に random-web3-mcp サービス構成を追加します。

{ "mcpServers": { "random-web3-mcp": { "command": "uv", "args": ["--directory", "local_repo_directory/zxl-mcp-server", "run", "main.py"] } } }

ツールリスト

基本的な乱数を生成する

名前

基本的な乱数ジェネレータ

関数

指定された範囲内でランダムな整数を生成する

パラメータ

  • min_value (int, オプション): 最小値(含む)。デフォルトは 0 です。
  • max_value (int, オプション): 最大値(含む)。デフォルトは 1000000 です。
  • salt (文字列, オプション): ランダム性を高めるための乱数ソルト値。デフォルトは''

返品

乱数結果を含むJSON文字列

アプリケーションシナリオ

  1. 宝くじ制度
  2. ゲームの乱数
  3. ランダムID生成
  4. テストデータ生成

ランダム配列を生成する

名前

ランダム配列ジェネレータ

関数

指定された長さのランダム配列を生成する

パラメータ

  • array_length (int, オプション): 配列の長さ。デフォルトは 1 です。
  • min_value (int, オプション): 最小値。デフォルトは 0 です。
  • max_value (int, オプション): 最大値。デフォルトは 1000000 です。
  • salt (str, オプション): 乱数ソルト値。デフォルトは''

返品

ランダム配列を含むJSON文字列

アプリケーションシナリオ

  1. バッチ乱数生成
  2. ランダムサンプリング
  3. テストデータセットの生成
  4. ランダムタスク割り当て

ランダム重み付け生成

名前

重み付けランダムセレクター

関数

重みに基づいてオプションをランダムに選択する

パラメータ

  • options (List[str]): オプションのリスト
  • weights (List[int]): 対応する重みのリスト (0-1000)
  • salt (str, オプション): 乱数ソルト値。デフォルトは''

返品

選択結果を含むJSON文字列

アプリケーションシナリオ

  1. 宝くじシステム(異なる確率の賞品)
  2. ランダムドロップ(重み付けアイテムドロップ)
  3. タスクの割り当て(優先度に基づく)
  4. A/Bテスト(異なる比率の実験グループ)

ランダムな特徴を生成する

名前

ランダム特徴割り当て

関数

オブジェクトのランダムな特徴値のセットを生成します。各特徴値は指定された範囲内にあります。特徴値はビットマップにエンコードされ、各特徴は8ビットを占めます。

パラメータ

  • feature_count (int): 生成する特徴の数
  • feature_max_values (List[int]): 各特徴の最大値のリスト。長さはfeature_countと等しくなければならない。
  • salt (文字列, オプション): ランダム性を高めるための乱数ソルト値。デフォルトは''

返品

特徴値とビットマップを含む JSON 文字列。形式は次のようになります。

{ "requestId": "Generated request ID", "features": [List of feature values], "featureBitmap": Feature bitmap value }

アプリケーションシナリオ

  1. ゲームキャラクターの属性生成(強さ、敏捷性、知性など)
  2. 装備属性のランダム化(攻撃、防御、速度など)
  3. 生物学的特性シミュレーション(遺伝子、特性など)
  4. ランダムなシーン生成(地形、天候、環境など)

分布を生成する

名前

確率分布乱数生成器

関数

指定された確率分布の種類とパラメータに従って乱数を生成します。様々な一般的な確率分布をサポートします。

パラメータ

  • distribution_type (int): 配布タイプ:
    • 1 = 均一分布(パラメータ: [min_value, max_value])
    • 2 = 正規分布(パラメータ: [平均、標準偏差])
    • 3 = 指数分布(パラメータ: [scale_parameter])
    • 4 = 二項分布(パラメータ: [試行回数, 成功確率])
  • distribution_parameters (List[float]): 分布パラメータリスト
  • salt (文字列, オプション): ランダム性を高めるための乱数ソルト値。デフォルトは''

返品

ランダム値と分布情報を含む JSON 文字列。形式は次のようになります。

{ "requestId": "Generated request ID", "randomValue": Generated random value, "distributionMetadata": { "distributionType": Distribution type, ...Distribution parameters } }

アプリケーションシナリオ

  1. 金融市場シミュレーション(リターン分布、リスク分析)
  2. 自然現象シミュレーション(粒子分布、ノイズ生成)
  3. 負荷テスト(ユーザー行動分布)
  4. 統計的サンプリング(実験データ生成)

ランダムイベントを生成する

名前

ランダムイベントトリガー

関数

与えられた確率に基づいて一連のイベントをトリガーします。各イベントには独立したトリガー確率があります。トリガーステータスをビットマップで記録することで、処理が容易になります。

パラメータ

  • event_count (int): イベントの総数
  • event_probabilities (List[int]): 各イベントのトリガー確率(0~1000、0~100%を表す)
  • salt (文字列, オプション): ランダム性を高めるための乱数ソルト値。デフォルトは''

返品

イベント トリガーの結果を含む JSON 文字列。形式は次のようになります。

{ "requestId": "Generated request ID", "triggeredEvents": Event trigger bitmap, "eventResults": [ { "eventId": Event ID, "probability": Trigger probability, "triggered": Whether triggered, "randomValue": Random value }, ... ] }

アプリケーションシナリオ

  1. ゲームのランダムイベント(プロットのトリガー、アイテムのドロップ)
  2. 確率効果判定(スキル発動、コンボ判定)
  3. リスクイベントシミュレーション(障害予測、事故イベント)
  4. 複数の条件判定(複合確率イベント)

ランダムシードを生成する

名前

ランダムシードジェネレーター

関数

暗号化や高品質な乱数を必要とするその他のシナリオ向けに、高エントロピーの乱数シードを生成します。ランダム性を保証するために、ブロックチェーンハッシュをエントロピーソースとして使用します。

パラメータ

  • seed_length (int): 生成するシードの長さ(バイト単位)
  • salt (文字列, オプション): ランダム性を高めるための乱数ソルト値。デフォルトは''

返品

ランダム シードを含む JSON 文字列。形式は次のようになります。

{ "requestId": "Generated request ID", "randomSeed": "Random seed in hexadecimal format", "entropy": Estimated entropy value }

アプリケーションシナリオ

  1. キー生成(暗号化キー、署名シード)
  2. セキュリティトークン(セッション識別子、認証トークン)
  3. 乱数初期化(PRNGシード、シミュレーション初期状態)
  4. 一意の識別子の生成(UUIDシード、ランダム識別子)

シャッフル配列

名前

ランダム配列シャッフラー

関数

入力配列をランダムにシャッフルし、各要素がどの位置に出現する確率も均等になるようにします。公平性を保つために、Fisher-Yatesシャッフルアルゴリズムを使用します。

パラメータ

  • input_array (リスト): シャッフルする配列。要素は任意の型にすることができます。
  • salt (文字列, オプション): ランダム性を高めるための乱数ソルト値。デフォルトは''

返品

シャッフルされた配列を含む JSON 文字列。形式は次のようになります。

{ "requestId": "Generated request ID", "shuffledArray": [Shuffled array] }

アプリケーションシナリオ

  1. ゲームのシャッフル(トランプ、麻雀牌)
  2. ランダム順序(質問順、プレイリスト)
  3. ランダムグループ分け(チーム割り当て、実験グループ分け)
  4. データシャッフル(トレーニングデータセット、テストケース)

座標を生成する

名前

ランダム座標ジェネレータ

関数

指定された次元空間にランダムな座標点を生成します。各次元には独自の値の範囲があります。任意の次元数での座標生成をサポートします。

パラメータ

  • 次元数(整数):座標次元数(1D、2D、3Dなど)
  • min_values (List[float]): 各次元の最小値のリスト
  • max_values (List[float]): 各次元の最大値のリスト
  • 座標数 (int): 生成する座標点の数
  • salt (文字列, オプション): ランダム性を高めるための乱数ソルト値。デフォルトは''

返品

ランダム座標を含む JSON 文字列。形式は次のようになります。

{ "requestId": "Generated request ID", "coordinates": [ [x1, y1, z1, ...], # First point coordinates [x2, y2, z2, ...], # Second point coordinates ... ] }

アプリケーションシナリオ

  1. ゲームオブジェクトの配置(NPCの位置、アイテムの分布)
  2. パーティクルシステム(エフェクト生成、パーティクル分布)
  3. マップ生成(地形の高さ、資源の分布)
  4. 空間サンプリング(3Dモデリング、空間分析)

希少性を生成する

名前

希少性ランダムアロケータ

関数

指定された次元空間にランダムな座標点を生成します。各次元には独自の値の範囲があります。任意の次元数での座標生成をサポートします。

パラメータ

  • item_count: プロジェクトの数量
  • rarity_tiers: レア度レベルの配列
  • rarity_percentages: 各レアリティレベルの確率パーセンテージ
  • guaranteed_minimums: 各レア度レベルの保証数量(オプション)
  • salt (文字列, オプション): ランダム性を高めるための乱数ソルト値。デフォルトは''

返品

ランダムな希少度の配列を含む JSON 文字列。形式は次のようになります。

{ "requestId": "Generated request ID", "rarityDistribution": [Rarity allocation result] }

アプリケーションシナリオ

  1. ゲームアイテムドロップ(異なるレア度の装備、アイテム)
  2. 宝くじシステム(異なる確率の賞品)
  3. リソースの割り当て(異なる希少性のリソース、材料)
  4. ランダムイベントトリガー(異なる確率のイベント)

アプリケーションシナリオ

ゲーム開発

  • ランダムアイテムドロップ
  • キャラクター属性生成
  • マップのランダム生成
  • 確率イベントトリガー

財務アプリケーション

  • リスクシミュレーション
  • 投資ポートフォリオ分析
  • 市場行動シミュレーション

テストデータ

  • ランダムテストケース生成
  • 負荷テストデータ
  • 性能試験サンプル

科学計算

  • モンテカルロシミュレーション
  • 粒子システムシミュレーション
  • ランダムサンプリング

注記

  1. すべての乱数生成はトラストチェーンのブロックチェーンハッシュに依存しているため、正常なネットワーク接続を確保してください。
  2. 重み付けランダムセレクタの重み値の範囲は0~1000で、0~100%の確率を表します。
  3. 確率分布パラメータは、特定の分布タイプに応じて正しいパラメータリストを提供する必要があります。
  4. ランダム性を高めるために、本番環境ではソルトパラメータを使用することをお勧めします。

エラー処理

サービスは次のようなエラー タイプを返す可能性があります:

{ "error": "Error message", "code": "Error code", "requestId": "Request ID" }

一般的なエラーコード:

  • INVALID_PARAMS : パラメータエラー
  • NETWORK_ERROR : ネットワーク接続エラー
  • CHAIN_ERROR : ブロックチェーンアクセスエラー
  • INTERNAL_ERROR : 内部サービスエラー

パフォーマンスの考慮

  • 各乱数生成リクエストはブロックチェーンにアクセスする必要があり、一定の遅延が発生する可能性がある。
  • 頻繁に使用する乱数をキャッシュすることをお勧めします
  • 多数の同時リクエストを処理する場合はリクエスト頻度に注意してください

貢献ガイド

このプロジェクトの改善にご協力いただけるIssueとPull Requestの提出を歓迎いたします。提出前に以下の点をご確認ください。

  1. コードはPEP 8仕様に準拠しています
  2. 適切なテストケースが追加される
  3. 関連文書が更新されました

ライセンス

このプロジェクトはMITライセンスを使用しています。詳細はLICENSEファイルをご覧ください。

ID: l8j1n7vnd2