Sui Butler
Un servidor MCP para el ecosistema blockchain Sui que conecta inteligencia artificial para un desarrollo simplificado. Soporta modos zkLogin y clave privada.
Documentación
Sui Butler
Mover a https://github.com/tamago-labs/sui-mcp
Sui Butler es una implementación de servidor de Model Context Protocol (MCP) para el ecosistema de la blockchain de Sui que une la inteligencia artificial para un desarrollo simplificado y más.
Componentes
El sistema se compone de dos subsistemas:
- Sui Butler Client – (Este repositorio) Una biblioteca de TypeScript para Node.js diseñada para ejecutarse dentro de clientes de modelos de IA compatibles con MCP, como Claude Desktop. Permite que los agentes de IA interactúen con la blockchain de Sui.
- Sui Butler Backend – El sistema backend construido con AWS Serverless Stack. Incluye servicios backend y un panel para emitir claves de acceso y gestionar transacciones en modo zkLogin.
Características
- Más de 30 herramientas MCP que cubren gestión de cuentas, desarrollo de contratos inteligentes, staking, operaciones con tokens y datos de mercado
- Intercambios de tokens en Mainnet a través del agregador Cetus DEX
- Integración del oráculo de precios de Pyth para datos de mercado en tiempo real
- Integración con Sui CLI para desarrollo y prueba de contratos inteligentes
- Totalmente no custodial, permite transacciones usando billeteras zkLogin desde la interfaz de chat de IA
Uso con Claude Desktop
Hay dos modos disponibles: zkLogin (recomendado para la mayoría de los nuevos usuarios) y Clave Privada (para usuarios avanzados).
Modo de Clave Privada
En el modo de Clave Privada, todas las operaciones (incluidas transferencias y otras operaciones de escritura) se ejecutarán automáticamente sin requerir aprobación adicional.
- Instala Claude Desktop si aún no lo has hecho
- Abre la configuración de Claude Desktop
- Añade el cliente Sui MCP a tu configuración:
{
"mcpServers": {
"sui-butler": {
"command": "npx",
"args": [
"-y",
"sui-butler",
"--sui_private_key=YOUR_PRIVATE_KEY",
"--sui_network=mainnet"
],
"disabled": false
}
}
}
El modo de Clave Privada se recomienda para usuarios avanzados que puedan gestionar sus claves privadas de forma segura. El cliente MCP maneja las transacciones localmente sin exponer ningún dato a servidores externos.
Modo zkLogin
Con la autenticación zkLogin, las operaciones de lectura (consultas de saldo, cotizaciones) funcionan de inmediato, pero las operaciones de escritura (transferencias, intercambios) requieren aprobación en el panel.
- Instala Claude Desktop si aún no lo has hecho
- Abre la configuración de Claude Desktop
- Añade el cliente Sui MCP a tu configuración:
{
"mcpServers": {
"sui-butler": {
"command": "npx",
"args": [
"-y",
"sui-butler",
"--sui_access_key=YOUR_ACCESS_KEY",
"--sui_network=mainnet"
],
"disabled": false
}
}
}
La clave de acceso se puede obtener desde el panel. Después de iniciar sesión, se generará una clave de acceso única para cada usuario.
Casos de Uso
1. Gestión de Cartera DeFi
Butler se conecta a los oráculos de precios de Pyth y a fuentes externas para ayudarte a:
- Monitorear precios de criptomonedas en tiempo real en múltiples activos
- Comparar precios entre diferentes plataformas para oportunidades de trading óptimas
- Ejecutar intercambios de tokens a través del Agregador Cetus
Ejemplo:
2. Asistencia en Desarrollo y Pruebas de Contratos Inteligentes
Butler se integra con Sui CLI para ayudar a los desarrolladores:
- Analizar código Move existente y sugerir mejoras
- Generar casos de prueba completos para contratos inteligentes
- Publicar y actualizar paquetes directamente a través de la conversación con IA
Ejemplo:
3. Gobernanza de Protocolo y Gestión de Parámetros
Butler asiste a los gestores de protocolos DeFi con:
- Verificar fuentes externas para determinar parámetros óptimos según las condiciones actuales del mercado
- Por ejemplo, en protocolos de colateralización, Butler puede analizar precios de activos para sugerir mejores configuraciones de ratio de colateral para contratos inteligentes
- Luego proponer nuevos parámetros de gobernanza a través de conversaciones con IA
Ejemplo:
Antecedentes
Hoy en día, al construir aplicaciones de IA—especialmente las centradas en cripto—a menudo dependemos de kits de agentes basados en Langchain. Estos kits acoplan estrechamente el modelo de IA y los componentes, requiriendo actualizaciones frecuentes; de lo contrario, la aplicación corre el riesgo de volverse no funcional en unos pocos meses o incluso semanas.
El Protocolo de Contexto de Modelo (MCP), introducido por Claude AI a finales de 2024, se ha vuelto rápidamente popular hoy en día. Resuelve este problema integrándose directamente con las interfaces de IA, permitiendo a los usuarios cambiar fácilmente a los últimos modelos e interactuar con Web3 a través de herramientas estandarizadas.
Herramientas Disponibles
Operaciones de Cartera
| Nombre de la herramienta | Descripción | Ejemplo de uso |
|---|---|---|
sui_get_wallet_address | Obtén tu dirección de cartera | "¿Cuál es mi dirección de cartera?" |
sui_get_all_balances | Obtén todos los saldos de tokens | "Muestra mis saldos de tokens" |
Transferencias de Tokens y DeFi
| Nombre de la herramienta | Descripción | Ejemplo de uso |
|---|---|---|
sui_transfer_token | Transfiere tokens a otra dirección | "Transfiere 10 SUI a 0x123..." |
sui_get_swap_quote | Obtén una cotización para intercambiar tokens | "Obtén cotización para intercambiar 10 SUI a CETUS" |
sui_swap_tokens | Intercambia tokens en el Agregador Cetus | "Intercambia 10 SUI a CETUS con 0.5% de deslizamiento" |
Operaciones de Staking
| Nombre de la herramienta | Descripción | Ejemplo de uso |
|---|---|---|
sui_get_validators | Obtén todos los validadores activos | "¿Cuáles son buenos validadores para hacer staking?" |
sui_stake | Haz staking de tokens SUI en un validador | "Haz staking de 100 SUI en el validador X" |
sui_get_stake | Obtén todos los tokens SUI en staking | "Muestra mis posiciones en staking" |
sui_unstake | Retira tokens SUI del staking | "Retira mi SUI del validador X" |
Gestión de Tokens
| Nombre de la herramienta | Descripción | Ejemplo de uso |
|---|---|---|
sui_deploy_token | Despliega un nuevo token en Sui | "Crea un token llamado MyToken con símbolo MTK" |
Servicios de Dominio SNS
| Nombre de la herramienta | Descripción | Ejemplo de uso |
|---|---|---|
sui_get_sns_name_record | Obtén información del dominio SNS | "Busca información sobre domain.sui" |
sui_register_sns | Registra un dominio SNS | "Registra myname.sui por 2 años" |
Integración con Sui CLI
| Nombre de la herramienta | Descripción | Ejemplo de uso |
|---|---|---|
sui_cli_publish | Despliega un paquete Move en la red | "Despliega un paquete Move de la carpeta proporcionada a la red" |
sui_cli_move_test | Ejecuta pruebas unitarias de Move en la carpeta | "Ejecuta pruebas para mi contrato inteligente en la carpeta proporcionada" |
sui_cli_move_new | Crea un nuevo proyecto Move | "Ayuda a crear un nuevo proyecto Move llamado my-project-test" |
sui_cli_move_build | Compila un paquete Move | "Ayuda a compilar el paquete en la carpeta proporcionada" |
sui_cli_call | Llama a una función Move | "Llama al paquete 0x1234 en update_k() con estos argumentos [10000]" |
sui_cli_active_env | Obtén el entorno de red Sui actualmente activo | "¿A qué red está conectado Sui CLI?" |
sui_cli_active_address | Obtén la dirección activa en Sui CLI | "¿Obtener dirección activa en Sui CLI?" |
sui_cli_addresses | Lista todas las direcciones de cartera y sus alias | "¿Listar todas las carteras en Sui CLI?" |
sui_cli_switch_address | Cambia la dirección activa | "Cambia la dirección activa en Sui CLI a 0x456" |
Datos de Precio (Pyth)
| Nombre de la herramienta | Descripción | Ejemplo de uso |
|---|---|---|
pyth_search_price_feeds | Busca fuentes de precios | "Encuentra fuentes de precios de BTC en Pyth" |
pyth_get_prices | Obtén precios por IDs de fuente | "Obtén los últimos precios de BTC y ETH" |
pyth_get_common_crypto_prices | Obtén precios comunes de criptomonedas | "¿Cuáles son los precios actuales de BTC, ETH, SOL y SUI?" |
Flujo de Transacciones zkLogin
Cuando un usuario opera en modo zkLogin usando un cliente de IA compatible con MCP:
- El cliente envía una solicitud de transacción al backend.
- La transacción se almacena en la base de datos con estado pendiente.
- El usuario puede visitar el panel para aprobar manualmente la transacción usando su sesión autenticada con zkLogin.
Solución de Problemas
Si estás usando Ubuntu u otro entorno Linux con NVM, necesitarás configurar la ruta manualmente. Sigue estos pasos:
- Instala Sui Butler bajo tu versión actual de Node.js gestionada por NVM.
npm install -g sui-butler
- Debido a cómo NVM instala las bibliotecas, es posible que necesites usar rutas absolutas en tu configuración. Reemplaza los valores de ejemplo a continuación con tu nombre de usuario y versión de Node reales:
{
"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"
]
}
}
}
- Reinicia Claude Desktop y debería funcionar ahora.
Trabajar con Archivos Locales
Al trabajar con archivos locales, especialmente cuando usas herramientas de Sui CLI para desarrollo de contratos inteligentes para crear, compilar y probar un paquete Move en tu máquina—necesitarás importar una biblioteca adicional de servidor MCP de filesystem creada por el equipo de Claude. Úsala con:
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"${workspaceFolder}"
],
"disabled": false
}
workspaceFolder se refiere a tu directorio de trabajo. Puedes proporcionar más de un argumento. Las subcarpetas o archivos específicos pueden luego ser referenciados en tu prompt de IA.
Si estás usando Linux y encuentras problemas durante la configuración, consulta la sección de solución de problemas.
Licencia
Este proyecto está licenciado bajo la Licencia MIT.