Suigar-Gaming について
Suigar-Gaming は、AI エージェントが Suigar のオンチェーン Sui ゲーム、SweetHouse、NFT、紹介機能を扱うための MCP サーバーです。読み取り操作とトランザクション構築を提供し、既定では未署名のままにする一方、指定ウォレットでの実行にも対応します。
主な機能
- 01設定と最新ゲームメタデータの読み取り
- 02NFT、残高、紹介報酬の確認
- 03未署名のゲーム・紹介トランザクション構築
- 04構築、ドライラン、読み取り専用モード
- 05連携またはセッションウォレットでの実行
- 06MCP App ビューと構造化結果の提供
活用シーン
- 01ゲームのパラメーターとウォレット資産を確認する
- 02ゲームや SweetHouse の取引を準備する
- 03紹介報酬を確認して請求する
- 04セッションウォレットで承認済み取引を実行する
MCP 対応
ゲーム情報の読み取り、ウォレット操作、トランザクション構築など、SDK ベースのツールとリソースを MCP 経由で公開します。stdio クライアントと、対応ホスト向けの同梱 MCP App UI をサポートします。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @suigar/mcpSUIGAR_MCP_BRIDGE_WEB_URLCustom Suigar MCP browser app origin for wallet pairing and approval pages.SUIGAR_MCP_BRIDGE_TIMEOUT_MSMilliseconds before local browser login, logout, and approval bridges expire.SUIGAR_MCP_BRIDGE_MAX_BODY_BYTESMaximum JSON callback body size in bytes for local browser bridges.SUIGAR_MCP_SESSION_SETUP_TIMEOUT_MSMilliseconds before local session-wallet setup pages expire.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
30掲載時のツール一覧 · 1 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| config | object | いいえ | SDK スタイルの SuigarConfigOverrides。 |
| config.coins | object | いいえ | |
| config.coins.sui | object | いいえ | |
| config.coins.sui.coinType | string | いいえ | |
| config.coins.sui.decimals | integer | いいえ | |
| config.coins.sui.priceInfoObjectId | string | いいえ | |
| config.coins.usdc | object | いいえ | |
| config.coins.usdc.coinType | string | いいえ | |
| config.coins.usdc.decimals | integer | いいえ | |
| config.coins.usdc.priceInfoObjectId | string | いいえ | |
| config.objectIds | object | いいえ | |
| config.objectIds.sweetHouse | string | いいえ | |
| config.objectIds.nftV1Factory | string | いいえ | |
| config.packageIds | object | いいえ | |
| config.packageIds.core | string | いいえ | |
| config.packageIds.limbo | string | いいえ | |
| config.packageIds.nftV1 | string | いいえ | |
| config.packageIds.range | string | いいえ | |
| config.packageIds.wheel | string | いいえ | |
| config.packageIds.plinko | string | いいえ | |
| config.packageIds.soccer | string | いいえ | |
| config.packageIds.coinflip | string | いいえ | |
| config.packageIds.referral | string | いいえ | |
| config.packageIds.pvpCoinflip | string | いいえ | |
| network | enum | いいえ | Sui ネットワーク。mainnet と testnet のみサポートされています。mainnet | testnet |
| partner | string | いいえ | SDK 拡張機能を通じて注入されたパートナーウォレットアドレス。 |
| providerUrl | string | いいえ | オプションの Sui gRPC エンドポイント URL。 |
| sessionWalletId | string | いいえ | 名前付きローカルセッションウォレットのオプションの ID。セッションウォレットツールで使用する場合、デフォルトは最初のウォレットです。 |
詳細
@suigar/mcp
Suigar の証明可能な公平性を備えたオンチェーンカジノゲーム SweetHouse、NFT、リファラルトランザクション向けの AI エージェント MCP サーバーです。
このサーバーは MCP 2026-07-28 仕様を対象とし、最新の MCP サーバー API と MCP Apps API を通じてツール/リソースを登録します。サーバーとバンドルされた App は MCP SDK 2 と ext-apps 2 を使用しており、既存の MCP Apps 1.x ホストとの互換性も維持されています。既知のツールは入力検証エラーとハンドラーの失敗に対して isError: true を返します。不明なツールへの呼び出しは JSON-RPC の無効なパラメーターエラー(-32602)で拒否されます。ハンドラーの失敗には、テキストと構造化されたエラーの詳細が含まれます。
stdio サーバーは MCP 2026-07-28 と、初期化ベースの旧バージョンのクライアントをサポートします。プログラムから使用する場合は、stdio を開始するには startSuigarMcpServer() を、@modelcontextprotocol/server v2 の McpServer を取得するには createSuigarMcpServer() を呼び出します。
以下を提供します。
- Suigar の設定とライブゲームのメタデータを読み取る SDK ベースのツール
- リファラルの請求可能額の読み取りと、未署名の請求トランザクションの構築
- Suigar の標準ゲーム、PvP Coinflip、SweetHouse 向けの未署名トランザクションの構築
build、dry-run、read-onlyモード- 対応ホスト向けのコンパクトな MCP App UI リソース
- 通常の MCP クライアント向けのテキストおよび構造化コンテンツのフォールバック
トランザクションはデフォルトで未署名のままです。mode: "execute" は連携する Suigar ブラウザーウォレットを使用し、executionWallet: "session" が選択されていない場合は明示的な承認リクエストを開きます。セッション実行では、OS のキーチェーンに保持されたローカルのセッションウォレットキーを使って直接署名し、送信します。承認 URL は返されず、最終的なトランザクションダイジェストが返されます。ウォレット残高の読み取りでは、すべての結果ページを集計し、設定済みまたはオンチェーンのコインメタデータを使って人が読みやすい金額を表示します。
ウォレットの検証では、不正なリカバリーフレーズに TypeError、サポート対象外の秘密鍵スキームまたは大きすぎるブリッジリクエストに RangeError を使用します。ウォレットブリッジとセッションのセットアップでは、32 バイトの 16 進数状態トークンを検証し、タイミング攻撃に安全な等価性チェックを使ってデコード済みのバイトを比較します。ウォレットのセットアップページには引き続きエラーメッセージが表示されます。期限切れのセッションや利用できないキーチェーンストレージなどの運用上の失敗は、引き続き一般的なエラーとして扱われます。
インストール
実行要件:
- Node.js
^24.0.0 || ^26.0.0。
add-mcp を使って、検出されたすべてのコーディングエージェントにインストールします。
npx add-mcp @suigar/mcp@latest --name suigar
インストーラーのプロンプトをスキップするには -y を追加します。インストール後、MCP クライアントを再起動または再読み込みしてください。
手動設定
stdio サーバーを MCP クライアントに自分で追加するには、次を使用します。
{
"mcpServers": {
"suigar": {
"command": "npx",
"args": ["-y", "@suigar/mcp@latest"]
}
}
}
パッケージのインストール
プログラム用 API をインポートする場合や、ローカルコピーを実行する場合は、パッケージを直接インストールします。
npm install @suigar/mcp
プログラムからインポートできるよう、パッケージは JSR でも公開されています。
pnpm add jsr:@suigar/mcp
また、このパッケージには、プラグイン対応ホスト向けの plugin/ マニフェストも含まれています。
- Codex 用の
plugin/.codex-plugin/plugin.json - Claude Code 用の
plugin/.claude-plugin/plugin.json - Cursor 用の
plugin/.cursor-plugin/plugin.json - Antigravity 形式のプラグイン検出用の
plugin/plugin.json
Codex、Claude、Cursor のマニフェストでは、同梱の .mcp.json MCP 設定を使用して、npx -y @suigar/mcp@<package-version> stdio サーバーを登録します。プラグインマニフェストのバージョン、MCP 設定のパッケージ指定子、パッケージ内の JSR 設定のバージョンは、pnpm run codegen:version によって packages/mcp/package.json と同期されます。このコマンドは pnpm run changeset:version の実行時にも実行されます。
リポジトリのマーケットプレイスカタログでは、GitHub からのインストールとローカルプラグインのテストに対応しています。
- ChatGPT デスクトップアプリと Codex 用の
.agents/plugins/marketplace.json - Claude Code 用の
.claude-plugin/marketplace.json - Cursor の複数プラグインリポジトリ検出用の
.cursor-plugin/marketplace.json
Codex では、GitHub からマーケットプレイスをインストールしてから、suigar-mcp プラグインをインストールします。
codex plugin marketplace add Suigar-Gaming/ts-sdks
codex plugin add suigar-mcp@suigar
Claude Code では、同様の GitHub マーケットプレイスの手順を使用します。
claude plugin marketplace add Suigar-Gaming/ts-sdks
claude plugin install suigar-mcp@suigar
Claude Code の対話セッション内では、代わりに /plugin marketplace add Suigar-Gaming/ts-sdks と /plugin install suigar-mcp@suigar を使用します。ローカル開発では、いずれかのマーケットプレイス追加コマンドで Suigar-Gaming/ts-sdks を . に置き換えます。ChatGPT デスクトップアプリでローカルテストを行うには、リポジトリを開いてアプリを再起動し、Work モードまたは Codex で Plugins ディレクトリを開いてから、Suigar ソースから suigar-mcp をインストールします。
Cursor では、このリポジトリにプラグインマニフェストと、複数プラグインリポジトリのワークフロー用のルート .cursor-plugin/marketplace.json の両方が含まれています。ローカル開発時には、packages/mcp/plugin を Cursor のローカルプラグインディレクトリにコピーまたはシンボリックリンクし、Cursor を再読み込みすることもできます。MCP ツールだけが必要な場合は、npx -y @suigar/mcp による直接的な MCP 設定のほうが簡単で、プラグインラッパーも不要です。
ローカルワークスペースで開発する場合:
pnpm turbo run build --filter=@suigar/mcp
node packages/mcp/dist/bin.mjs
これにより、ローカルワークスペースの依存関係、MCP サーバー、バンドル済み MCP App がビルドされます。手動でクライアントをテストするには、リポジトリのルートから生成された stdio エントリーポイントを実行してください。
ツール
setup_session_walletget_session_walletfund_session_walletsuigar_loginsuigar_logoutget_connection_statusread_configread_game_metadatalist_nftsget_wallet_balanceslist_wallet_coinsget_execution_statusget_referral_commissionget_referral_level_up_usd_rewardsbuild_referral_commission_claim_transactionbuild_referral_level_up_usd_rewards_claim_transactionbuild_nft_v1_mint_transactionbuild_sweethouse_deposit_transactionbuild_sweethouse_redeem_request_transactionbuild_sweethouse_claim_own_redeem_request_after_delay_transactionbuild_coinflip_transactionbuild_keno_transactionbuild_limbo_transactionbuild_plinko_transactionbuild_soccer_transactionbuild_wheel_transactionbuild_range_transactionbuild_pvp_coinflip_create_transactionbuild_pvp_coinflip_join_transactionbuild_pvp_coinflip_cancel_transaction
すべてのツールは content テキストと structuredContent を返します。アプリ対応ホストでは、1 つのバンドル済み MCP App から、設定の検出、ゲームのライブパラメーター、NFT カタログと所有状況、紹介報酬、SweetHouse のプラン、トランザクションの検査に特化したビューが表示されます。
ウォレットツール
- ペアリング済みブラウザーウォレット
suigar_login、suigar_logout、get_connection_statusで、ペアリング済みブラウザーウォレットを管理します。suigar_loginとsuigar_logoutは、コマンドラインでのウォレット管理に使用するものと同じローカルのnpx -y @suigar/mcp ...CLI フローを開始します。そのため、URL を手動でコピー&ペーストしなくても、適切なメインネットまたはテストネットのペアリングページがデフォルトのブラウザーで開きます。suigar_loginとsuigar_logoutは、CLI ブリッジのオプションに対応するwebUrl、timeoutMs、maxBodyBytes、open、noOpen入力を受け付けます。get_wallet_balancesとlist_wallet_coinsは、集計済み残高またはページ分割されたコインオブジェクトを読み取ります。どちらも明示的なアドレスを指定できます。get_execution_statusは、executeモードのトランザクションに対するブラウザー承認の結果を確認します。
- ローカルセッションウォレット
setup_session_walletは、メインネットとテストネットで共有する永続的なセッションウォレットを作成または復元するための、ローカルの一度限りのセットアップページを開きます。- ローカルセットアップページを利用できる時間は、
SUIGAR_MCP_SESSION_SETUP_TIMEOUT_MSを設定して調整できます。組み込みのデフォルト値は600000です。 - ペアリング済みブラウザーウォレットは不要で、リカバリーフレーズが MCP を経由することはありません。
- ローカルセットアップページでは、標準の
suiprivkey...エクスポートもインポートできます。これが MCP やセッションウォレットの JSON ファイルを経由することはありません。 - 署名キーはオペレーティングシステムのキーチェーンに保存されます。カスタムの暗号化ファイルは使用しないでください。OS のキーチェーン保護のほうが安全で、アプリケーションのパスフレーズを管理する必要もありません。影響範囲を最小限に抑えるには、プライマリーウォレットをインポートするのではなく、残高を少額に抑えた専用のセッションウォレットを作成してください。
- MCP が保持するアクティブなセッションウォレットは 1 つです。MCP を再起動すると、同じキーチェーンエントリーが自動的に使用されます。別のウォレットをインポートまたは復元するには、明示的な置き換え確認が必要です。後で復元できるよう、元のリカバリーフレーズ/秘密鍵のバックアップを保管してください。
get_session_walletは、公開アドレス、書式設定済みの残高、入金用 QR コード、および選択したネットワークでウォレットがペアリングされている場合は、あらかじめ入力された入金用 URL を返します。fund_session_walletにはペアリング済みウォレットが必要です。あらかじめ入力された mcp-website の送金フォームを開きます。ユーザーは所有するコインと金額を選択し、ブラウザーで送金内容を確認して署名します。- App 対応のホストでは、選択したネットワークの残高、入金用 QR コード、および利用可能な場合はペアリング済みウォレットからの入金リンクを表示する、専用の「セッションウォレット」ビューが表示されます。ウォレットが存在しない場合は、同じビューにローカルセットアップへのリンクが表示されます。
- ローカル MCP プロセスに委任してもよい金額のみ入金してください。
- ゲームツールでは、
mode: "execute", executionWallet: "session"を使用すると、セッションウォレットを送信元として即座に送信します。このモードではownerは省略可能です。指定する場合は、セッションウォレットのアドレスと一致している必要があります。賭け金とガスの両方に十分な残高があることを確認してください。カスタムプロバイダー URL とパートナーは設定できますが、カスタム SDK 設定の上書きは拒否されます。署名の前に、サーバーは構築されたトランザクションが選択された Suigar ゲームパッケージのみを呼び出すことを検証します。
- コマンドラインでのウォレット管理
npx -y @suigar/mcp login --network testnet(またはmainnet)、status、logout、cleanを実行します。- ログインでは、有効期間が短く localhost のみで利用できるブラウザーペアリングフローを使用します。秘密情報を含まないネットワークごとのメタデータは、所有者のみがアクセスできる権限で
~/.suigar-mcp/credentials.jsonに保存されます。 statusは現在の接続を確認します。logout --allは保存されているすべてのネットワークとの接続を解除し、デフォルトの Suigar ウェブオリジンを使用している場合は、メインネットとテストネット両方のログアウトページを開きます。cleanはブラウザーを開かずにローカルの認証情報ファイルを削除します。- ローカルまたはカスタムの接続ページのオリジンを使用するには、
SUIGAR_MCP_BRIDGE_WEB_URLを設定するか、--web-urlを渡します。 - ログイン、ログアウト、承認ブリッジが期限切れになるまでの待機時間を調整するには、
SUIGAR_MCP_BRIDGE_TIMEOUT_MSを設定するか、--timeout-msを渡します。デフォルト値は300000です。 - ブラウザーコールバックの JSON 本文の最大サイズを調整するには、
SUIGAR_MCP_BRIDGE_MAX_BODY_BYTESを設定するか、--max-body-bytesを渡します。デフォルト値は16384です。 - ブリッジ URL はデフォルトで自動的に開きます。URL のみを表示する場合は、CLI でのログインまたはログアウトに
--no-openを渡します。 - MCP クライアントは、MCP プロトコルを通じて利用可能なツールを自動的に検出します。
読み取りツール
read_config、read_game_metadata、list_nfts、ウォレット残高/コインの読み取り、実行ステータス、紹介報酬額の読み取りは読み取り専用です。- SDK を利用した読み取りでは、共通のネットワーク、プロバイダー、SDK 設定、パートナーの入力を受け付けます。
read_game_metadataでは追加でgameが必要です。NFT と紹介報酬の読み取りでは追加でownerアドレスまたは SuiNS 名が必要です。- 紹介報酬の読み取りでは、SDK の実際の請求トランザクションをシミュレートし、請求またはシミュレーションができない場合は
0を返します。 get_referral_commissionは省略可能なcoinTypeを受け付けます(デフォルトは設定済みの SUI)。レベルアップ時の USD 報酬には、設定済みの USDC が使用されます。
App に対応したホストでは、NFT ビューにカタログと所有済み NFT のテーブルが別々に表示されます。HTTPS の NFT 画像 URL はサムネイルとして表示され、利用できない、または対応していない画像 URL はテキストとして表示されます。紹介報酬の読み取りでは、紹介者、報酬の種類、コインの種類、シミュレーションで算出した請求可能額を含む専用の紹介報酬ビューが表示されます。
トランザクションツール
すべてのトランザクションツールは共通の設定入力を受け付け、次の mode 値をサポートします。
read-only:SDK 設定を解決し、実行予定の Move ターゲット、型引数、必須入力、注記を返します。build:未署名のトランザクションバイトを base64 で返し、解決済みの共通入力と、coinflip のside、Keno のconfigIdおよびpicks、limbo のtargetMultiplier、plinko/wheel のconfigId、range のポイントなど、ゲーム固有のgameInputsを含むトランザクションの概要も返します。dry-run:Mysten クライアント API を通じて未署名のトランザクションをシミュレートし、JSON で扱える生のdryRun結果と、安定したdryRunSummaryを返します。失敗したドライランには、失敗したトランザクションのステータスから抽出したerrors配列が含まれます。execute:デフォルトでは、ペアリング済みウォレットへの承認リクエストを開きます。ゲームツールでexecutionWallet: "session"を設定すると、MCP がローカルセッションウォレットで署名して即座に実行します。
トランザクションの概要には、gasBudget が指定されている場合、またはビルド済みのトランザクションに含まれている場合、設定済みのガス予算が生の MIST と SUI の表示値の両方で含まれます。
ドライランの概要には、次の内容が含まれます。
successとerror- ガスの計算量、ストレージ、リベート、返金不可のストレージ手数料、正味のガス差分(生の基本単位と小数形式の表示値)
- 残高の変動(生の基本単位と小数形式の表示値)
- 利用可能な場合はデコードされたイベントフィールド。
player_bet、coin_outcome、stake_amount、outcome_amountなど、標準のBetResultEventのゲーム詳細を含みます。MCP App は受け取った解析済みの結果フィールドをすべて表示するため、coinflip 以外のゲームでもそれぞれ固有の解析済み結果キーが表示されます。
共通のトランザクション入力
build、dry-run、ペアウォレットでの execute には、Sui の生アドレス、name.sui のような SuiNS 名、または sub.name.sui のような SuiNS サブネームである owner を指定します。SuiNS の所有者は、未署名トランザクションの構築またはドライランの前に、設定されたネットワークを通じて解決されます。セッション実行(mode: "execute", executionWallet: "session")では、MCP はローカルのセッションウォレットアドレスを使用するため、owner は不要です。read-only を使用すると、owner を指定する前にツールの要件を確認できます。
coinType のデフォルトは、設定済みの SUI です。トランザクションの stake、cashStake、SweetHouse の amount 入力は、ベース単位の整数ではなく、選択したコインの通貨額です。たとえば、解決されたコインタイプに応じて、stake: 1 または amount: 1 は 1 SUI または 1 USDC を意味します。MCP サーバーは、設定されたコインの decimals 値を使用して、SDK のトランザクションビルダーを呼び出す前にこれらの金額をベース単位に変換します。
任意の共通トランザクション入力として、MIST 単位の gasBudget があります。ベット構築ワークフローでは metadata も指定できます。ネイティブ SUI コインを使用するワークフロー(ネイティブ SUI のベットや NFT V1 のミントなど)では、useGasCoin も指定できます。メタデータの値は、JSON 互換の文字列、数値、またはブール値である必要があります。大きな整数は文字列として送信してください。PvP Coinflip のキャンセルではベットコインを作成せず、メタデータも書き込まないため、このツールは metadata と useGasCoin を受け付けません。
Keno、Limbo、Plinko、Range、Soccer、または Wheel で betCount を指定すると、MCP サーバーは有効なオンチェーンパラメーターを読み込み、そのゲームで宣言された最大値を超える値を拒否します。Coinflip では最大ベット数は宣言されていません。
ワークフロー固有の入力
| ワークフロー | 必須入力 | 任意入力 | 備考 |
|---|---|---|---|
| Coinflip | side | — | — |
| Keno | configId、picks | — | picks はボード上の位置を示す配列です。 |
| Limbo | targetMultiplier | — | — |
| Plinko、Wheel | configId | — | — |
| Soccer | configId、countryId、shotZoneId | — | — |
| Range | leftPoint、rightPoint | outOfRange | — |
| PvP Coinflip Create | creatorSide | isPrivate | — |
| PvP Coinflip Join | gameId | — | トランザクションの構築時にゲームの賭け金を読み込みます。 |
| PvP Coinflip Cancel | gameId | — | metadata と useGasCoin は受け付けません。 |
| Referral Commission Claim | owner | coinType | coinType のデフォルトは、設定済みの SUI です。 |
| Referral Level-up USD Rewards Claim | owner | — | 設定済みの USDC を使用します。 |
| NFT V1 Mint | owner、specId | useGasCoin | 構築時に、設定された NFT ファクトリーから仕様の SUI 価格を解決します。 |
| SweetHouse Deposit | owner、amount | coinType、useGasCoin | パブリックプールに預け入れ、ステーキング済みコインを owner に返します。 |
| SweetHouse Redeem Request | owner、amount | coinType | owner のステーキング済みコインを使用して、償還リクエストを作成します。 |
| SweetHouse Delayed Redeem Claim | owner、requestId | coinType | 償還リクエストを作成したアドレスで署名する必要があります。 |
Config
network のデフォルトは testnet です。サポートされているのは mainnet と testnet のみです。
任意の config 入力は、公開 SDK の拡張オーバーライド形式に従います。
{
packageIds?: {
nftV1?: string;
core?: string;
referral?: string;
coinflip?: string;
keno?: string;
limbo?: string;
plinko?: string;
pvpCoinflip?: string;
range?: string;
soccer?: string;
wheel?: string;
};
objectIds?: {
sweetHouse?: string;
nftV1Factory?: string;
};
coins?: {
sui?: { coinType?: string; decimals?: number; priceInfoObjectId?: string };
usdc?: { coinType?: string; decimals?: number; priceInfoObjectId?: string };
};
}
ゲーム、リファラル、コアの呼び出しでは、デフォルトで @suigar/* の MVR パッケージ名が使用されます。必要に応じて、任意の packageIds エントリーでこれらのパッケージ名を上書きできます。nftV1 は MVR から解決されないため、ネットワークごとに設定されます。
パートナーのアトリビューションはトップレベルの partner として渡してください。MCP サーバーはこれを suigar({ partner }) を通じて転送します。
metadata を受け付けるトランザクションツールでは、JSON 互換の文字列、数値、またはブール値が必要です。大きな整数のメタデータ値は文字列として送信してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。