关于 Sui Serverless MCP
Sui Serverless MCP 将兼容 MCP 的 AI 客户端连接到 Sui 区块链操作,提供钱包、代币、质押、Move 开发、兑换和 Pyth 价格数据工具,支持 zkLogin 与私钥模式。
主要功能
- 01管理钱包、余额和代币转账
- 02通过 Cetus Aggregator 兑换代币
- 03质押并管理 SUI 持仓
- 04使用 Sui CLI 开发和测试 Move 包
- 05获取 Pyth 市场价格
适用场景
- 01查看余额并转账 Sui 代币
- 02获取兑换报价并通过 Cetus 交易
- 03构建、测试或发布 Move 包
- 04参考加密货币价格进行 DeFi 决策
MCP 相关
该服务提供 30 多个 MCP 工具,用于 Sui 账户和代币操作、质押、智能合约工作流及市场数据。zkLogin 模式下,写入交易需要通过控制面板批准。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Sui Butler
迁移至 https://github.com/tamago-labs/sui-mcp
Sui Butler 是面向 Sui 区块链生态的模型上下文协议(MCP)服务实现,旨在连接 AI 智能与区块链,从而简化开发等工作。
组件
该系统由两个子系统组成:
- Sui Butler 客户端 –(本仓库)这是一个 Node.js TypeScript 库,旨在运行于兼容 MCP 的 AI 模型客户端中,例如 Claude Desktop。它使 AI Agent 能够与 Sui 区块链交互。
- Sui Butler 后端 – 基于 AWS Serverless Stack 构建的后端系统。它包含后端服务和一个用于发放访问密钥以及管理 zkLogin 模式交易的仪表板。
功能
- 提供 30 多种 MCP 工具,涵盖账户管理、智能合约开发、质押、代币操作和市场数据
- 通过 Cetus DEX 聚合器在 Mainnet 上进行代币兑换
- 集成 Pyth 价格预言机,提供实时市场数据
- 集成 Sui CLI,用于智能合约开发和测试
- 完全非托管,可通过 AI 聊天界面使用 zkLogin 钱包进行交易
在 Claude Desktop 中使用
提供两种模式: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 的 Agent 工具包。这些工具包将 AI 模型与组件紧密耦合,需要频繁更新,否则应用可能在几个月甚至几周内无法正常运行。
Claude AI 于 2024 年底推出的 Model Context Protocol(MCP)如今已迅速流行起来。它通过直接集成到 AI 接口中解决了这一问题,让用户能够轻松切换到最新模型,并通过标准化工具与 Web3 交互。
可用工具
钱包操作
| 工具名称 | 描述 | 示例用法 |
|---|---|---|
sui_get_wallet_address | 获取你的钱包地址 | “我的钱包地址是什么?” |
sui_get_all_balances | 获取所有代币余额 | “显示我的代币余额” |
代币转账与 DeFi
| 工具名称 | 描述 | 示例用法 |
|---|---|---|
sui_transfer_token | 向其他地址转账代币 | “向 0x123... 转账 10 SUI” |
sui_get_swap_quote | 获取代币兑换报价 | “获取将 10 SUI 兑换为 CETUS 的报价” |
sui_swap_tokens | 在 Cetus Aggregator 上兑换代币 | “将 10 SUI 兑换为 CETUS,滑点设为 0.5%” |
质押操作
| 工具名称 | 描述 | 示例用法 |
|---|---|---|
sui_get_validators | 获取所有活跃验证者 | “有哪些适合质押的验证者?” |
sui_stake | 将 SUI 代币质押给验证者 | “将 100 SUI 质押给验证者 X” |
sui_get_stake | 获取所有已质押的 SUI 代币 | “显示我的质押仓位” |
sui_unstake | 解除质押验证者 X 上的 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 身份验证的会话手动批准交易。
故障排除
如果你使用 Ubuntu 或其他搭配 NVM 的 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 团队制作的额外 MCP 服务库 filesystem。使用方法:
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"${workspaceFolder}"
],
"disabled": false
}
workspaceFolder 指你的工作目录。你可以提供多个参数。之后便可在 AI 提示词中引用子文件夹或特定文件。
如果你使用 Linux 并在设置过程中遇到问题,请参阅故障排除部分。
许可证
本项目采用 MIT 许可证。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。