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 consultadokey(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
- Clone o repositório ou crie um novo projeto:
git clone https://github.com/JustaName-id/ens-mcp-server
- Instale as dependências:
npm i
- Configure os provedores Ethereum:
Crie um arquivo
.envna 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:
- https://eth.drpc.org
- https://eth.llamarpc.com
- https://ethereum.publicnode.com
- https://rpc.ankr.com/eth
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.