Sui Butler
An MCP server for the Sui blockchain that enables AI agents to manage accounts, execute token swaps, and perform smart contract development using the Sui CLI. It supports over 30 tools for DeFi operations, staking, and market data via Pyth price oracles.
README
Sui Butler
Move to https://github.com/tamago-labs/sui-mcp
Sui Butler is a Model Context Protocol (MCP) server implementation for the Sui blockchain ecosystem that bridges AI intelligence for simplified development and more.
Components
The system is composed of two subsystems:
- Sui Butler Client – (This repository) A Node.js TypeScript library designed to run inside MCP-compatible AI model clients such as Claude Desktop. It enables AI agents to interact with the Sui blockchain.
- Sui Butler Backend – The backend system built using the AWS Serverless Stack. It includes backend services and a dashboard for issuing access keys and managing transactions in zkLogin mode.
Features
- 30+ MCP tools covering account management, smart contract development, staking, token operations and market data
- Token swaps on Mainnet via the Cetus DEX Aggregator
- Pyth price oracle integration for real-time market data
- Sui CLI integration for smart contract development and testing
- Fully non-custodial, enables transactions using zkLogin wallets from the AI chat interface
Using with Claude Desktop
There are two mode available: zkLogin (recommended for most new users) and Private Key (for advanced users).
Private Key Mode
In Private Key mode, all operations (including transfers and other write operations) will be executed automatically without requiring additional approval.
- Install Claude Desktop if you haven't already
- Open Claude Desktop settings
- Add the Sui MCP client to your configuration:
{
"mcpServers": {
"sui-butler": {
"command": "npx",
"args": [
"-y",
"sui-butler",
"--sui_private_key=YOUR_PRIVATE_KEY",
"--sui_network=mainnet"
],
"disabled": false
}
}
}
Private Key mode is recommended for advanced users who can securely manage their private keys. The MCP client handles transactions locally without exposing any data to external servers.
zkLogin Mode
With zkLogin authentication, read operations (balance checks, quotes) work immediately, but write operations (transfers, swaps) require approval in the dashboard.
- Install Claude Desktop if you haven't already
- Open Claude Desktop settings
- Add the Sui MCP client to your configuration:
{
"mcpServers": {
"sui-butler": {
"command": "npx",
"args": [
"-y",
"sui-butler",
"--sui_access_key=YOUR_ACCESS_KEY",
"--sui_network=mainnet"
],
"disabled": false
}
}
}
The access key can be obtained from the dashboard. After logging in, a unique access key will be generated for each user.
Use Cases
1. DeFi Portfolio Management
Butler connects to Pyth price oracles and external sources to help you:
- Monitor real-time cryptocurrency prices across multiple assets
- Compare prices across different platforms for optimal trading opportunities
- Execute token swaps via Cetus Aggregator
Example:
2. Smart Contract Development & Testing Assistance
Butler integrates with the Sui CLI to help developers:
- Analyze existing Move code and suggest improvements
- Generate comprehensive test cases for smart contracts
- Publish and upgrade packages directly through AI conversation
Example:
3. Protocol Governance & Parameter Management
Butler assists DeFi protocol managers with:
- Checking external sources to determine optimal parameters based on current market conditions
- For example, in collateralization protocols, Butler can analyze asset prices to suggest better collateral ratio settings for smart contracts
- Then propose new governance parameters through AI conversations
Example:
Background
Today, when building AI applications—especially those focused on crypto, we often rely on agent kits based on Langchain. These kits tightly couple the AI model and components, requiring frequent updates, otherwise, the application risks becoming non-functional within a few months or even weeks.
Model Context Protocol (MCP), introduced by Claude AI in late 2024, has quickly become popular today. It solves this issue by integrating directly with AI interfaces, allowing users to easily switch to the latest models and interact with Web3 through standardized tools.
Available Tools
Wallet Operations
| Tool Name | Description | Example Usage |
|---|---|---|
sui_get_wallet_address |
Retrieve your wallet address | "What's my wallet address?" |
sui_get_all_balances |
Get all token balances | "Show my token balances" |
Token Transfers & DeFi
| Tool Name | Description | Example Usage |
|---|---|---|
sui_transfer_token |
Transfer tokens to another address | "Transfer 10 SUI to 0x123..." |
sui_get_swap_quote |
Get a quote for swapping tokens | "Get quote for swapping 10 SUI to CETUS" |
sui_swap_tokens |
Swap tokens on Cetus Aggregator | "Swap 10 SUI to CETUS with 0.5% slippage" |
Staking Operations
| Tool Name | Description | Example Usage |
|---|---|---|
sui_get_validators |
Get all active validators | "What are good validator to stake with?" |
sui_stake |
Stake SUI tokens to a validator | "Stake 100 SUI to validator X" |
sui_get_stake |
Get all staked SUI tokens | "Show my staked positions" |
sui_unstake |
Unstake SUI tokens | "Unstake my SUI from validator X" |
Token Management
| Tool Name | Description | Example Usage |
|---|---|---|
sui_deploy_token |
Deploy a new token on Sui | "Create a token named MyToken with symbol MTK" |
SNS Domain Services
| Tool Name | Description | Example Usage |
|---|---|---|
sui_get_sns_name_record |
Get SNS domain information | "Look up info about domain.sui" |
sui_register_sns |
Register a SNS domain | "Register myname.sui for 2 years" |
Sui CLI Integration
| Tool Name | Description | Example Usage |
|---|---|---|
sui_cli_publish |
Deploy a Move package to the network | "Deploy a Move package on provided folder to the network" |
sui_cli_move_test |
Run Move unit tests on the folder | "Run tests for my smart contract on provided folder" |
sui_cli_move_new |
Create a new Move project | "Help create a new move project name my-project-test" |
sui_cli_move_build |
Build a Move package | "Help build the package on the provided folder" |
sui_cli_call |
Call a Move function | "Call the package 0x1234 on update_k() with this args [10000]" |
sui_cli_active_env |
Get the currently active Sui network environment | "Which network of Sui CLI connected to?" |
sui_cli_active_address |
Get the active address on Sui CLI | "Get active address on Sui CLI?" |
sui_cli_addresses |
List all wallet addresses, their aliases | "List all wallets on Sui CLI?" |
sui_cli_switch_address |
Change the active address | "Change active address on Sui CLI to 0x456" |
Price Data (Pyth)
| Tool Name | Description | Example Usage |
|---|---|---|
pyth_search_price_feeds |
Search for price feeds | "Find BTC price feeds on Pyth" |
pyth_get_prices |
Get prices by feed IDs | "Get the latest BTC and ETH prices" |
pyth_get_common_crypto_prices |
Get common crypto prices | "What are the current prices for BTC, ETH, SOL and SUI?" |
zkLogin Transaction Flow
When a user operates in zkLogin mode using an MCP-compatible AI client:
-
The client pushes a transaction request to the backend.
-
The transaction is stored in the database with a pending status.
-
The user can visit the dashboard to manually approve the transaction using their zkLogin-authenticated session.
Troubleshooting
If you're using Ubuntu or another Linux environment with NVM, you'll need to manually configure the path. Follow these steps:
- Install the Sui Butler under your current NVM-managed Node.js version.
npm install -g sui-butler
- Due to how NVM installs libraries, you may need to use absolute paths in your config. Replace the example values below with your actual username and Node version:
{
"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"
]
}
}
}
- Restart Claude Desktop and it should work now.
Work with Local Files
When working with local files especially when using Sui CLI tools for smart contract development to create, build, and test a Move package on your machine—you’ll need to import an additional MCP server library of filesystem made by Claude team. Use with:
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"${workspaceFolder}"
],
"disabled": false
}
workspaceFolder refers to your working directory. You can provide more than one argument. Subfolders or specific files can then be referenced in your AI prompt.
If you're using Linux and encounter issues during setup, please refer to the troubleshooting section.
License
This project is licensed under the MIT License.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。