MCP Crypto Wallet EVM

Realiza operaciones de billetera cripto EVM usando ethers.js v5. Soporta una variable de entorno de clave privada para operaciones de billetera.

Documentación

MCP Crypto Wallet EVM

Este repositorio contiene un servidor de Model Context Protocol (MCP) que proporciona a Claude acceso a operaciones de blockchain de Ethereum y compatibles con EVM mediante ethers.js v5. El servidor permite a Claude realizar operaciones como crear carteras, consultar saldos, enviar transacciones e interactuar con contratos inteligentes en blockchains compatibles con EVM.

Crypto Wallet EVM MCP server

Descripción general

El servidor MCP expone las siguientes herramientas a Claude:

Creación y gestión de carteras

  • wallet_create_random: Crear una nueva cartera con una clave privada aleatoria
  • wallet_from_private_key: Crear una cartera a partir de una clave privada
  • wallet_from_mnemonic: Crear una cartera a partir de una frase mnemotécnica
  • wallet_from_encrypted_json: Crear una cartera descifrando una cartera JSON cifrada
  • wallet_encrypt: Cifrar una cartera con una contraseña

Propiedades de la cartera

  • wallet_get_address: Obtener la dirección de la cartera
  • wallet_get_public_key: Obtener la clave pública de la cartera
  • wallet_get_private_key: Obtener la clave privada de la cartera (con las advertencias de seguridad correspondientes)
  • wallet_get_mnemonic: Obtener la frase mnemotécnica de la cartera (si está disponible)

Métodos de blockchain

  • wallet_get_balance: Obtener el saldo de la cartera
  • wallet_get_chain_id: Obtener el ID de la cadena a la que está conectada la cartera
  • wallet_get_gas_price: Obtener el precio actual del gas
  • wallet_get_transaction_count: Obtener el número de transacciones enviadas desde esta cuenta (nonce)
  • wallet_call: Llamar a un método de contrato sin enviar una transacción

Métodos de transacción

  • wallet_send_transaction: Enviar una transacción
  • wallet_sign_transaction: Firmar una transacción sin enviarla
  • wallet_populate_transaction: Completar una transacción con campos faltantes

Métodos de firma

  • wallet_sign_message: Firmar un mensaje
  • wallet_sign_typed_data: Firmar datos tipados (EIP-712)
  • wallet_verify_message: Verificar un mensaje firmado
  • wallet_verify_typed_data: Verificar datos tipados firmados

Métodos del proveedor

  • provider_get_block: Obtener un bloque por número o hash
  • provider_get_transaction: Obtener una transacción por hash
  • provider_get_transaction_receipt: Obtener un recibo de transacción
  • provider_get_code: Obtener el código en una dirección
  • provider_get_storage_at: Obtener el almacenamiento en una posición para una dirección
  • provider_estimate_gas: Estimar el gas requerido para una transacción
  • provider_get_logs: Obtener registros que coincidan con un filtro
  • provider_get_ens_resolver: Obtener el resolvedor ENS para un nombre
  • provider_lookup_address: Buscar el nombre ENS para una dirección
  • provider_resolve_name: Resolver un nombre ENS a una dirección

Métodos de red

  • network_get_network: Obtener la información actual de la red
  • network_get_block_number: Obtener el número de bloque actual
  • network_get_fee_data: Obtener los datos de tarifa actuales (tarifa base, tarifa máxima prioritaria, etc.)

Requisitos previos

  • Node.js (v16 o superior)
  • Aplicación Claude Desktop

Instalación

Opción 1: Usando npx (Recomendado)

Puede ejecutar el servidor MCP directamente sin instalación usando npx:

npx @mcp-dockmaster/mcp-cryptowallet-evm

Esto descargará y ejecutará el servidor directamente desde npm.

Opción 2: Instalación manual

  1. Clone este repositorio:

    git clone https://github.com/dcSpark/mcp-cryptowallet-evm.git
    cd mcp-cryptowallet-evm
    
  2. Instale las dependencias:

    npm ci
    
  3. Compile el proyecto:

    npm run build
    

Configuración

Variables de entorno

El servidor MCP admite las siguientes variables de entorno:

  • PRIVATE_KEY: Clave privada opcional para usar en operaciones de cartera cuando no se proporciona una cartera explícitamente

Configurar Claude Desktop

Para configurar Claude Desktop para usar este servidor MCP:

  1. Abra Claude Desktop

  2. Navegue al archivo de configuración de 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. Agregue la configuración del servidor MCP:

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

Alternativamente, si instaló el paquete localmente:

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

Ejecución local

node build/index.js

Uso

Una vez configurado, reinicie Claude Desktop. Claude ahora tendrá acceso a las herramientas de blockchain compatibles con Ethereum y EVM. Puede pedirle a Claude que:

  1. Cree una nueva cartera:

    Can you create a new Ethereum wallet for me?
    
  2. Consulte el saldo de una cartera:

    What's the balance of the Ethereum wallet address 0x742d35Cc6634C0532925a3b844Bc454e4438f44e?
    
  3. Envíe una transacción:

    Can you help me send 0.1 ETH to 0x742d35Cc6634C0532925a3b844Bc454e4438f44e?
    

Claude usará el servidor MCP para interactuar directamente con la blockchain de Ethereum.

Desarrollo

Agregar nuevas herramientas

Para agregar nuevas herramientas al servidor MCP:

  1. Defina la herramienta en src/tools.ts
  2. Cree una función de manejo en el archivo de manejo correspondiente
  3. Agregue el manejador al objeto handlers en src/tools.ts

Compilación

npm run build

Licencia

MIT