Web3 MCP
Interaja com múltiplas blockchains, incluindo Solana, Ethereum, THORChain, XRP Ledger, TON, Cardano e cadeias UTXO.
Documentação
Web3 MCP
Um servidor Model-Context-Protocol para interagir com múltiplas blockchains, incluindo Solana, Ethereum, THORChain, XRP Ledger, TON (The Open Network), Cardano e cadeias UTXO. Este servidor fornece endpoints RPC simples para operações comuns de blockchain, permitindo interações seguras com várias blockchains por meio de variáveis de ambiente.
Recursos
Operações Solana:
- Verificar saldos de contas SOL
- Obter informações detalhadas da conta
- Transferir SOL entre contas
- Visualizar saldos de tokens SPL
- Obter seu endereço de carteira a partir da chave privada
- Trocar tokens usando Jupiter (roteamento de melhor preço em todas as DEXs Solana)
Operações Ethereum e cadeias EVM:
- Verificar saldos de tokens nativos em várias redes
- Verificar saldos de tokens ERC-20
- Enviar tokens nativos (usando chave privada do .env)
- Enviar tokens ERC-20 (usando chave privada do .env)
- Aprovar gasto de tokens ERC-20 (usando chave privada do .env)
Operações Cardano:
- Obter informações e estatísticas da rede
- Verificar saldos de endereços e histórico de transações
- Visualizar UTxOs de um endereço
- Explorar pools de staking e informações de delegação
- Obter detalhes sobre ativos nativos
- Visualizar informações detalhadas de transações
- Obter estatísticas sobre a época atual
Operações THORChain:
- Verificar saldos de RUNE
- Obter informações detalhadas do pool
- Obter cotações de troca entre quaisquer ativos suportados
- Trocas entre cadeias via protocolo THORChain
Operações de cadeias UTXO:
- Bitcoin (BTC)
- Verificar saldos de endereços
- Visualizar histórico de transações
- Validar endereços
- Obter informações da rede e taxas
- Litecoin (LTC)
- Verificar saldos de endereços
- Visualizar histórico de transações
- Validar endereços
- Obter informações da rede e taxas
- Dogecoin (DOGE)
- Verificar saldos de endereços
- Visualizar histórico de transações
- Validar endereços
- Obter informações da rede e taxas
- Bitcoin Cash (BCH)
- Verificar saldos de endereços
- Visualizar histórico de transações
- Validar endereços
- Obter informações da rede e taxas
Operações XRP Ledger:
- Verificar saldos de contas XRP
- Visualizar histórico de transações
- Validar endereços XRP
- Enviar XRP para outro endereço
- Obter informações atuais do XRP Ledger
- Verificar saldos de tokens
- Criar trustlines para tokens
Operações TON (The Open Network):
- Obter saldos de contas TON
- Visualizar histórico de transações
- Validar endereços TON
- Enviar TON para outro endereço com memo/comentário opcional
- Obter informações atuais da rede TON
Redes EVM suportadas:
- Ethereum
- Base
- Arbitrum
- Optimism
- BSC (Binance Smart Chain)
- Polygon
- Avalanche
- Berachain
Configuração
- Clone e instale as dependências:
git clone https://github.com/strangelove-ventures/web3-mcp.git
cd web3-mcp
npm install
- Crie um arquivo .env no diretório raiz:
cp .env.example .env
- Configure suas variáveis de ambiente no .env:
Configuração Obrigatória
# 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
Configuração 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
- Compile a ferramenta:
npm run build
- Adicione a ferramenta ao seu claude_desktop_config.json:
{
"mcpServers": {
"web3-rpc": {
"command": "node",
"args": [
"/PATH/TO/web3-mcp/build/index.js"
]
}
}
}
Registro de Ferramentas
O servidor Web3 MCP permite controlar quais ferramentas de blockchain são registradas por meio de variáveis de ambiente:
ENABLE_SOLANA_TOOLS: Ativar/desativar ferramentas SolanaENABLE_ETHEREUM_TOOLS: Ativar/desativar ferramentas Ethereum e cadeias EVMENABLE_BITCOIN_TOOLS: Ativar/desativar ferramentas BitcoinENABLE_LITECOIN_TOOLS: Ativar/desativar ferramentas LitecoinENABLE_DOGECOIN_TOOLS: Ativar/desativar ferramentas DogecoinENABLE_BITCOINCASH_TOOLS: Ativar/desativar ferramentas Bitcoin CashENABLE_THORCHAIN_TOOLS: Ativar/desativar ferramentas THORChainENABLE_RIPPLE_TOOLS: Ativar/desativar ferramentas XRP LedgerENABLE_CARDANO_TOOLS: Ativar/desativar ferramentas CardanoENABLE_TON_TOOLS: Ativar/desativar ferramentas TON
Defina essas variáveis como true ou false no seu arquivo .env para controlar quais ferramentas estão disponíveis para o servidor. Isso permite que você:
- Reduza o tempo de inicialização carregando apenas as ferramentas necessárias
- Minimize a superfície de segurança desativando cadeias não utilizadas
- Personalize o servidor para casos de uso específicos
- Controle o uso de recursos limitando conexões ativas
Exemplos de Uso
Pergunte ao Claude (ou ao seu cliente MCP de preferência):
Operações Solana (quando ENABLE_SOLANA_TOOLS=true)
- "Qual é o meu endereço Solana?" - Mostra seu endereço derivado da chave privada no .env
- "Qual é o saldo de 62QXuWZ3WT6ws1ZFxJobVDVXn6bEsiYpLo5yG612U6u3?"
- "Transfira 0.001 SOL para Cg6cVS4tjkxHthm3K9BHhmvqF7kSz8GnXqqYXnHBzGXd"
- "Mostre-me meus saldos de tokens SPL"
- "Troque 0.1 SOL por USDC" (Usa Jupiter para roteamento de melhor preço)
Operações EVM (quando ENABLE_ETHEREUM_TOOLS=true)
- "Qual é o saldo de ETH de 0x556437c4d22ceaeeebf82006b85bdcc0ae67d933?"
- "Verifique o saldo de USDC para 0x556437c4d22ceaeeebf82006b85bdcc0ae67d933 na Ethereum"
- "Envie 0.1 ETH para 0x556437c4d22ceaeeebf82006b85bdcc0ae67d933"
- "Qual é o preço atual do gás na Arbitrum?"
- "Envie 100 USDC para 0x556437c4d22ceaeeebf82006b85bdcc0ae67d933 na Polygon"
Operações Cardano (quando ENABLE_CARDANO_TOOLS=true)
- Obtenha o saldo de qualquer Cardano
- Visualize as informações da sua carteira
- Envie ADA para outro endereço
- Envie tokens nativos para outro endereço
Operações Bitcoin (quando ENABLE_BITCOIN_TOOLS=true)
- "Qual é o saldo de BTC de 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa?"
- "Mostre-me o histórico de transações para bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh"
- "Valide este endereço Bitcoin: 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa"
Operações Litecoin (quando ENABLE_LITECOIN_TOOLS=true)
- "Qual é o saldo de LTC de LM2WMpR1Rp6j3Sa59cMXMs1SPzj9eXpGc1?"
- "Mostre-me o histórico de transações para este endereço Litecoin"
- "Qual é a taxa atual da rede Litecoin?"
Operações Dogecoin (quando ENABLE_DOGECOIN_TOOLS=true)
- "Verifique o saldo deste endereço DOGE: D8vFz4p1L37jdg47HXKtSHA5uYLYxbGgPD"
- "Mostre-me transações recentes de Dogecoin"
- "Quais são as taxas atuais da rede DOGE?"
Operações Bitcoin Cash (quando ENABLE_BITCOINCASH_TOOLS=true)
- "Qual é o saldo de BCH deste endereço?"
- "Mostre-me o histórico de transações BCH"
- "Valide este endereço Bitcoin Cash"
Operações THORChain (quando ENABLE_THORCHAIN_TOOLS=true)
- "Qual é o saldo de RUNE de thor13zpdckczd0jvyhwxmrwnpap8gmy9m5kk2gzum3?"
- "Mostre-me as informações do pool para BTC.BTC"
- "Obtenha uma cotação de troca de 0.1 BTC.BTC para ETH.ETH"
Operações XRP Ledger (quando ENABLE_RIPPLE_TOOLS=true)
- "Qual é o saldo de XRP de rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe?"
- "Mostre-me o histórico de transações para rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe"
- "rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe é um endereço XRP válido?"
- "Envie 10 XRP para rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe"
- "Quais são as informações atuais do XRP Ledger?"
- "Mostre-me os saldos de tokens para rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe"
- "Crie uma trustline para USD com o emissor rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe com um limite de 1000"
Operações TON (quando ENABLE_TON_TOOLS=true)
- "Qual é o saldo de TON de EQAAFhjXzKuQ5N0c96nsdZQWATcJm909LYSaCAvWFQF8tvUZ?"
- "Mostre-me o histórico de transações para EQAAFhjXzKuQ5N0c96nsdZQWATcJm909LYSaCAvWFQF8tvUZ"
- "UQD0BRQt-QdIEbsjuRsMqzDlBkUAEfQixShDECoKEOXRc4eR é um endereço TON válido?"
- "Envie 0.1 TON para EQAAFhjXzKuQ5N0c96nsdZQWATcJm909LYSaCAvWFQF8tvUZ"
- "Envie 0.01 TON para UQD0BRQt-QdIEbsjuRsMqzDlBkUAEfQixShDECoKEOXRc4eR com comentário 'test payment'"
- "Quais são as informações atuais da rede TON?"
Notas de Segurança
- Variáveis de Ambiente: Todas as chaves privadas são armazenadas no arquivo .env e nunca são expostas no histórico da conversa
- Chaves Privadas: Use apenas com carteiras de teste contendo pequenas quantias de fundos
- Endpoints RPC: Endpoints RPC personalizados podem ser configurados no arquivo .env para melhor confiabilidade e limites de taxa
- Segurança do .env: O arquivo .env é automaticamente ignorado pelo git para evitar exposição acidental de chaves privadas
- Registro de Ferramentas: Use os controles de registro de ferramentas para minimizar a superfície de segurança ativando apenas as cadeias necessárias
Configuração Avançada
Endpoints RPC Personalizados
Você pode configurar endpoints RPC personalizados no seu arquivo .env para melhor confiabilidade e limites de taxa mais altos. Se não forem especificados, a ferramenta usará endpoints RPC públicos como fallback.
Seleção de Rede
Para operações EVM, você pode especificar a rede pelo nome (ethereum, base, arbitrum, optimism, bsc, polygon, avalanche, berachain). A ferramenta usará automaticamente o endpoint RPC e a configuração de rede apropriados.
Configuração Cardano
A ferramenta usa a API Blockfrost e a biblioteca Lucid para interagir com a blockchain Cardano.
BLOCKFROST_API_KEY: Obrigatório - Sua chave de API Blockfrost (registre-se em https://blockfrost.io/)CARDANO_NETWORK: Opcional - A rede Cardano a ser usada (mainnet, testnet, preview, preprod). O padrão é 'mainnet'CARDANO_MNEMONIC: Obrigatório para transações - A frase mnemônica da sua carteira Cardano (15 ou 24 palavras)CARDANO_ACCOUNT_INDEX: Opcional - O índice da conta a ser usado (o padrão é 0)
A carteira derivada da sua frase mnemônica será usada para assinar e enviar transações.
Configuração THORChain
A ferramenta usa endpoints públicos do Nine Realms por padrão, mas você pode configurar uma URL de nó THORChain personalizada no arquivo .env para melhor confiabilidade e limites de taxa.
Configuração XRP Ledger
A ferramenta pode usar uma chave privada ou frase mnemônica para transações XRP. Configure-as no seu arquivo .env:
XRP_PRIVATE_KEY: Sua chave privada XRP em formato hexadecimalXRP_MNEMONIC: Alternativa à chave privada - sua frase de recuperação de 12 palavrasXRP_ADDRESS: Opcional - O endereço da sua conta XRP (usado para verificar o endereço derivado)XRP_RPC_URL: Opcional - URL de nó XRP Ledger personalizada (o padrão é endpoint público)
Configuração TON
A ferramenta usa a API do TON Center por padrão e requer uma frase mnemônica para transações TON. Configure-as no seu arquivo .env:
TON_MNEMONIC: Obrigatório - Sua frase de recuperação de 24 palavras para a carteira TONTON_ADDRESS: Obrigatório - O endereço da sua carteira TONTON_API_KEY: Recomendado - Chave de API do @tonapibot no Telegram (para limites de taxa mais altos)TON_RPC_URL: Opcional - URL RPC TON personalizada (o padrão é a API do TON Center)
A implementação inclui lógica de repetição automática com backoff exponencial para lidar com limites de taxa.
Provedores de Dados para Cadeias UTXO
A ferramenta usa vários provedores de dados para cadeias UTXO:
- BlockCypher
- SoChain
- Haskoin (para Bitcoin Cash)
Você pode configurar chaves de API para esses provedores no arquivo .env para melhores limites de taxa.
Desenvolvimento
Para modificar ou estender a ferramenta:
- O código-fonte está no diretório
src - Código específico de cadeia em
src/chains - Execute
npm run buildapós fazer alterações - Use TypeScript para todo código novo
Contribuindo
Contribuições são bem-vindas! Envie pull requests com quaisquer melhorias ou correções de bugs.
Licença
ISC License