ENS MCP Server

Interaja com o Ethereum Name Service (ENS) para resolver nomes, verificar disponibilidade e recuperar registros.

Documentação

Servidor MCP ENS

Servidor MCP para o Serviço de Nomes Ethereum (ENS), permitindo que o Claude interaja com o sistema ENS para resolver nomes, verificar disponibilidade, recuperar registros e muito mais.

Pacote npm: https://www.npmjs.com/package/mcp-server-ens

Ferramentas

resolve-name

Resolve um nome ENS para um endereço Ethereum

  • Entradas obrigatórias:
    • name (string): O nome ENS a ser resolvido (ex.: 'vitalik.eth')
  • Retorna: O endereço Ethereum correspondente ou uma mensagem de erro

reverse-lookup

Obtém o nome ENS para um endereço Ethereum

  • Entradas obrigatórias:
    • address (string): O endereço Ethereum a ser consultado
  • Retorna: O nome ENS correspondente ou uma indicação de que nenhum nome foi encontrado

get-text-record

Obtém um registro de texto para um nome ENS

  • Entradas obrigatórias:
    • name (string): O nome ENS a ser consultado
    • key (string): A chave do registro a ser consultada (ex.: 'email', 'url', 'avatar', 'description', 'twitter', etc.)
  • Retorna: O valor do registro de texto especificado ou indicação de que nenhum registro foi encontrado

check-availability

Verifica se um nome ENS está disponível para registro

  • Entradas obrigatórias:
    • name (string): O nome ENS a ser verificado
  • Retorna: Status de disponibilidade e informações do proprietário, se registrado

get-all-records

Obtém todas as informações disponíveis para um nome ENS

  • Entradas obrigatórias:
    • name (string): O nome ENS a ser consultado
  • Retorna: Informações abrangentes incluindo endereço do resolvedor, registros de texto, endereços, hash de conteúdo, propriedade e detalhes de expiração

get-subdomains

Obtém subdomínios para um nome ENS

  • Entradas obrigatórias:
    • name (string): O nome ENS a ser consultado para subdomínios
  • Retorna: Lista de subdomínios com suas informações de proprietário

get-name-history

Obtém o histórico de um nome ENS

  • Entradas obrigatórias:
    • name (string): O nome ENS para verificar o histórico
  • Retorna: Eventos históricos relacionados ao nome, incluindo transferências, alterações de resolvedor e eventos de registro

get-registration-price

Obtém o preço para registrar um nome ENS

  • Entradas obrigatórias:
    • name (string): O nome ENS para verificar o preço
  • Entradas opcionais:
    • duration (número, padrão: 1): Duração do registro em anos
  • Retorna: Detalhamento do preço de registro incluindo preço base, prêmio e total

Configuração

Pré-requisitos

  • Node.js (v16 ou superior)
  • npm ou yarn
  • Acesso a provedores RPC Ethereum (públicos ou privados)

Instalação

  1. Clone o repositório ou crie um novo projeto:
git clone https://github.com/JustaName-id/ens-mcp-server
  1. Instale as dependências:
npm i
  1. Configure os provedores Ethereum: Crie um arquivo .env na raiz do projeto com o seguinte conteúdo (opcional):
PROVIDER_URL=https://your-provider-url.com,https://your-backup-provider.com

Se nenhum provedor for especificado, o servidor usará estes padrões:

Uso com Claude Desktop

Adicione o seguinte ao seu 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 com Claude Code

claude mcp add ens -- npx -y mcp-server-ens

Com provedores personalizados:

claude mcp add ens -e PROVIDER_URL="https://your-provider-url.com" -- npx -y mcp-server-ens

Verifique se está conectado:

claude mcp list

Tratamento de Erros

O servidor implementa tratamento robusto de erros para vários cenários:

  • Erros de rede ao conectar aos provedores Ethereum
  • Nomes ENS ou endereços Ethereum inválidos
  • Erros específicos do ENS
  • Erros operacionais gerais

Todos os erros são normalizados em mensagens amigáveis ao usuário, preservando os detalhes técnicos para depuração.

Publicação

Para publicar como pacote npm:

npm publish --access public

Solução de Problemas

Se você encontrar erros:

  • Verifique se seus provedores Ethereum estão funcionando e acessíveis
  • Confirme se os nomes ENS que você está consultando estão formatados corretamente
  • Garanta que você tenha a versão mais recente das bibliotecas ENS
  • Tente usar vários provedores separando-os por vírgula na variável de ambiente PROVIDER_URL

Licença

Este servidor MCP é licenciado sob a Licença MIT. Isso significa que você é livre para usar, modificar e distribuir o software, sujeito aos termos e condições da Licença MIT. Para mais detalhes, consulte o arquivo LICENSE no repositório do projeto.