sui-mcp-server

最も包括的な Sui ブロックチェーン MCP サーバーです。 GraphQL と JSON-RPC のデュアルトランスポートに対応した 53 個のツールを備え、ウォレット、DeFi(Cetus、DeepBook)、SuiNS、ステーキング、バリデーター、Move のイントロスペクション、Sui RPC の全機能をカバーしています。
競合製品が基本操作向けに 10〜15 個のツールを提供するのに対し、このサーバーは単一のパッケージで Sui エコシステム全体をカバーします。
インストール
npx sui-mcp-server
または、グローバルにインストールします。
npm install -g sui-mcp-server
sui-mcp-server
設定
MCP 設定(claude_desktop_config.json または ~/.mcp.json)に追加します。
{
"mcpServers": {
"sui": {
"command": "npx",
"args": ["-y", "sui-mcp-server"]
}
}
}
API キーは不要です。Sui のパブリック RPC ノードに直接接続します。
ツール(53)
ウォレット管理(4)
| ツール | 説明 | 主なパラメーター |
|---|
create_wallet | 新しい Ed25519 キーペアを作成します(メモリー内のみで、永続化されません) | -- |
import_wallet | Bech32 形式でエンコードされた秘密鍵(suiprivkey...)からインポートします | privateKey |
list_wallets | 現在のセッションにあるすべてのウォレットを一覧表示します | -- |
get_balance | 任意のアドレスの SUI 残高を取得します | address |
コイン操作(4)
| ツール | 説明 | 主なパラメーター |
|---|
get_all_balances | アドレスのすべてのコイン残高(SUI とその他のコインタイプ)を取得します | address |
get_coins | アドレスが所有する特定のタイプのコインオブジェクトを取得します | address、coinType |
get_coin_metadata | コインタイプのメタデータ(名前、シンボル、小数桁数)を取得します | coinType |
get_total_supply | コインタイプの総流通量を取得します | coinType |
送金(4)
| ツール | 説明 | 主なパラメーター |
|---|
transfer_sui | アドレス間で SUI を送金します(金額の単位は MIST ではなく SUI です) | from、to、amount |
transfer_objects | 1 つ以上のオブジェクトを受取人に送金します | from、objectIds、to |
merge_coins | 複数のコインを 1 つに統合します(ガスの競合に対応) | walletName、coinType |
split_coins | コインを複数のコインに分割します | walletName、coinId、amounts |
オブジェクトの照会(5)
| ツール | 説明 | 主なパラメーター |
|---|
get_object | ID を指定して、オンチェーンオブジェクトの詳細をすべて取得します | objectId |
get_owned_objects | アドレスが所有するオブジェクトを、オプションでタイプを絞り込んで取得します | address、type |
get_dynamic_fields | オブジェクトの動的フィールド(テーブル、バッグ)を取得します | parentId |
multi_get_objects | 1 回の呼び出しで最大 50 個のオブジェクトを一括取得します | objectIds |
get_object_history | 指定したオブジェクトに関与したすべてのトランザクションを追跡します | objectId |
トランザクション(4)
| ツール | 説明 | 主なパラメーター |
|---|
get_transaction | ダイジェストを指定して、トランザクションの詳細をすべて取得します | digest |
dry_run_transaction | 実行せずに効果を確認するドライランを行います | txBytes |
query_transactions | 送信者、受取人、オブジェクト、Move 関数で検索します | filter |
get_total_transactions | ネットワーク上のトランザクション総数を取得します | -- |
Move スマートコントラクト(7)
| ツール | 説明 | 主なパラメーター |
|---|
move_call | Move 関数呼び出しを実行します | walletName、target、arguments |
dev_inspect | 実行せずに Move 呼び出しをシミュレートします(ウォレット不要) | sender、target、arguments |
get_normalized_module | Move モジュールの完全な定義(関数、構造体) | package、module |
get_move_function | Move 関数の詳細(パラメーター、戻り値の型、可視性) | package、module、function |
get_move_struct | Move 構造体の定義(フィールド、能力) | package、module、struct |
get_package_modules | Move パッケージ内のすべてのモジュールを一覧表示します | package |
get_move_call_metrics | ネットワーク全体の Move 呼び出しメトリクス | -- |
ステーキング(4)
| ツール | 説明 | 主なパラメーター |
|---|
get_stakes | アドレスに紐づくすべてのステーキングポジション | address |
request_add_stake | バリデーターに SUI をステーキングします | walletName、amount、validator |
request_withdraw_stake | ステーキング中の SUI を引き出します | walletName、stakedSuiId |
get_validators | APY、手数料、ステーキング額を含むバリデーターの完全な一覧 | -- |
イベント(1)
| ツール | 説明 | 主なパラメーター |
|---|
query_events | 種類、送信者、パッケージ、ダイジェストでオンチェーンイベントを照会します | filter |
ネットワークと分析(9)
| ツール | 説明 | 主なパラメーター |
|---|
switch_network | mainnet、testnet、devnet、localnet を切り替えます | network |
get_network_info | チェーン ID、エポック、ガス価格、最新チェックポイント | -- |
get_latest_checkpoint | 最新のチェックポイント連番 | -- |
get_reference_gas_price | 現在の参照ガス価格(MIST 単位) | -- |
get_checkpoint | 連番で指定したチェックポイントの詳細データ | sequenceNumber |
get_epoch_info | 過去のエポックデータ(時刻、ステーキング、ガスの概要) | epoch |
get_protocol_config | Sui プロトコルの設定(制限、機能) | -- |
get_system_state | システム状態全体:エポック、バリデーター、ストレージファンド | -- |
get_committee_info | 任意のエポックのバリデーター委員会情報 | epoch |
SuiNS ネームサービス(4)
| ツール | 説明 | 主なパラメーター |
|---|
resolve_name | example.sui を Sui アドレスに解決します | name |
resolve_address | アドレスを逆引きして SuiNS 名を取得します | address |
suins_get_name_record | 名前レコード全体 -- NFT ID、ターゲット、有効期限、メタデータ | name |
suins_get_price | 名前の長さに応じた登録および更新料金 | length |
DeFi:Cetus DEX(2)
| ツール | 説明 | 主なパラメーター |
|---|
cetus_get_pools | コインの種類で Cetus CLMM プールを照会します | coinTypeA、coinTypeB |
cetus_get_pool | 特定の Cetus プールの詳細データ | poolId |
DeFi:DeepBook(1)
| ツール | 説明 | 主なパラメーター |
|---|
deepbook_get_pool | DeepBook v3 のオーダーブックデータ -- プールの状態と動的フィールド | poolId |
DeFi:トークンツール(3)
| ツール | 説明 | 主なパラメーター |
|---|
get_token_price | DeFi プールの準備金を照会してトークン価格を取得します | token |
swap_quote | プールに対するシミュレーションでスワップ見積もりを取得します | tokenIn、tokenOut、amount |
list_common_tokens | 完全なコイン型アドレスを含む一般的な Sui トークン | -- |
Faucet(1)
| ツール | 説明 | 主なパラメーター |
|---|
request_faucet | Faucet から SUI をリクエストします(devnet と testnet のみ) | address |
これを選ぶ理由
- 53 個のツール(競合製品は 10~15 個)。 0xdwong/sui-mcp などの競合製品は基本的な操作をカバーしています。このサーバーには、DeFi(Cetus、DeepBook)、SuiNS、Move のイントロスペクション、ステーキング、バリデーター、包括的な分析機能が含まれています。
- GraphQL と JSON-RPC のデュアルトランスポート。 公式の
@mysten/sui v2.11 SDK と、ネームサービス用の @mysten/suins をベースに構築されており、GraphQL への移行にも対応できる設計です。
- エンドツーエンドでテスト済み。 devnet、testnet、mainnet で 59 件のテストに合格しています。ウォレットの作成、送金、ステーキング、DeFi クエリ、SuiNS の名前解決、Move の検査をすべて検証済みです。
トークンのショートカット
完全なコインタイプアドレスの代わりに、シンボルのショートカットを使用してください。
| ショートカット | 完全なコインタイプ |
|---|
SUI | 0x2::sui::SUI |
USDC | 0xdba34672e...::usdc::USDC |
USDT | 0xc060006111...::coin::COIN |
WETH | 0xaf8cd5edc1...::coin::COIN |
DEEP | 0xdeeb7a4662...::deep::DEEP |
ネットワーク
デフォルトでは devnet で起動します。switch_network を使って、いつでも切り替えられます。
| ネットワーク | RPC エンドポイント |
|---|
mainnet | https://fullnode.mainnet.sui.io:443 |
testnet | https://fullnode.testnet.sui.io:443 |
devnet | https://fullnode.devnet.sui.io:443 |
localnet | http://127.0.0.1:9000 |
セキュリティ
- キーはメモリ内にのみ保持され、ディスクへの書き込みやログへの記録は行いません
- すべてのエラーメッセージで秘密鍵を伏せています
- レート制限:1 分あたり 120 回(スライディングウィンドウ)
- すべての入力は Zod の厳格なスキーマで検証されます
開発
git clone https://github.com/ExpertVagabond/sui-mcp-server.git
cd sui-mcp-server
npm install
npm run build
npm start
ライセンス
MIT — Matthew Karsten / Purple Squirrel Media