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 consultar
    • key (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

  1. Clona el repositorio o crea un nuevo proyecto:
git clone https://github.com/JustaName-id/ens-mcp-server
  1. Instala las dependencias:
npm i
  1. Configura los proveedores de Ethereum: Crea un archivo .env en 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:

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.