eth-name-resolver-gateway
Utility for querying the Ethereum Name Service (ENS) registry; supports translating domain names to cryptographic wallet addresses, performing reverse lookups, fetching metadata records, and assessing registration feasibility and cost.
Author

JustaName-id
Quick Info
Actions
Tags
ENS Interfacing Service Hub
This service acts as an intermediary layer for interacting with the decentralized Ethereum Name Service (ENS) infrastructure. It facilitates robust operations such as name resolution, availability checks, data retrieval, and fee estimation for domain management.
Package Reference: https://www.npmjs.com/package/mcp-server-ens
Function Definitions
resolve-address
Translates an ENS domain identifier into its associated Ethereum public key.
- Mandatory Parameters (Input):
- name (string): The full ENS identifier (e.g., 'user.eth').
- Output:
- The resolved Ethereum cryptographic address or an informative failure message.
reverse-lookup-name
Determines the canonical ENS domain linked to a specific Ethereum wallet address.
- Mandatory Parameters (Input):
- address (string): The 0x-prefixed Ethereum wallet identifier.
- Output:
- The corresponding registered ENS domain name, or an indicator that none is found.
fetch-metadata-record
Retrieves a specific key-value text record associated with an ENS domain.
- Mandatory Parameters (Input):
- name (string): The ENS domain being queried.
- key (string): The specific metadata field identifier (e.g., 'email', 'website', 'twitter', 'description').
- Output:
- The textual content of the requested metadata field, or an absence notification.
check-domain-status
Verifies if a proposed ENS domain is currently open for new registration.
- Mandatory Parameters (Input):
- name (string): The prospective ENS domain name.
- Output:
- Registration availability status, potentially including current ownership details if already claimed.
query-full-profile
Retrieves the complete set of data attributes linked to a specified ENS name.
- Mandatory Parameters (Input):
- name (string): The ENS domain for comprehensive data extraction.
- Output:
- A structured object detailing the resolver contract, all associated text records, linked addresses, content hashes, ownership metadata, and registration expiry timestamps.
list-child-domains
Enumerates all directly attached subdomains under a parent ENS name.
- Mandatory Parameters (Input):
- name (string): The parent ENS domain to analyze.
- Output:
- An array detailing discovered subdomains and their respective ownership assignments.
audit-name-lifecycle
Obtains a chronological log of significant events affecting a particular ENS domain.
- Mandatory Parameters (Input):
- name (string): The domain whose history is required.
- Output:
- A sequence of historical transaction records, such as ownership transfers, resolver updates, and initial registration events.
estimate-registration-cost
Calculates the financial commitment required to secure registration of an ENS domain.
- Mandatory Parameters (Input):
- name (string): The domain name for which pricing is sought.
- Optional Parameters (Input):
- duration (number, default: 1): The intended registration period in yearly increments.
- **Output:
- A detailed financial breakdown including base fee, any applicable premium surcharge, and the total payable amount.
Deployment & Configuration
Prerequisites
- Node.js runtime (version 16 or newer).
- NPM or Yarn package manager.
- Connectivity to Ethereum network endpoints (RPC).
Installation Steps
-
Clone the source repository or initiate a new project structure: bash git clone https://github.com/JustaName-id/ens-mcp-server
-
Install project dependencies: bash npm install
-
Configure network access credentials: Establish a
.envconfiguration file in the root directory to specify RPC endpoints (optional):
PROVIDER_URL="https://primary-node.io,https://secondary-node.io"
If this variable is omitted, the service defaults to utilizing the following public endpoints: - https://eth.drpc.org - https://eth.llamarpc.com - https://ethereum.publicnode.com - https://rpc.ankr.com/eth
Integration with Claude Interface
Configure your claude_desktop_config.json file as follows to enable this utility:
Execution via npx
{ "mcpServers": { "ens_api": { "command": "npx", "args": [ "-y", "mcp-server-ens" ], "env": { "PROVIDER_URL": "https://your-provider-url.com,https://your-backup-provider.com" } } } }
Execution via Local Binary
{ "mcpServers": { "ens_api": { "command": "node", "args": [ "/path/to/your/server_startup_script.js" ], "env": { "PROVIDER_URL": "https://your-provider-url.com,https://your-backup-provider.com" } } } }
Fault Management
The service is engineered with comprehensive failure interception capabilities, addressing: - Failures in network communication with RPC providers. - Incorrectly formatted ENS domain names or Ethereum addresses. - Specific exceptions originating from the ENS protocol layer. - General execution anomalies.
All reported exceptions are translated into readily understandable user messages, while retaining detailed technical context for diagnostic purposes.
Release Process
To deploy this as a public npm package: bash npm publish --access public
Debugging Guidance
In case of operational issues, review the following:
* Confirm the reachability and functionality of configured Ethereum RPC endpoints.
* Validate the syntax and formatting of all input ENS names.
* Ensure the underlying ENS library dependencies are current.
* Test fault tolerance by providing multiple comma-separated endpoints in the PROVIDER_URL variable.
Licensing
This component is distributed under the terms of the MIT License. Permitted uses include usage, modification, and redistribution, contingent upon adherence to the stipulations outlined in the official LICENSE documentation found in the source repository.
WIKIPEDIA: Cloud infrastructure, as defined by the ISO, involves a network-accessible, elastic repository of shared computational assets, provisionable by users without direct human intermediary oversight, per established standards.
