Servidor EVM MCP
Un servidor integral de Protocolo de Contexto de Modelo (MCP) que proporciona servicios de blockchain en múltiples redes compatibles con EVM. Este servidor permite a los agentes de IA interactuar con Ethereum, Optimism, Arbitrum, Base, Polygon y muchas otras cadenas de EVM mediante una interfaz unificada.
📋 Contenido
🔭 Descripción general
El servidor MCP EVM aprovecha el Protocolo de Contexto de Modelo para proporcionar servicios de blockchain a agentes de IA. Admite una amplia gama de servicios, entre ellos:
Lectura del estado de la blockchain (saldos, transacciones, bloques, etc.)
Interactuar con contratos inteligentes
Transferencia de tokens (nativos, ERC20, ERC721, ERC1155)
Consulta de metadatos y saldos de tokens
Servicios específicos de la cadena en más de 30 redes EVM
Resolución de nombres ENS para todos los parámetros de dirección (use nombres legibles por humanos como 'vitalik.eth' en lugar de direcciones)
Todos los servicios se exponen mediante una interfaz consistente de herramientas y recursos MCP, lo que facilita a los agentes de IA descubrir y utilizar la funcionalidad de la cadena de bloques. Todas las herramientas que aceptan direcciones de Ethereum también admiten nombres ENS , resolviéndolos automáticamente en segundo plano.
✨ Características
Acceso a datos de blockchain
Compatibilidad con múltiples cadenas para más de 30 redes compatibles con EVM
Información de la cadena , incluidos blockNumber, chainId y RPC
Bloquear el acceso a los datos por número, hash o último
Detalles de transacciones y recibos con registros decodificados
Saldos de direcciones para tokens nativos y todos los estándares de tokens
Resolución ENS para direcciones Ethereum legibles por humanos (use 'vitalik.eth' en lugar de '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045')
Servicios de tokens
Tokens ERC20
Obtener metadatos del token (nombre, símbolo, decimales, suministro)
Consultar saldos de tokens
Transferir tokens entre direcciones
Aprobar las asignaciones de gastos
NFT (ERC721)
Obtener metadatos de colección y token
Verificar la propiedad del token
Transferir NFT entre direcciones
Recuperar URI de tokens y contar existencias
Tokens múltiples (ERC1155)
Obtener saldos de tokens y metadatos
Tokens de transferencia con cantidad
URI de token de acceso
Interacciones de contratos inteligentes
Leer el estado del contrato a través de funciones de vista/puras
Servicios de escritura con firma de clave privada
Verificación de contratos para distinguirlos de los EOA
Recuperación y filtrado de registros de eventos
Soporte integral para transacciones
Transferencias de tokens nativos en todas las redes compatibles
Estimación de gas para la planificación de transacciones
Estado de la transacción e información del recibo
Manejo de errores con mensajes descriptivos
🌐 Redes compatibles
Redes principales
Ethereum (ETH)
Optimismo (OP)
Arbitrum (ARB)
Arbitrum Nova
Base
Polígono (MATIC)
Polígono zkEVM
Avalancha (AVAX)
Cadena inteligente de Binance (BSC)
Era zkSync
Línea
Celo
Gnosis (xDai)
Fantom (FTM)
Filecoin (FIL)
Rayo de luna
Río de la luna
Cronos
Voluta
Manto
Manta
Explosión
Fraxtal
Modo
Métis
Croma
Zora
Aurora
Canto
Fluir
Lumia
Redes de prueba
Sepolia
Optimismo Sepolia
Arbitrum Sepolia
Sepolia base
Polígono Amoy
Avalancha del Fuji
Red de pruebas BSC
zkSync Sepolia
Línea Sepolia
Sepolia de pergamino
Sepolia del manto
Manta Sepolia
Sepolia explosiva
Red de pruebas Fraxtal
Modo Testnet
Sepolia mestiza
Sepolia Kroma
Zora Sepolia
Alfajores de Celo
Goerli
Holesky
Red de pruebas de flujo
Red de pruebas de Lumia
🛠️ Requisitos previos
Bun 1.0.0 o superior
Node.js 18.0.0 o superior (si no usa Bun)
📦 Instalación
⚙️ Configuración del servidor
El servidor utiliza la siguiente configuración predeterminada:
ID de cadena predeterminado : 1 (red principal de Ethereum)
Puerto del servidor : 3001
Host del servidor : 0.0.0.0 (accesible desde cualquier interfaz de red)
Estos valores están codificados en la aplicación. Si necesita modificarlos, puede editar los siguientes archivos:
Para la configuración de la cadena:
src/core/chains.ts
Para la configuración del servidor:
src/server/http-server.ts
🚀 Uso
Usando npx (No requiere instalación)
Puede ejecutar el servidor MCP EVM directamente sin instalación usando npx:
Ejecución del servidor local
Inicie el servidor usando stdio (para integrar en herramientas CLI):
O inicie el servidor HTTP con SSE para aplicaciones web:
Conectarse al servidor
Conéctese a este servidor MCP mediante cualquier cliente compatible con MCP. Para realizar pruebas y depurar, puede usar el Inspector MCP .
Conectando desde el cursor
Para conectarse al servidor MCP desde Cursor:
Abra Cursor y vaya a Configuración (ícono de engranaje en la parte inferior izquierda)
Haga clic en "Funciones" en la barra lateral izquierda.
Desplácese hacia abajo hasta la sección "Servidores MCP".
Haga clic en "Agregar nuevo servidor MCP"
Introduzca los siguientes datos:
Nombre del servidor:
evm-mcp-server
Tipo:
command
Comando:
npx @mcpdotdirect/evm-mcp-server
Haga clic en "Guardar"
Una vez conectado, podrá usar las funciones del servidor MCP directamente desde Cursor. El servidor aparecerá en la lista de servidores MCP y podrá habilitarlo o deshabilitarlo según sea necesario.
Usando mcp.json con Cursor
Para una configuración más portátil que pueda compartir con su equipo o usar en diferentes proyectos, puede crear un archivo .cursor/mcp.json
en el directorio raíz de su proyecto:
Coloque este archivo en el directorio .cursor
de su proyecto (créelo si no existe) y Cursor detectará y usará automáticamente estas configuraciones del servidor MCP al trabajar en ese proyecto. Este enfoque facilita:
Comparte configuraciones de MCP con tu equipo
Control de versiones de su configuración de MCP
Utilice diferentes configuraciones de servidor para diferentes proyectos
Ejemplo: Modo HTTP con SSE
Si está desarrollando una aplicación web y desea conectarse al servidor HTTP con eventos enviados por el servidor (SSE), puede usar esta configuración:
Esto se conecta directamente al punto final SSE del servidor HTTP, lo que resulta útil para:
Aplicaciones web que necesitan conectarse al servidor MCP desde el navegador
Entornos donde ejecutar comandos locales no es ideal
Compartir una única instancia de servidor MCP entre varios usuarios o aplicaciones
Para utilizar esta configuración:
Crea un directorio
.cursor
en la raíz de tu proyecto si no existeGuarde el JSON anterior como
mcp.json
en el directorio.cursor
Reinicie el cursor o abra su proyecto
El cursor detectará la configuración y ofrecerá habilitar el/los servidor(es)
Ejemplo: Uso del servidor MCP en Cursor
Tras configurar el servidor MCP con mcp.json
, puede usarlo fácilmente en Cursor. A continuación, se muestra un ejemplo de flujo de trabajo:
Crea un nuevo archivo JavaScript/TypeScript en tu proyecto:
Con el archivo abierto en Cursor, puedes pedirle a Cursor que:
Consulta el saldo actual de ETH de vitalik.eth.
Consulta el precio de USDC en Ethereum.
"Muéstrame el último bloque sobre optimismo"
"Comprobar si 0x1234... es una dirección de contrato"
Cursor utilizará el servidor MCP para ejecutar estas operaciones y devolver los resultados directamente en su conversación.
El servidor MCP maneja toda la comunicación de la cadena de bloques y al mismo tiempo permite que Cursor comprenda y ejecute tareas relacionadas con la cadena de bloques a través del lenguaje natural.
Conexión mediante Claude CLI
Si está utilizando Claude CLI, puede conectarse al servidor MCP con solo dos comandos:
Ejemplo: Obtener un saldo de token con ENS
Ejemplo: Resolución de un nombre ENS
Referencia de API
Herramientas
El servidor proporciona las siguientes herramientas MCP para agentes. Todas las herramientas que aceptan parámetros de dirección admiten tanto direcciones de Ethereum como nombres ENS.
Servicios de tokens
Nombre de la herramienta | Descripción | Parámetros clave |
| Obtener metadatos del token ERC20 |
(dirección/ENS),
|
| Consultar el saldo del token ERC20 |
(dirección/ENS),
(dirección/ENS),
|
| Transferir tokens ERC20 |
,
(dirección/ENS),
(dirección/ENS),
,
|
| Aprobar asignaciones de tokens |
,
(dirección/ENS),
(dirección/ENS),
,
|
| Obtener metadatos de NFT |
(dirección/ENS),
,
|
| Verificar la propiedad del NFT |
(dirección/ENS),
,
(dirección/ENS),
|
| Transferir un NFT |
,
(dirección/ENS),
,
(dirección/ENS),
|
| Contar los NFT que se poseen |
(dirección/ENS),
(dirección/ENS),
|
| Obtener metadatos de ERC1155 |
(dirección/ENS),
,
|
| Consultar saldo ERC1155 |
(dirección/ENS),
,
(dirección/ENS),
|
| Transferir tokens ERC1155 |
,
(dirección/ENS),
,
,
(dirección/ENS),
|
Servicios de blockchain
Nombre de la herramienta | Descripción | Parámetros clave |
| Obtener información de la red |
|
| Obtener saldo de token nativo |
(dirección/ENS),
|
| Enviar tokens nativos |
,
(dirección/ENS),
,
|
| Obtener detalles de la transacción |
,
|
| Leer el estado del contrato inteligente |
(dirección/ENS),
,
,
,
|
| Escribir en un contrato inteligente |
(dirección/ENS),
,
,
,
,
|
| Comprobar si la dirección es un contrato |
(dirección/ENS),
|
| Resolver el nombre ENS a la dirección |
,
|
Recursos
El servidor expone los datos de la cadena de bloques a través de las siguientes URI de recursos MCP. Todas las URI de recursos que aceptan direcciones también admiten nombres ENS, que se resuelven automáticamente en direcciones.
Recursos de blockchain
Patrón de URI de recurso | Descripción |
| Información de la cadena para una red específica |
| Información sobre la cadena principal de Ethereum |
| Bloquear datos por número |
| Últimos datos de bloque |
| Saldo de tokens nativos |
| Detalles de la transacción |
| Recibo de transacción con registros |
Recursos de tokens
Patrón de URI de recurso | Descripción |
| Información del token ERC20 |
| Saldo de tokens ERC20 |
| Información del token NFT (ERC721) |
| Verificación de propiedad de NFT |
| URI del token ERC1155 |
| Saldo del token ERC1155 |
Consideraciones de seguridad
Las claves privadas se utilizan únicamente para firmar transacciones y nunca las almacena el servidor.
Considere implementar mecanismos de autenticación adicionales para el uso en producción
Utilice HTTPS para el servidor HTTP en entornos de producción
Implementar la limitación de velocidad para evitar el abuso
Para servicios de alto valor, considere agregar pasos de confirmación
📁 Estructura del proyecto
🛠️ Desarrollo
Para modificar o ampliar el servidor:
Agregue nuevos servicios en el archivo apropiado en
src/core/services/
Registrar nuevas herramientas en
src/core/tools.ts
Registrar nuevos recursos en
src/core/resources.ts
Agregar nuevo soporte de red en
src/core/chains.ts
Para cambiar la configuración del servidor, edite los valores codificados en
src/server/http-server.ts
📄 Licencia
Este proyecto está licenciado bajo los términos de la Licencia MIT .
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
Un servidor de protocolo de contexto de modelo que permite a los agentes de IA interactuar con más de 30 redes blockchain compatibles con Ethereum, proporcionando servicios como transferencias de tokens, interacciones de contratos y resolución de ENS a través de una interfaz unificada.
- 📋 Contenido
- 🔭 Descripción general
- ✨ Características
- 🌐 Redes compatibles
- 🛠️ Requisitos previos
- 📦 Instalación
- ⚙️ Configuración del servidor
- 🚀 Uso
- Usando npx (No requiere instalación)
- Ejecución del servidor local
- Conectarse al servidor
- Conectando desde el cursor
- Usando mcp.json con Cursor
- Ejemplo: Modo HTTP con SSE
- Ejemplo: Uso del servidor MCP en Cursor
- Conexión mediante Claude CLI
- Ejemplo: Obtener un saldo de token con ENS
- Ejemplo: Resolución de un nombre ENS
- Referencia de API
- Consideraciones de seguridad
- 📁 Estructura del proyecto
- 🛠️ Desarrollo
- 📄 Licencia
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityA Model Context Protocol server that gives LLMs the ability to interact with Ethereum networks, manage wallets, query blockchain data, and execute smart contract operations through a standardized interface.Last updated -4598MIT License
- -securityFlicense-qualityA Model Context Protocol server that enables AI agents to interact with the Flow blockchain through RPC calls, supporting account balances, script execution, transactions, domain resolution, and contract interactions.Last updated -82
- -security-license-qualityComprehensive Model Context Protocol server that enables AI agents to interact with 30+ Ethereum-compatible blockchain networks, supporting token transfers, smart contract interactions, and ENS name resolution through a unified interface.Last updated -1MIT License
- AsecurityAlicenseAqualityA comprehensive Model Context Protocol server that enables AI agents to interact with Starknet blockchain, query data, manage wallets, and work with smart contracts.Last updated -25104MIT License