trackmcp
Back to directory

An MCP server that resolves, analyzes, and contextualizes ENS domain activity.

1 stars PythonAI & Machine Learning Updated Jun 12, 2025

Documentation

ENS MCP Server

An MCP server that resolves, analyzes, and contextualizes ENS domain activity to empower Web3 agents with human-readable identity insights.

GitHub License
Python Version
Status

Features

  • Resolve ENS Names: Map ENS domains (e.g., `vitalik.eth`) to Ethereum addresses.
  • Detailed Domain Information: Fetch comprehensive domain data, including address, owner, registrant, expiry, registration, wrapped domain, and resolver details.
  • Domain Event History: Retrieve events like transfers, resolver changes, and name wrapping, with relevant addresses and timestamps.

Requirements

  • Python 3.10 or higher
  • uv (recommended for dependency management)
  • A valid API key for The Graph.

Installation

1. Clone the Repository:

bash
git clone https://github.com/kukapay/ens-mcp.git
   cd ens-mcp

2. Install Dependencies:

bash
uv sync

3. Installing to Claude Desktop:

Install the server as a Claude Desktop application:

bash
uv run mcp install main.py --name "ens-mcp"

Configuration file as a reference:

json
{
       "mcpServers": {
           "ens-mcp": {
               "command": "uv",
               "args": [ "--directory", "/path/to/ens-mcp", "run", "main.py" ],
               "env": { "THEGRAPH_API_KEY": "the_graph_api_key"}               
           }
       }
    }

Replace `/path/to/ens-mcp` with your actual installation path, and `the_graph_api_key` with your API key from The Graph.

Usage

Tools

The server provides three MCP tools:

1. resolve_ens_name(domain: str) -> str

Resolves an ENS domain to its Ethereum address.

    Example:

    code
    resolve_ens_name("vitalik.eth") -> "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"

    2. get_domain_details(domain: str) -> str

    Fetches detailed information about an ENS domain, including its address.

      Example Output:

      code
      ENS Domain: vitalik.eth
         Address: 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045
         Label Name: vitalik
         Label Hash: 0x...
         Subdomain Count: 5
         Owner: 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045
         Registrant: 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045
         Wrapped Owner: None
         Expiry Date: 2025-10-31 00:00:00
         TTL: 0 seconds
         Is Migrated: true
         Created At: 2017-05-04 12:00:00
         Registration: Registration Date: 2017-05-04 12:00:00
         Registration Expiry: 2025-10-31 00:00:00
         Registration Cost: 1000000000000000 Wei
         Registrant: 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045
         Wrapped Domain: Not Wrapped
         Resolver: Resolver Address: 0x4976fb03C32e5B8cfe2b6cCB31c09Ba78EBaBa41
         Content Hash: None
         Text Records: email, url

      3. get_domain_events(domain: str) -> str

      Retrieves events associated with an ENS domain.

        Example Output:

        code
        Event: Transfer
           Block Number: 1234567
           Transaction ID: 0x...
           New Owner: 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045
        
           Event: NewResolver
           Block Number: 1234568
           Transaction ID: 0x...
           Resolver Address: 0x4976fb03C32e5B8cfe2b6cCB31c09Ba78EBaBa41
           Resolver Addr: 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045

        License

        This project is licensed under the MIT License. See the LICENSE file for details.

        Frequently asked questions

        What is ens-mcp?

        ens-mcp is An MCP server that resolves, analyzes, and contextualizes ENS domain activity.

        How do I install ens-mcp?

        Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.

        Is ens-mcp open source?

        Yes — it is hosted on GitHub at https://github.com/kukapay/ens-mcp and has 1 stars.

        Related MCP tools

        Run your own MCP server? See who uses it and what to fix.

        Measure it with TrackMCP