mcpField
F
fuin-oni

fuin-oni

ローカル
github.com/Goatleaf12金融データ02 週間前に更新

fuin-oni について

fuin-oniは、BSC上のFUIN ONIのプルーフ・オブ・ワークNFTミントを扱うPython製MCPサーバーです。コントラクト状態を読み、ミント証明を探索し、キーを保持したり署名したりせずに未署名calldataを作成します。

主な機能

  1. 01ミントとコントラクト状態の読み取り
  2. 02ミント用プルーフ・オブ・ワークnonceの探索
  3. 03未署名ミントcalldataの作成
  4. 04キーの保持と署名なし

活用シーン

  1. 01ミント資格と現在のコントラクト状態を確認
  2. 02NFTミント用の証明nonceを探索
  3. 03オペレーター確認用のミントcalldataを準備

MCP 対応

参照用Python MCPサーバーは、読み取り専用のコントラクト確認、証明探索、未署名ミントcalldataの作成機能をクライアントに提供します。キーを保持せず、トランザクションにも署名しません。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

FUIN ONI(FUIN)

FUIN ONI は、BNB Smart Chain(BSC、chainId 56)上の、プルーフ・オブ・ワークによってミントされた、封印された鬼の NFT 2,222 点です。各 NFT は面に封じられた鬼の精霊であり、レアリティは抽選で決まるのではなく、採掘によって決まります。エージェントがミント時に提出する keccak256 プルーフの強度によって、そのユニットのティアが決まります。プルーフの段階に加えて、レジェンダリーを唯一決定するクラウンレースと、すべてのミント手数料の半額を原資とする、毎週開催のデュエル賞金プールソウルハーベストという、2 つの仕組みがあります。開発者への割り当てはなく、無料でミントする方法もありません。以下で説明する、同じ制限付きプルーフ・オブ・ワーク・ミントを通じてのみ、各ユニットを獲得できます。

仕組み

プルーフ・オブ・ワークによるミント(Agent ID による制限)

ミントするには、Binance Agent ID を保有している必要があります。コントラクトのビュー関数 hasAgentId(wallet) が true を返す必要があります(ウォレットは、ソウルバウンドの Agent ID レジストリ 0x60B9262456dE011F7d15a54CdD8c48bAaa8B022F の残高を保有している必要があります)。ウォレットのチャレンジは keccak256(contract ‖ wallet ‖ mintedBy) であり、ミントが成功するたびに更新されます。ミントするには、エージェントが uint256 nonce を試行し、keccak256(challenge ‖ nonce) が先頭に 24 ビット以上のゼロを含むようにしてから、ミント数に応じた正確な価格で mint(nonce) を呼び出します。ランダムな抽選ではなく、プルーフの強度によって段階のティアが決まります。

先頭のゼロビット数ティア有効なプルーフ全体に占める割合
24–27コモン93.75%
28–31アンコモン5.86%
32–34レア0.34%
35+エピック0.049%

試行を長く続けるほど、必ず同等以上のティアが得られます。予想される作業量は、24 ビットで約 1,600 万回、28 ビットで約 2 億 6,800 万回、32 ビットで約 43 億回、35 ビットで約 340 億回のハッシュ計算です。

レジェンダリー — クラウンレース(ティア帯ではありません)

レジェンダリーは、プルーフの段階から抽選されることはありません。供給数は 100 回のミントごとにブロックに分割されます(ブロック 0 = トークン 1–100)。ブロック内では最も強いプルーフ(プルーフハッシュが最小のもの)が首位となり、ブロックが終了するまで首位は入れ替わる可能性があります。ブロックは次のブロックで最初のミントが行われた時点(最終ブロックの場合は完売時)で終了します。確定した首位のユニットは、そのプルーフが 32 ビット以上に達している場合に限りレジェンダリーに認定され、tierOf は 4 を返します。最も強いプルーフが 32 ビットに届かないブロックでは、レジェンダリーは誕生しません。ブロックで勝てなかった強力なプルーフは、元の段階のティアを保ちます。ブロックは 23 個あるため、レジェンダリーは最大 23 点までしか存在しません。

Soul Harvest

すべてのミント手数料のちょうど半分が、オンチェーンの harvestReserve に蓄えられます。これは、保有者同士が毎週競うデュエルの賞金プールです。オーナーの withdraw() がこのリザーブに手を付けることはできません。リザーブから支払えるのは、distributeHarvest() を通じてデュエルの勝者に対してのみで、支払い額はリザーブ残高が上限です。デュエルのパワーは、公開されたオンチェーンデータから算出されます。証明ビット数+ユニットのデュエルボーナス(ミント時に固定され、メタデータで公開される0~3のポートレートボーナス)+週次のブロックハッシュシードです。プロジェクトが公表した約束に基づき、二次販売ごとにロイヤリティ5%のうち2%(残りの3%はプロジェクトに帰属)が賞金プールに積み立てられます。

コントラクトで固定されています(定数またはデプロイ時に一度だけ設定され、オーナーを含め誰も変更できません)。

  • 最大供給量:2,222
  • ウォレットごとの最大数:3。生涯ミント数をカウントします(ユニットを売却しても枠は空きません)。
  • ミント数に応じた価格:1個目は0.0002 BNB、2個目は0.0004 BNB、3個目は0.0006 BNB。ネットワークのガス代は別途かかります。支払いの直前に必ず mintPrice(yourWallet) を読み取ってください。コントラクトは正確な金額を要求します。
  • ロイヤリティ:5%(ERC-2981)。受取先はデプロイ時に固定され、コントラクトには変更する関数がありません。

ステータス

2026-11-02時点でのコレクションの正確な状況:

  • ミント:オープン(2026-11-02に開始)。これを確認する唯一の情報源はオンチェーンの mintOpen() です。ミント前に確認してください。状態は変わる可能性があります。
  • ミント済み:2,222個中1個(ユニット #1 — エピック、証明ビット数36、デュエルボーナス3。現在、Crown Raceのブロック0をリードしています)。
  • 二次市場:ユニット #1 はElement Marketで0.005 BNBで出品されています。これは出品者の希望価格であり、売却価格ではありません。トランスファーがロックされることはなく、保有者はいつでも対応するマーケットプレイスに出品できます。

エージェントによるミント方法

  1. mintOpen()、totalMinted()、mintedBy(yourWallet) を読み取ります。ミントが終了している場合、供給上限に達している場合、またはウォレットがすでに3個をミントしている場合は中止します。ゲートを確認してください。hasAgentId(yourWallet) が true である必要があります。
  2. 現在のチャレンジを読み取ります:challengeFor(yourWallet)。
  3. 先頭に少なくとも24個のゼロビットが並ぶナンスを探索します(上記の表に従い、より希少なティアではさらに多く必要です)。
  4. オペレーターに、正確な価格(mintPrice(yourWallet) の値)、ナンス、その証明ビット数、予想ティアを提示します。セットアップで必要な場合は、オペレーターの承認を得てから送信してください。
  5. 値として mintPrice(yourWallet) と正確に同じ金額を指定して mint(nonce) を呼び出します。送信の直前にもう一度読み取ってください。
  6. 次の情報を確認して報告します:tokenId、ownerOf(tokenId)、proofBitsOf(tokenId)、tierOf(tokenId)、トランザクションハッシュ。

手順の詳細は AGENT_MINT_PROMPT.md を参照してください。読み取り専用の手順を実行し、証明を探索して、署名前のミントトランザクションを構築するリファレンスMCPサーバーは mcp/ にあります。

メタデータ

各ユニットのポートレートは、ティアごとに固定されたプールから選ばれるAI生成の絵画です。keccak256(tokenId, proofBits) のシードを使って決定論的に選ばれます。プールはローンチ時に凍結されるため、ミント時に表示されたポートレートは以後ずっと変わりません。戴冠したチャンピオンのポートレートは、レジェンダリープールの絵画に昇格します。メタデータJSONは、トークンごとに https://fuin-meta.oagenthq.workers.dev/<tokenId> で配信されます。

リポジトリ構成

  • contracts/FuinOni.sol — デプロイ済みコントラクトのソース(Sourcifyによる完全一致)。
  • AGENT_MINT_PROMPT.md — AIエージェント向けのコピー&ペースト可能なミント手順。
  • llms.txt — ウェブサイトで配信される機械可読なミント仕様。
  • mcp/ — 依存関係のないPython 3 MCPサーバー(読み取り/探索/署名前calldataの構築。鍵を保持せず、署名もしません)。
  • smithery.yaml、server.json — MCPディレクトリのマニフェスト。

ライセンス

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

コメント

MCP は初めてですか?

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

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