Monedero criptográfico MCP EVM
Este repositorio contiene un servidor de Protocolo de Contexto de Modelo (MCP) que proporciona a Claude acceso a operaciones de blockchain compatibles con Ethereum y EVM a través de ethers.js v5. El servidor permite a Claude realizar operaciones como crear billeteras, consultar saldos, enviar transacciones e interactuar con contratos inteligentes en blockchains compatibles con EVM.
Descripción general
El servidor MCP expone las siguientes herramientas a Claude:
Creación y gestión de billeteras
wallet_create_random
: Crea una nueva billetera con una clave privada aleatoriawallet_from_private_key
: Crea una billetera a partir de una clave privadawallet_from_mnemonic
: Crea una billetera a partir de una frase mnemotécnicawallet_from_encrypted_json
: Crea una billetera descifrando una billetera JSON cifradawallet_encrypt
: Cifrar una billetera con una contraseña
Propiedades de la billetera
wallet_get_address
: Obtener la dirección de la billeterawallet_get_public_key
: Obtener la clave pública de la billeterawallet_get_private_key
: obtiene la clave privada de la billetera (con las advertencias de seguridad apropiadas)wallet_get_mnemonic
: Obtener la frase mnemotécnica de la billetera (si está disponible)
Métodos de blockchain
wallet_get_balance
: Obtener el saldo de la billeterawallet_get_chain_id
: Obtiene el ID de la cadena a la que está conectada la billeterawallet_get_gas_price
: Obtener el precio actual del gaswallet_get_transaction_count
: Obtiene la cantidad 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ónwallet_sign_transaction
: Firmar una transacción sin enviarlawallet_populate_transaction
: rellenar una transacción con campos faltantes
Métodos de firma
wallet_sign_message
: Firmar un mensajewallet_sign_typed_data
: Firma de datos tipificados (EIP-712)wallet_verify_message
: Verificar un mensaje firmadowallet_verify_typed_data
: Verificar datos tipificados y firmados
Métodos del proveedor
provider_get_block
: Obtener un bloque por número o hashprovider_get_transaction
: Obtener una transacción por hashprovider_get_transaction_receipt
: Obtener un recibo de transacciónprovider_get_code
: Obtener el código en una direcciónprovider_get_storage_at
: Obtener el almacenamiento en una posición para una direcciónprovider_estimate_gas
: Estima el gas requerido para una transacciónprovider_get_logs
: Obtener registros que coinciden con un filtroprovider_get_ens_resolver
: obtiene el solucionador ENS para un nombreprovider_lookup_address
: busca el nombre ENS de una direcciónprovider_resolve_name
: Resolver un nombre ENS a una dirección
Métodos de red
network_get_network
: Obtener la información de la red actualnetwork_get_block_number
: Obtener el número de bloque actualnetwork_get_fee_data
: obtiene los datos de tarifa actuales (tarifa base, tarifa de prioridad máxima, etc.)
Prerrequisitos
- Node.js (v16 o superior)
- Aplicación de escritorio Claude
Instalación
Opción 1: Usar npx (recomendado)
Puede ejecutar el servidor MCP directamente sin instalación usando npx:
Esto descargará y ejecutará el servidor directamente desde npm.
Opción 2: Instalación manual
- Clonar este repositorio:
- Instalar dependencias:
- Construir el proyecto:
Configuración
Variables de entorno
El servidor MCP admite las siguientes variables de entorno:
PRIVATE_KEY
: Clave privada opcional para usar en operaciones de billetera cuando no se proporciona ninguna billetera explícitamente
Configurar Claude Desktop
Para configurar Claude Desktop para utilizar este servidor MCP:
- Abra Claude Desktop
- Navegue hasta el archivo de configuración de Claude Desktop:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Ventanas:
%APPDATA%\Claude\claude_desktop_config.json
- Linux:
~/.config/Claude/claude_desktop_config.json
- macOS:
- Agregue la configuración del servidor MCP:
Alternativamente, si instaló el paquete localmente:
Ejecutando localmente
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:
- Crear una nueva billetera:
- Consultar el saldo de una billetera:
- Enviar una transacción:
Claude utilizará el servidor MCP para interactuar directamente con la cadena de bloques Ethereum.
Desarrollo
Agregar nuevas herramientas
Para agregar nuevas herramientas al servidor MCP:
- Define la herramienta en
src/tools.ts
- Cree una función de controlador en el archivo de controlador apropiado
- Agregue el controlador al objeto de
handlers
ensrc/tools.ts
Edificio
Licencia
Instituto Tecnológico de Massachusetts (MIT)
You must be authenticated.
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Tools
Proporciona a Claude acceso a operaciones de blockchain compatibles con Ethereum y EVM, lo que permite la gestión de billeteras, el manejo de transacciones, las interacciones de contratos y las consultas de blockchain a través del lenguaje natural.
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityEnables Claude to interact with Ethereum nodes, allowing users to check ENS token balances, view smart contract code, and decode transactions through natural language.Last updated -51JavaScriptMIT License
- -securityFlicense-qualityA server that securely manages Ethereum private keys locally and enables Claude for Desktop to interact with EVM-compatible blockchains through Infura.Last updated -TypeScript
Base MCP Serverofficial
-securityAlicense-qualityProvides onchain tools for Claude AI to interact with the Base blockchain and Coinbase API, enabling wallet management, fund transfers, and smart contract deployment.Last updated -136204TypeScriptMIT License- -securityFlicense-qualityEnables Claude to interact with the Ethereum Name Service (ENS) system to resolve names, check availability, retrieve records, and perform other ENS-related operations through natural language.Last updated -75TypeScript