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.

Web3 Server MCP server

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

  1. Clone e instale as dependências:
git clone https://github.com/strangelove-ventures/web3-mcp.git
cd web3-mcp
npm install
  1. Crie um arquivo .env no diretório raiz:
cp .env.example .env
  1. 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
  1. Compile a ferramenta:
npm run build
  1. 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 Solana
  • ENABLE_ETHEREUM_TOOLS: Ativar/desativar ferramentas Ethereum e cadeias EVM
  • ENABLE_BITCOIN_TOOLS: Ativar/desativar ferramentas Bitcoin
  • ENABLE_LITECOIN_TOOLS: Ativar/desativar ferramentas Litecoin
  • ENABLE_DOGECOIN_TOOLS: Ativar/desativar ferramentas Dogecoin
  • ENABLE_BITCOINCASH_TOOLS: Ativar/desativar ferramentas Bitcoin Cash
  • ENABLE_THORCHAIN_TOOLS: Ativar/desativar ferramentas THORChain
  • ENABLE_RIPPLE_TOOLS: Ativar/desativar ferramentas XRP Ledger
  • ENABLE_CARDANO_TOOLS: Ativar/desativar ferramentas Cardano
  • ENABLE_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

  1. Variáveis de Ambiente: Todas as chaves privadas são armazenadas no arquivo .env e nunca são expostas no histórico da conversa
  2. Chaves Privadas: Use apenas com carteiras de teste contendo pequenas quantias de fundos
  3. Endpoints RPC: Endpoints RPC personalizados podem ser configurados no arquivo .env para melhor confiabilidade e limites de taxa
  4. Segurança do .env: O arquivo .env é automaticamente ignorado pelo git para evitar exposição acidental de chaves privadas
  5. 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 hexadecimal
  • XRP_MNEMONIC: Alternativa à chave privada - sua frase de recuperação de 12 palavras
  • XRP_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 TON
  • TON_ADDRESS: Obrigatório - O endereço da sua carteira TON
  • TON_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:

  1. O código-fonte está no diretório src
  2. Código específico de cadeia em src/chains
  3. Execute npm run build após fazer alterações
  4. 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