Web3 MCP
Interactúa con múltiples blockchains incluyendo Solana, Ethereum, THORChain, XRP Ledger, TON, Cardano y cadenas UTXO.
Documentación
Web3 MCP
Un servidor de Protocolo de Contexto de Modelo (MCP) para interactuar con múltiples blockchains, incluyendo Solana, Ethereum, THORChain, XRP Ledger, TON (The Open Network), Cardano y cadenas UTXO. Este servidor proporciona endpoints RPC simples para operaciones comunes de blockchain, permitiendo interacciones seguras con varias blockchains a través de variables de entorno.
Características
Operaciones de Solana:
- Consultar saldos de cuentas SOL
- Obtener información detallada de cuentas
- Transferir SOL entre cuentas
- Ver saldos de tokens SPL
- Obtener tu dirección de wallet desde la clave privada
- Intercambiar tokens usando Jupiter (Enrutamiento al mejor precio en todos los DEX de Solana)
Operaciones de Ethereum y cadenas EVM:
- Consultar saldos de tokens nativos en múltiples redes
- Consultar saldos de tokens ERC-20
- Enviar tokens nativos (usando clave privada desde .env)
- Enviar tokens ERC-20 (usando clave privada desde .env)
- Aprobar gasto de tokens ERC-20 (usando clave privada desde .env)
Operaciones de Cardano:
- Obtener información y estadísticas de la red
- Consultar saldos de direcciones e historial de transacciones
- Ver UTxOs de una dirección
- Explorar stake pools e información de delegación
- Obtener detalles sobre activos nativos
- Ver información detallada de transacciones
- Obtener estadísticas sobre la época actual
Operaciones de THORChain:
- Consultar saldos de RUNE
- Obtener información detallada de pools
- Obtener cotizaciones de intercambio entre cualquier activo compatible
- Intercambios entre cadenas a través del protocolo THORChain
Operaciones de cadenas UTXO:
- Bitcoin (BTC)
- Consultar saldos de direcciones
- Ver historial de transacciones
- Validar direcciones
- Obtener información de red y tarifas
- Litecoin (LTC)
- Consultar saldos de direcciones
- Ver historial de transacciones
- Validar direcciones
- Obtener información de red y tarifas
- Dogecoin (DOGE)
- Consultar saldos de direcciones
- Ver historial de transacciones
- Validar direcciones
- Obtener información de red y tarifas
- Bitcoin Cash (BCH)
- Consultar saldos de direcciones
- Ver historial de transacciones
- Validar direcciones
- Obtener información de red y tarifas
Operaciones de XRP Ledger:
- Consultar saldos de cuentas XRP
- Ver historial de transacciones
- Validar direcciones XRP
- Enviar XRP a otra dirección
- Obtener información actual de XRP Ledger
- Consultar saldos de tokens
- Crear líneas de confianza (trustlines) para tokens
Operaciones de TON (The Open Network):
- Obtener saldos de cuentas TON
- Ver historial de transacciones
- Validar direcciones TON
- Enviar TON a otra dirección con memo/comentario opcional
- Obtener información actual de la red TON
Redes EVM compatibles:
- Ethereum
- Base
- Arbitrum
- Optimism
- BSC (Binance Smart Chain)
- Polygon
- Avalanche
- Berachain
Configuración
- Clonar e instalar dependencias:
git clone https://github.com/strangelove-ventures/web3-mcp.git
cd web3-mcp
npm install
- Crear un archivo .env en el directorio raíz:
cp .env.example .env
- Configurar las variables de entorno en .env:
Configuración requerida
# Tool Registration Controls
ENABLE_SOLANA_TOOLS=true # Enable/disable Solana tools
ENABLE_ETHEREUM_TOOLS=true # Enable/disable Ethereum and EVM chain tools
ENABLE_CARDANO_TOOLS=true # Enable/disable Cardano tools
# UTXO Chain Tools
ENABLE_BITCOIN_TOOLS=true # Enable/disable Bitcoin tools
ENABLE_LITECOIN_TOOLS=true # Enable/disable Litecoin tools
ENABLE_DOGECOIN_TOOLS=true # Enable/disable Dogecoin tools
ENABLE_BITCOINCASH_TOOLS=true # Enable/disable Bitcoin Cash tools
ENABLE_THORCHAIN_TOOLS=true # Enable/disable THORChain tools
ENABLE_RIPPLE_TOOLS=true # Enable/disable XRP Ledger tools
ENABLE_TON_TOOLS=true # Enable/disable TON tools
# Private Keys (required for transactions)
ETH_PRIVATE_KEY=your-ethereum-private-key
SOLANA_PRIVATE_KEY=your-base58-encoded-solana-private-key
# XRP Ledger credentials (required for XRP transactions)
# Either private key or mnemonic is required
XRP_PRIVATE_KEY=your-xrp-private-key-in-hex
# OR
XRP_MNEMONIC=your-xrp-mnemonic-recovery-phrase
# Optional - used to verify the derived address
XRP_ADDRESS=your-xrp-account-address
# TON Configuration
TON_MNEMONIC=word1 word2 word3 ... word24 # 24-word recovery phrase for TON wallet
TON_ADDRESS=your-ton-wallet-address # Your TON wallet address
TON_API_KEY=your-toncenter-api-key # Get from @tonapibot on Telegram (optional but recommended)
TON_RPC_URL=https://toncenter.com/api/v2/jsonRPC # Optional - default is TON Center API
# Cardano Configuration
BLOCKFROST_API_KEY=your-blockfrost-api-key # Get a real API key from https://blockfrost.io/
CARDANO_NETWORK=mainnet # or 'testnet', 'preview', 'preprod'
CARDANO_MNEMONIC=your-cardano-mnemonic-phrase # Required for transaction signing
CARDANO_ACCOUNT_INDEX=0 # Optional - defaults to 0
Configuración opcional
# Network RPC URLs (optional - will use public endpoints if not specified)
SOLANA_RPC_URL=https://api.mainnet-beta.solana.com
# Ethereum & Layer 2s
ETH_RPC_URL=https://eth-mainnet.g.alchemy.com/v2/your-api-key
ARBITRUM_RPC_URL=https://arb1.arbitrum.io/rpc
BASE_RPC_URL=https://mainnet.base.org
OPTIMISM_RPC_URL=https://mainnet.optimism.io
# Other EVM Chains
BSC_RPC_URL=https://bsc-dataseed.binance.org
POLYGON_RPC_URL=https://polygon-rpc.com
AVALANCHE_RPC_URL=https://api.avax.network/ext/bc/C/rpc
BERACHAIN_RPC_URL=https://rpc.berachain.com
# XRP Ledger
XRP_RPC_URL=https://xrplcluster.com/ # Optional - will use public endpoint if not specified
# TON Network
TON_RPC_URL=https://toncenter.com/api/v2/jsonRPC # Optional - default is TON Center API
TON_API_KEY=your-toncenter-api-key # Get from @tonapibot on Telegram (optional but recommended)
# THORChain Configuration
THORCHAIN_NODE_URL=https://thornode.ninerealms.com # Optional - will use public endpoint if not specified
THORCHAIN_PRIVATE_KEY=your-thorchain-private-key
THORCHAIN_MNEMONIC=your-thorchain-mnemonic
# UTXO Chain API Keys (optional)
BLOCKCYPHER_API_KEY=your-blockcypher-api-key
SOCHAIN_API_KEY=your-sochain-api-key
- Compilar la herramienta:
npm run build
- Agregar la herramienta a tu claude_desktop_config.json:
{
"mcpServers": {
"web3-rpc": {
"command": "node",
"args": [
"/PATH/TO/web3-mcp/build/index.js"
]
}
}
}
Registro de herramientas
El servidor Web3 MCP te permite controlar qué herramientas de blockchain se registran a través de variables de entorno:
ENABLE_SOLANA_TOOLS: Habilitar/deshabilitar herramientas de SolanaENABLE_ETHEREUM_TOOLS: Habilitar/deshabilitar herramientas de Ethereum y cadenas EVMENABLE_BITCOIN_TOOLS: Habilitar/deshabilitar herramientas de BitcoinENABLE_LITECOIN_TOOLS: Habilitar/deshabilitar herramientas de LitecoinENABLE_DOGECOIN_TOOLS: Habilitar/deshabilitar herramientas de DogecoinENABLE_BITCOINCASH_TOOLS: Habilitar/deshabilitar herramientas de Bitcoin CashENABLE_THORCHAIN_TOOLS: Habilitar/deshabilitar herramientas de THORChainENABLE_RIPPLE_TOOLS: Habilitar/deshabilitar herramientas de XRP LedgerENABLE_CARDANO_TOOLS: Habilitar/deshabilitar herramientas de CardanoENABLE_TON_TOOLS: Habilitar/deshabilitar herramientas de TON
Establece estas variables a true o false en tu archivo .env para controlar qué herramientas están disponibles para el servidor. Esto te permite:
- Reducir el tiempo de inicio cargando solo las herramientas necesarias
- Minimizar la superficie de seguridad deshabilitando cadenas no utilizadas
- Personalizar el servidor para casos de uso específicos
- Controlar el uso de recursos limitando conexiones activas
Ejemplos de uso
Pregunta a Claude (o al cliente MCP de tu elección):
Operaciones de Solana (cuando ENABLE_SOLANA_TOOLS=true)
- "¿Cuál es mi dirección de Solana?" - Muestra tu dirección derivada de la clave privada en .env
- "¿Cuál es el saldo de 62QXuWZ3WT6ws1ZFxJobVDVXn6bEsiYpLo5yG612U6u3?"
- "Transfiere 0.001 SOL a Cg6cVS4tjkxHthm3K9BHhmvqF7kSz8GnXqqYXnHBzGXd"
- "Muéstrame mis saldos de tokens SPL"
- "Intercambia 0.1 SOL a USDC" (Usa Jupiter para el enrutamiento al mejor precio)
Operaciones EVM (cuando ENABLE_ETHEREUM_TOOLS=true)
- "¿Cuál es el saldo de ETH de 0x556437c4d22ceaeeebf82006b85bdcc0ae67d933?"
- "Consulta el saldo de USDC para 0x556437c4d22ceaeeebf82006b85bdcc0ae67d933 en Ethereum"
- "Envía 0.1 ETH a 0x556437c4d22ceaeeebf82006b85bdcc0ae67d933"
- "¿Cuál es el precio actual del gas en Arbitrum?"
- "Envía 100 USDC a 0x556437c4d22ceaeeebf82006b85bdcc0ae67d933 en Polygon"
Operaciones de Cardano (cuando ENABLE_CARDANO_TOOLS=true)
- Obtener el saldo de cualquier Cardano
- Ver la información de tu wallet
- Enviar ADA a otra dirección
- Enviar tokens nativos a otra dirección
Operaciones de Bitcoin (cuando ENABLE_BITCOIN_TOOLS=true)
- "¿Cuál es el saldo de BTC de 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa?"
- "Muéstrame el historial de transacciones para bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh"
- "Valida esta dirección de Bitcoin: 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa"
Operaciones de Litecoin (cuando ENABLE_LITECOIN_TOOLS=true)
- "¿Cuál es el saldo de LTC de LM2WMpR1Rp6j3Sa59cMXMs1SPzj9eXpGc1?"
- "Muéstrame el historial de transacciones para esta dirección de Litecoin"
- "¿Cuál es la tarifa actual de la red Litecoin?"
Operaciones de Dogecoin (cuando ENABLE_DOGECOIN_TOOLS=true)
- "Consulta el saldo de esta dirección DOGE: D8vFz4p1L37jdg47HXKtSHA5uYLYxbGgPD"
- "Muéstrame transacciones recientes de Dogecoin"
- "¿Cuáles son las tarifas actuales de la red DOGE?"
Operaciones de Bitcoin Cash (cuando ENABLE_BITCOINCASH_TOOLS=true)
- "¿Cuál es el saldo de BCH de esta dirección?"
- "Muéstrame el historial de transacciones de BCH"
- "Valida esta dirección de Bitcoin Cash"
Operaciones de THORChain (cuando ENABLE_THORCHAIN_TOOLS=true)
- "¿Cuál es el saldo de RUNE de thor13zpdckczd0jvyhwxmrwnpap8gmy9m5kk2gzum3?"
- "Muéstrame la información del pool para BTC.BTC"
- "Obtén una cotización de intercambio para 0.1 BTC.BTC a ETH.ETH"
Operaciones de XRP Ledger (cuando ENABLE_RIPPLE_TOOLS=true)
- "¿Cuál es el saldo de XRP de rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe?"
- "Muéstrame el historial de transacciones para rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe"
- "¿Es rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe una dirección XRP válida?"
- "Envía 10 XRP a rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe"
- "¿Cuál es la información actual de XRP Ledger?"
- "Muéstrame los saldos de tokens para rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe"
- "Crea una línea de confianza para USD con el emisor rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe con un límite de 1000"
Operaciones de TON (cuando ENABLE_TON_TOOLS=true)
- "¿Cuál es el saldo de TON de EQAAFhjXzKuQ5N0c96nsdZQWATcJm909LYSaCAvWFQF8tvUZ?"
- "Muéstrame el historial de transacciones para EQAAFhjXzKuQ5N0c96nsdZQWATcJm909LYSaCAvWFQF8tvUZ"
- "¿Es UQD0BRQt-QdIEbsjuRsMqzDlBkUAEfQixShDECoKEOXRc4eR una dirección TON válida?"
- "Envía 0.1 TON a EQAAFhjXzKuQ5N0c96nsdZQWATcJm909LYSaCAvWFQF8tvUZ"
- "Envía 0.01 TON a UQD0BRQt-QdIEbsjuRsMqzDlBkUAEfQixShDECoKEOXRc4eR con comentario 'test payment'"
- "¿Cuál es la información actual de la red TON?"
Notas de seguridad
- Variables de entorno: Todas las claves privadas se almacenan en el archivo .env y nunca se exponen en el historial de conversación
- Claves privadas: Solo usa esto con wallets de prueba que contengan pequeñas cantidades de fondos
- Endpoints RPC: Se pueden configurar endpoints RPC personalizados en el archivo .env para mejor confiabilidad y límites de tasa
- Seguridad de .env: El archivo .env se ignora automáticamente por git para prevenir la exposición accidental de claves privadas
- Registro de herramientas: Usa los controles de registro de herramientas para minimizar la superficie de seguridad habilitando solo las cadenas necesarias
Configuración avanzada
Endpoints RPC personalizados
Puedes configurar endpoints RPC personalizados en tu archivo .env para mejor confiabilidad y límites de tasa más altos. Si no se especifican, la herramienta usará endpoints RPC públicos.
Selección de red
Para operaciones EVM, puedes especificar la red por nombre (ethereum, base, arbitrum, optimism, bsc, polygon, avalanche, berachain). La herramienta usará automáticamente el endpoint RPC y la configuración de red apropiados.
Configuración de Cardano
La herramienta usa la API de Blockfrost y la librería Lucid para interactuar con la blockchain de Cardano.
BLOCKFROST_API_KEY: Requerido - Tu clave API de Blockfrost (regístrate en https://blockfrost.io/)CARDANO_NETWORK: Opcional - La red de Cardano a usar (mainnet, testnet, preview, preprod). Por defecto es 'mainnet'CARDANO_MNEMONIC: Requerido para transacciones - La frase mnemotécnica de tu wallet de Cardano (15 o 24 palabras)CARDANO_ACCOUNT_INDEX: Opcional - El índice de cuenta a usar (por defecto es 0)
El wallet derivado de tu frase mnemotécnica se usará para firmar y enviar transacciones.
Configuración de THORChain
La herramienta usa los endpoints públicos de Nine Realms por defecto, pero puedes configurar una URL de nodo THORChain personalizada en el archivo .env para mejor confiabilidad y límites de tasa.
Configuración de XRP Ledger
La herramienta puede usar una clave privada o una frase mnemotécnica para transacciones XRP. Configúralas en tu archivo .env:
XRP_PRIVATE_KEY: Tu clave privada XRP en formato hexadecimalXRP_MNEMONIC: Alternativa a la clave privada - tu frase de recuperación de 12 palabrasXRP_ADDRESS: Opcional - La dirección de tu cuenta XRP (usada para verificar la dirección derivada)XRP_RPC_URL: Opcional - URL de nodo XRP Ledger personalizada (por defecto usa el endpoint público)
Configuración de TON
La herramienta usa la API de TON Center por defecto y requiere una frase mnemotécnica para transacciones TON. Configúralas en tu archivo .env:
TON_MNEMONIC: Requerido - Tu frase de recuperación de 24 palabras para el wallet TONTON_ADDRESS: Requerido - La dirección de tu wallet TONTON_API_KEY: Recomendado - Clave API de @tonapibot en Telegram (para límites de tasa más altos)TON_RPC_URL: Opcional - URL RPC de TON personalizada (por defecto usa la API de TON Center)
La implementación incluye lógica automática de reintentos con retroceso exponencial para el manejo de límites de tasa.
Proveedores de datos para cadenas UTXO
La herramienta usa varios proveedores de datos para cadenas UTXO:
- BlockCypher
- SoChain
- Haskoin (para Bitcoin Cash)
Puedes configurar claves API para estos proveedores en el archivo .env para mejores límites de tasa.
Desarrollo
Para modificar o extender la herramienta:
- El código fuente está en el directorio
src - Código específico de cada cadena en
src/chains - Ejecuta
npm run builddespués de hacer cambios - Usa TypeScript para todo el código nuevo
Contribuciones
¡Las contribuciones son bienvenidas! Por favor, envía pull requests con cualquier mejora o corrección de errores.
Licencia
Licencia ISC