Sui Serverless MCP について
Sui Serverless MCPは、MCP対応AIクライアントからSuiブロックチェーンを操作するサーバーです。ウォレット、トークン、ステーキング、Move開発、スワップ、Pyth価格データのツールを提供し、zkLoginと秘密鍵のモードに対応します。
主な機能
- 01ウォレット、残高、トークン送金の管理
- 02Cetus Aggregator経由のトークンスワップ
- 03SUIのステーキングとポジション管理
- 04Sui CLIによるMoveパッケージの開発とテスト
- 05Pythの市場価格取得
活用シーン
- 01残高の確認とSuiトークンの送金
- 02スワップ見積もりの取得とCetusでの取引
- 03Moveパッケージのビルド、テスト、公開
- 04DeFiの判断材料として暗号資産価格を確認
MCP 対応
Suiのアカウントやトークン操作、ステーキング、スマートコントラクト開発、マーケットデータ向けに30以上のMCPツールを提供します。zkLoginモードでは、書き込みトランザクションにダッシュボードでの承認が必要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Sui Butler
https://github.com/tamago-labs/sui-mcp に移動
Sui Butler は、Sui ブロックチェーンエコシステム向けの Model Context Protocol(MCP)サーバー実装です。AI の知能を橋渡しし、開発の簡素化などを実現します。
コンポーネント
システムは 2 つのサブシステムで構成されています。
- Sui Butler Client – (このリポジトリ)Claude Desktop など、MCP 対応の AI モデルクライアント内で実行するよう設計された Node.js TypeScript ライブラリです。AI エージェントが Sui ブロックチェーンとやり取りできるようにします。
- Sui Butler Backend – AWS Serverless Stack を使用して構築されたバックエンドシステムです。バックエンドサービスに加え、zkLogin モードでアクセスキーを発行し、トランザクションを管理するためのダッシュボードが含まれています。
機能
- アカウント管理、スマートコントラクト開発、ステーキング、トークン操作、市場データをカバーする 30 種類以上の MCP ツール
- Cetus DEX Aggregator を介した Mainnet でのトークンスワップ
- リアルタイムの市場データを取得する Pyth 価格オラクル統合
- スマートコントラクトの開発とテストに対応する Sui CLI 統合
- 完全な非カストディアル設計により、AI チャットインターフェースから zkLogin ウォレットを使用したトランザクションが可能
Claude Desktop での使用
利用できるモードは 2 つあります。zkLogin(ほとんどの新規ユーザーに推奨)と Private Key(上級ユーザー向け)です。
Private Key モード
Private Key モードでは、転送やその他の書き込み操作を含むすべての操作が、追加の承認を必要とせず自動的に実行されます。
- まだインストールしていない場合は、Claude Desktop をインストールします
- Claude Desktop の設定を開きます
- Sui MCP クライアントを設定に追加します。
{
"mcpServers": {
"sui-butler": {
"command": "npx",
"args": [
"-y",
"sui-butler",
"--sui_private_key=YOUR_PRIVATE_KEY",
"--sui_network=mainnet"
],
"disabled": false
}
}
}
Private Key モードは、秘密鍵を安全に管理できる上級ユーザーにおすすめです。MCP クライアントはトランザクションをローカルで処理し、外部サーバーにデータを公開しません。
zkLogin モード
zkLogin 認証では、読み取り操作(残高の確認、見積もり)はすぐに実行できますが、書き込み操作(転送、スワップ)にはダッシュボードでの承認が必要です。
- まだインストールしていない場合は、Claude Desktop をインストールします
- Claude Desktop の設定を開きます
- Sui MCP クライアントを設定に追加します。
{
"mcpServers": {
"sui-butler": {
"command": "npx",
"args": [
"-y",
"sui-butler",
"--sui_access_key=YOUR_ACCESS_KEY",
"--sui_network=mainnet"
],
"disabled": false
}
}
}
アクセスキーはダッシュボードから取得できます。ログイン後、ユーザーごとに固有のアクセスキーが生成されます。
ユースケース
1. DeFi ポートフォリオ管理
Butler は Pyth 価格オラクルや外部ソースに接続し、次のことを支援します。
- 複数の資産にわたる暗号資産価格をリアルタイムで監視する
- 最適な取引機会を見つけるため、さまざまなプラットフォームの価格を比較する
- Cetus Aggregator を介してトークンスワップを実行する
例:
2. スマートコントラクト開発とテストの支援
Butler は Sui CLI と連携して、開発者を次のように支援します。
- 既存の Move コードを分析し、改善案を提示する
- スマートコントラクト向けの包括的なテストケースを生成する
- AI との会話を通じて、パッケージの公開やアップグレードを直接行う
例:
3. プロトコルのガバナンスとパラメーター管理
Butler は DeFi プロトコルの管理者を次のように支援します。
- 外部ソースを確認し、現在の市場状況に基づいて最適なパラメーターを判断します
- たとえば、担保化プロトコルでは、Butler が資産価格を分析し、スマートコントラクトの担保比率をより適切に設定するための提案を行います
- その後、AI との会話を通じて、新しいガバナンスパラメーターを提案します
例:
背景
現在、AI アプリケーション、特に暗号資産に特化したものを構築する際、Langchain ベースのエージェントキットに頼ることがよくあります。これらのキットは AI モデルとコンポーネントを密接に結合しているため、頻繁な更新が必要です。更新しない場合、数か月、場合によっては数週間でアプリケーションが機能しなくなる恐れがあります。
2024 年後半に Claude AI が発表した Model Context Protocol(MCP)は、現在急速に普及しています。AI インターフェースと直接統合することでこの問題を解決し、ユーザーが最新のモデルに簡単に切り替え、標準化されたツールを通じて Web3 を利用できるようにします。
利用可能なツール
ウォレット操作
| ツール名 | 説明 | 使用例 |
|---|---|---|
sui_get_wallet_address | ウォレットアドレスを取得します | 「ウォレットアドレスを教えてください」 |
sui_get_all_balances | すべてのトークン残高を取得します | 「トークン残高を表示してください」 |
トークンの送金と DeFi
| ツール名 | 説明 | 使用例 |
|---|---|---|
sui_transfer_token | トークンを別のアドレスに送金します | 「10 SUI を 0x123... に送金してください」 |
sui_get_swap_quote | トークン交換の見積もりを取得します | 「10 SUI を CETUS に交換する見積もりを取得してください」 |
sui_swap_tokens | Cetus Aggregator でトークンを交換します | 「スリッページ 0.5% で 10 SUI を CETUS に交換してください」 |
ステーキング操作
| ツール名 | 説明 | 使用例 |
|---|---|---|
sui_get_validators | すべてのアクティブなバリデーターを取得します | 「ステーキングに適したバリデーターを教えてください」 |
sui_stake | SUI トークンをバリデーターにステークします | 「100 SUI をバリデーター X にステークしてください」 |
sui_get_stake | ステーク済みの SUI トークンをすべて取得します | 「ステーキング中のポジションを表示してください」 |
sui_unstake | SUI トークンのステーキングを解除します | 「バリデーター X から SUI のステーキングを解除してください」 |
トークン管理
| ツール名 | 説明 | 使用例 |
|---|---|---|
sui_deploy_token | Sui 上に新しいトークンをデプロイします | 「MyToken という名前で、シンボル MTK のトークンを作成してください」 |
SNS ドメインサービス
| ツール名 | 説明 | 使用例 |
|---|---|---|
sui_get_sns_name_record | SNS ドメイン情報を取得します | 「domain.sui の情報を調べてください」 |
sui_register_sns | SNS ドメインを登録します | 「myname.sui を 2 年間登録してください」 |
Sui CLI 統合
| ツール名 | 説明 | 使用例 |
|---|---|---|
sui_cli_publish | Move パッケージをネットワークにデプロイします | "指定したフォルダー内の Move パッケージをネットワークにデプロイしてください" |
sui_cli_move_test | フォルダー内で Move のユニットテストを実行します | 「指定したフォルダー内のスマートコントラクトのテストを実行してください」 |
sui_cli_move_new | 新しい Move プロジェクトを作成します | 「my-project-test という名前の新しい Move プロジェクトの作成を手伝ってください」 |
sui_cli_move_build | Move パッケージをビルドします | 「指定したフォルダー内のパッケージのビルドを手伝ってください」 |
sui_cli_call | Move 関数を呼び出します | 「引数 [10000] でパッケージ 0x1234 の update_k() を呼び出してください」 |
sui_cli_active_env | 現在アクティブな Sui ネットワーク環境を取得します | 「Sui CLI はどのネットワークに接続していますか?」 |
sui_cli_active_address | Sui CLI のアクティブなアドレスを取得します | 「Sui CLI のアクティブなアドレスを取得してください」 |
sui_cli_addresses | すべてのウォレットアドレスとそのエイリアスを一覧表示します | 「Sui CLI のウォレットをすべて一覧表示してください」 |
sui_cli_switch_address | アクティブなアドレスを変更します | 「Sui CLI のアクティブなアドレスを 0x456 に変更してください」 |
価格データ(Pyth)
| ツール名 | 説明 | 使用例 |
|---|---|---|
pyth_search_price_feeds | 価格フィードを検索します | 「PythでBTCの価格フィードを検索して」 |
pyth_get_prices | フィードIDで価格を取得します | 「BTCとETHの最新価格を取得して」 |
pyth_get_common_crypto_prices | 主要な暗号資産の価格を取得します | 「BTC、ETH、SOL、SUIの現在の価格は?」 |
zkLogin トランザクションのフロー
ユーザーがMCP互換のAIクライアントを使ってzkLoginモードで操作する場合:
-
クライアントがバックエンドにトランザクションリクエストを送信します。
-
トランザクションは保留中のステータスでデータベースに保存されます。
-
ユーザーはダッシュボードにアクセスし、zkLoginで認証されたセッションを使ってトランザクションを手動で承認できます。
トラブルシューティング
NVMを使っているUbuntuやその他のLinux環境では、パスを手動で設定する必要があります。次の手順に従ってください:
- 現在のNVM管理下にあるNode.jsのバージョンにSui Butlerをインストールします。
npm install -g sui-butler
- NVMがライブラリをインストールする仕組み上、設定で絶対パスを使用する必要がある場合があります。以下の例の値を実際のユーザー名とNodeのバージョンに置き換えてください:
{
"mcpServers": {
"sui-mcp": {
"command": "/home/YOUR_NAME/.nvm/versions/node/YOUR_NODE_VERSION/bin/node",
"args": [
"/home/YOUR_NAME/.nvm/versions/node/YOUR_NODE_VERSION/bin/sui-butler",
"--sui_access_key=YOUR_ACCESS_KEY",
"--sui_network=mainnet"
]
}
}
}
- Claude Desktopを再起動すると、動作するはずです。
ローカルファイルを扱う
ローカルファイルを扱う際、特にSui CLIツールを使ってスマートコントラクトを開発し、マシン上でMoveパッケージを作成、ビルド、テストする場合は、Claudeチームが作成したfilesystemの追加MCPサーバーライブラリをインポートする必要があります。次のように使用します:
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"${workspaceFolder}"
],
"disabled": false
}
workspaceFolderは作業ディレクトリを指します。複数の引数を指定できます。サブフォルダーや特定のファイルは、AIプロンプトから参照できます。
Linuxを使用していてセットアップ中に問題が発生した場合は、トラブルシューティングのセクションを参照してください。
ライセンス
このプロジェクトはMITライセンスの下でライセンスされています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。