ENS MCP Server
Interactúa con el Servicio de Nombres de Ethereum (ENS) para resolver nombres, verificar disponibilidad y recuperar registros.
Documentación
Servidor MCP de ENS
Servidor MCP para el Sistema de Nombres de Ethereum (ENS), que permite a Claude interactuar con el sistema ENS para resolver nombres, verificar disponibilidad, recuperar registros y más.
Paquete npm: https://www.npmjs.com/package/mcp-server-ens
Herramientas
resolve-name
Resuelve un nombre ENS a una dirección de Ethereum
- Entradas requeridas:
name(cadena): El nombre ENS a resolver (p. ej., 'vitalik.eth')
- Devuelve: La dirección de Ethereum correspondiente o un mensaje de error
reverse-lookup
Obtiene el nombre ENS para una dirección de Ethereum
- Entradas requeridas:
address(cadena): La dirección de Ethereum a consultar
- Devuelve: El nombre ENS correspondiente o una indicación de que no se encontró ningún nombre
get-text-record
Obtiene un registro de texto para un nombre ENS
- Entradas requeridas:
name(cadena): El nombre ENS a consultarkey(cadena): La clave del registro a buscar (p. ej., 'email', 'url', 'avatar', 'description', 'twitter', etc.)
- Devuelve: El valor del registro de texto especificado o una indicación de que no se encontró ningún registro
check-availability
Comprueba si un nombre ENS está disponible para su registro
- Entradas requeridas:
name(cadena): El nombre ENS a comprobar
- Devuelve: Estado de disponibilidad e información del propietario si está registrado
get-all-records
Obtiene toda la información disponible para un nombre ENS
- Entradas requeridas:
name(cadena): El nombre ENS a consultar
- Devuelve: Información completa que incluye dirección del resolvedor, registros de texto, direcciones, hash de contenido, propiedad y detalles de expiración
get-subdomains
Obtiene los subdominios de un nombre ENS
- Entradas requeridas:
name(cadena): El nombre ENS para consultar subdominios
- Devuelve: Lista de subdominios con su información de propietario
get-name-history
Obtiene el historial de un nombre ENS
- Entradas requeridas:
name(cadena): El nombre ENS para consultar su historial
- Devuelve: Eventos históricos relacionados con el nombre, incluyendo transferencias, cambios de resolvedor y eventos de registro
get-registration-price
Obtiene el precio para registrar un nombre ENS
- Entradas requeridas:
name(cadena): El nombre ENS para consultar el precio
- Entradas opcionales:
duration(número, predeterminado: 1): Duración del registro en años
- Devuelve: Desglose del precio de registro que incluye precio base, prima y total
Configuración
Requisitos previos
- Node.js (v16 o superior)
- npm o yarn
- Acceso a proveedores RPC de Ethereum (públicos o privados)
Instalación
- Clona el repositorio o crea un nuevo proyecto:
git clone https://github.com/JustaName-id/ens-mcp-server
- Instala las dependencias:
npm i
- Configura los proveedores de Ethereum:
Crea un archivo
.enven la raíz del proyecto con lo siguiente (opcional):
PROVIDER_URL=https://your-provider-url.com,https://your-backup-provider.com
Si no se especifican proveedores, el servidor utilizará estos valores predeterminados:
- https://eth.drpc.org
- https://eth.llamarpc.com
- https://ethereum.publicnode.com
- https://rpc.ankr.com/eth
Uso con Claude Desktop
Añade lo siguiente a tu claude_desktop_config.json:
Usando npx
{
"mcpServers": {
"ens": {
"command": "npx",
"args": [
"-y",
"mcp-server-ens"
],
"env": {
"PROVIDER_URL": "https://your-provider-url.com,https://your-backup-provider.com"
}
}
}
}
Usando script local
{
"mcpServers": {
"ens": {
"command": "node",
"args": [
"/path/to/your/server.js"
],
"env": {
"PROVIDER_URL": "https://your-provider-url.com,https://your-backup-provider.com"
}
}
}
}
Uso con Claude Code
claude mcp add ens -- npx -y mcp-server-ens
Con proveedores personalizados:
claude mcp add ens -e PROVIDER_URL="https://your-provider-url.com" -- npx -y mcp-server-ens
Verifica que está conectado:
claude mcp list
Manejo de errores
El servidor implementa un manejo robusto de errores para varios escenarios:
- Errores de red al conectarse a proveedores de Ethereum
- Nombres ENS o direcciones de Ethereum no válidos
- Errores específicos de ENS
- Errores operativos generales
Todos los errores se normalizan en mensajes fáciles de usar mientras se conservan los detalles técnicos para la depuración.
Publicación
Para publicar como paquete npm:
npm publish --access public
Solución de problemas
Si encuentras errores:
- Verifica que tus proveedores de Ethereum funcionen y sean accesibles
- Comprueba que los nombres ENS que consultas tengan el formato correcto
- Asegúrate de tener la última versión de las bibliotecas ENS
- Intenta usar múltiples proveedores separándolos con comas en la variable de entorno PROVIDER_URL
Licencia
Este servidor MCP está licenciado bajo la Licencia MIT. Esto significa que eres libre de usar, modificar y distribuir el software, sujeto a los términos y condiciones de la Licencia MIT. Para más detalles, consulta el archivo LICENSE en el repositorio del proyecto.