MCP Crypto Wallet EVM

Realize operações de carteira cripto EVM usando ethers.js v5. Suporta uma variável de ambiente de chave privada para operações de carteira.

Documentação

MCP Crypto Wallet EVM

Este repositório contém um servidor Model Context Protocol (MCP) que fornece ao Claude acesso a operações de blockchain Ethereum e compatíveis com EVM via ethers.js v5. O servidor permite que o Claude execute operações como criar carteiras, verificar saldos, enviar transações e interagir com contratos inteligentes em blockchains compatíveis com EVM.

Crypto Wallet EVM MCP server

Visão Geral

O servidor MCP expõe as seguintes ferramentas ao Claude:

Criação e Gerenciamento de Carteiras

  • wallet_create_random: Criar uma nova carteira com uma chave privada aleatória
  • wallet_from_private_key: Criar uma carteira a partir de uma chave privada
  • wallet_from_mnemonic: Criar uma carteira a partir de uma frase mnemônica
  • wallet_from_encrypted_json: Criar uma carteira descriptografando uma carteira JSON criptografada
  • wallet_encrypt: Criptografar uma carteira com uma senha

Propriedades da Carteira

  • wallet_get_address: Obter o endereço da carteira
  • wallet_get_public_key: Obter a chave pública da carteira
  • wallet_get_private_key: Obter a chave privada da carteira (com avisos de segurança apropriados)
  • wallet_get_mnemonic: Obter a frase mnemônica da carteira (se disponível)

Métodos de Blockchain

  • wallet_get_balance: Obter o saldo da carteira
  • wallet_get_chain_id: Obter o ID da cadeia à qual a carteira está conectada
  • wallet_get_gas_price: Obter o preço atual do gás
  • wallet_get_transaction_count: Obter o número de transações enviadas a partir desta conta (nonce)
  • wallet_call: Chamar um método de contrato sem enviar uma transação

Métodos de Transação

  • wallet_send_transaction: Enviar uma transação
  • wallet_sign_transaction: Assinar uma transação sem enviá-la
  • wallet_populate_transaction: Preencher uma transação com campos ausentes

Métodos de Assinatura

  • wallet_sign_message: Assinar uma mensagem
  • wallet_sign_typed_data: Assinar dados tipados (EIP-712)
  • wallet_verify_message: Verificar uma mensagem assinada
  • wallet_verify_typed_data: Verificar dados tipados assinados

Métodos do Provedor

  • provider_get_block: Obter um bloco por número ou hash
  • provider_get_transaction: Obter uma transação por hash
  • provider_get_transaction_receipt: Obter um recibo de transação
  • provider_get_code: Obter o código em um endereço
  • provider_get_storage_at: Obter o armazenamento em uma posição para um endereço
  • provider_estimate_gas: Estimar o gás necessário para uma transação
  • provider_get_logs: Obter logs que correspondem a um filtro
  • provider_get_ens_resolver: Obter o resolvedor ENS para um nome
  • provider_lookup_address: Consultar o nome ENS para um endereço
  • provider_resolve_name: Resolver um nome ENS para um endereço

Métodos de Rede

  • network_get_network: Obter as informações atuais da rede
  • network_get_block_number: Obter o número atual do bloco
  • network_get_fee_data: Obter os dados atuais de taxa (taxa base, taxa máxima de prioridade, etc.)

Pré-requisitos

  • Node.js (v16 ou superior)
  • Aplicativo Claude Desktop

Instalação

Opção 1: Usando npx (Recomendado)

Você pode executar o servidor MCP diretamente sem instalação usando npx:

npx @mcp-dockmaster/mcp-cryptowallet-evm

Isso baixará e executará o servidor diretamente do npm.

Opção 2: Instalação Manual

  1. Clone este repositório:

    git clone https://github.com/dcSpark/mcp-cryptowallet-evm.git
    cd mcp-cryptowallet-evm
    
  2. Instale as dependências:

    npm ci
    
  3. Compile o projeto:

    npm run build
    

Configuração

Variáveis de Ambiente

O servidor MCP suporta as seguintes variáveis de ambiente:

  • PRIVATE_KEY: Chave privada opcional para usar em operações de carteira quando nenhuma carteira é fornecida explicitamente

Configurar o Claude Desktop

Para configurar o Claude Desktop para usar este servidor MCP:

  1. Abra o Claude Desktop

  2. Navegue até o arquivo de configuração do Claude Desktop:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
    • Linux: ~/.config/Claude/claude_desktop_config.json
  3. Adicione a configuração do servidor MCP:

{
  "mcpServers": {
    "mcp-cryptowallet-evm": {
      "command": "npx",
      "args": [
        "@mcp-dockmaster/mcp-cryptowallet-evm"
      ]
    }
  }
}

Alternativamente, se você instalou o pacote localmente:

{
  "mcpServers": {
    "mcp-cryptowallet-evm": {
      "command": "node",
      "args": [
        "/path/to/your/mcp-cryptowallet-evm/build/index.js"
      ]
    }
  }
}

Executando Localmente

node build/index.js

Uso

Após a configuração, reinicie o Claude Desktop. O Claude agora terá acesso às ferramentas de blockchain compatíveis com Ethereum e EVM. Você pode pedir ao Claude para:

  1. Criar uma nova carteira:

    Can you create a new Ethereum wallet for me?
    
  2. Verificar o saldo de uma carteira:

    What's the balance of the Ethereum wallet address 0x742d35Cc6634C0532925a3b844Bc454e4438f44e?
    
  3. Enviar uma transação:

    Can you help me send 0.1 ETH to 0x742d35Cc6634C0532925a3b844Bc454e4438f44e?
    

O Claude usará o servidor MCP para interagir diretamente com a blockchain Ethereum.

Desenvolvimento

Adicionando Novas Ferramentas

Para adicionar novas ferramentas ao servidor MCP:

  1. Defina a ferramenta em src/tools.ts
  2. Crie uma função de manipulador no arquivo de manipulador apropriado
  3. Adicione o manipulador ao objeto handlers em src/tools.ts

Compilação

npm run build

Licença

MIT