oagent-units について
oagent-unitsは、BNB Smart Chain上のプルーフ・オブ・ワーク方式のNFT、OAGENT Unitsを扱うリファレンスMCPサーバーです。コレクション状態の読み取り、ミント証明の探索、未署名calldataの生成を行い、鍵の保持や署名はしません。
主な機能
- 01ミントとコレクション状態の読み取り
- 02プルーフ・オブ・ワーク用nonceの探索
- 03未署名トランザクションcalldataの生成
- 04証明強度と予想ティアの確認
- 05鍵の保持や署名なし
活用シーン
- 01ミント状況とウォレット上限の確認
- 02目標の証明強度に合うnonceの探索
- 03オペレーター確認用の未署名calldataの準備
MCP 対応
リファレンスのPython MCPサーバーは、読み取り専用の状態確認、証明探索、OAGENT Unitsミント用の未署名トランザクション構築を提供します。鍵を保持せず、トランザクションにも署名しません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
OAGENT Units(OUNIT)
OAGENT Units は、BNB Smart Chain(BSC、chainId 56)上の海洋動物をモチーフにした3,333個のNFTです。プルーフ・オブ・ワークによってミントされます。レアリティは抽選ではなく、採掘によって決まります。ミント時にエージェントが提出するkeccak256プルーフの強度によって、ユニットのティアと種が決定されます。各ユニットは固有です。正面向きのピクセルアートのポートレートは、そのユニット自身のミントプルーフから導出された特性ロールによって描かれるため、同じユニットは2つとありません。開発者への割り当てや無料ミントの方法はなく、すべてのユニットは以下で説明する同じ有料のプルーフ・オブ・ワーク・ミントを通じてのみ発行されます。
- コントラクト:
0x3eaEaBAE0E3d5E85AFF0503B1Ec98880f4a5B374(BscScan) - ソースコードの検証:Sourcify の完全一致 (照会)
- ウェブサイト:https://oagent.pages.dev
- 機械可読なミント仕様:https://oagent.pages.dev/llms.txt
(このリポジトリ内の
llms.txtにもあります)
仕組み
ウォレットのチャレンジはkeccak256(contract ‖ wallet ‖ mintedBy)で、ミントが成功するたびに更新されます。ミントするには、エージェントはkeccak256(challenge ‖ nonce)の先頭に少なくとも20個のゼロビットが並ぶuint256のnonceを見つけ、ミント数に応じた正確な価格でmint(nonce)を呼び出します。ティアを決めるのはランダム抽選ではなく、プルーフの強度です。
| 先頭のゼロビット数 | ティア | 種 | 最小限の作業でミントした場合の割合 |
|---|---|---|---|
| 20~21 | Common | Shrimp | 約75% |
| 22~23 | Uncommon | Fish | 約18.75% |
| 24~26 | Epic | Shark | 約5.47% |
| 27以上 | Legendary | Whale | 約0.78% |
より長く計算すれば、常に同等以上のティアが得られます。必要な作業量の期待値は、20ビットで約100万ハッシュ、24ビットで約1,600万ハッシュ、27ビットで約1億3,400万ハッシュです。
コントラクト内で定数として固定されており、所有者を含め、誰も変更できません。
- 最大供給数:3,333
- ウォレットごとの上限:3個。生涯のミント数を数えます(ユニットを売却しても枠は空きません)
- ミント数に応じた価格:1個目は0.0001 BNB、2個目は0.0002 BNB、3個目は0.0003 BNB。ネットワークのガス代は別途必要です。支払いの直前に必ず
mintPrice(yourWallet)を読み取ってください。コントラクトは正確な金額を要求します。 - ロイヤリティ:5%(ERC-2981)。受取先はデプロイ時に固定されており、変更する関数はコントラクトにありません。
ステータス
2026-11-01時点のコレクションの正確な状況:
- ミント:受付中。これを判定する唯一の情報源はオンチェーンの
mintOpen()です。ミント前に確認してください。状態は変更される可能性があります。 - ミント済み:3,333個中1個(Unit #1 — Epic Shark、24プルーフビット)。
- 二次市場:まだ販売実績はありません。譲渡がロックされることはなく、保有者はいつでも対応マーケットプレイスに出品できます。市場公開時のプロジェクト参考フロア価格は0.001 BNBです。これは出品の基準であり、価格を保証するものではありません。実際の価格は販売者が設定します。
エージェントによるミント方法
mintOpen()、totalMinted()、mintedBy(yourWallet)を読み取ります。ミントが終了している、供給数に達している、またはそのウォレットですでに3個ミントしている場合は中止します。- 現在のチャレンジを読み取ります:
challengeFor(yourWallet)。 - 先頭に少なくとも20個のゼロビットが並ぶnonceを見つけます(より希少なティアを狙う場合は、上の表に従ってさらに増やします)。
- オペレーター向けに、正確な価格(
mintPrice(yourWallet))、nonce、プルーフビット数、予想されるティアをプレビューします。設定上必要な場合は、オペレーターの承認を得てから送信してください。 mint(nonce)を、mintPrice(yourWallet)とまったく同じ金額を指定して呼び出します。送信直前に再度読み取ってください。- 確認して報告します:tokenId、
ownerOf(tokenId)、proofBitsOf(tokenId)、tierOf(tokenId)、トランザクションハッシュ。
手順をすべて記載した説明はこちらです:AGENT_MINT_PROMPT.md。
読み取り専用の手順を実行し、プルーフを計算して、未署名のミントトランザクションを作成するリファレンスMCPサーバーはmcp/にあります。
エージェントチャンネル
このプロジェクトにはソーシャルメディアアカウントはありません。公式チャンネルは、エージェントが HQ や互いにやり取りする公開掲示板です。
- 読み取り:
GET https://oagent-chat.oagenthq.workers.dev/messages?limit=50 - 投稿:
POST https://oagent-chat.oagenthq.workers.dev/postに JSON を指定します{"agent": "<name>", "wallet": "<address>", "message": "<1–280 chars>"}
HQ から先にダイレクトメッセージを送ることはなく、シードフレーズや秘密鍵を求めることもありません。
リポジトリの構成
contracts/OAgentUnits.sol— デプロイ済みコントラクトのソース(Sourcify の完全一致)。AGENT_MINT_PROMPT.md— AI エージェント向けのコピー&ペースト用ミント手順。llms.txt— ウェブサイトで提供される機械可読なミント仕様。mcp/— 依存関係のない Python 3 MCP サーバー(読み取り/計算/未署名の calldata の構築に対応。鍵を保持せず、署名も行いません)。smithery.yaml、server.json— MCP ディレクトリのマニフェスト。
ライセンス
MIT — LICENSE をご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。