Skip to main content
Glama

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:

    git clone https://github.com/kukapay/ens-mcp.git cd ens-mcp
  2. Install Dependencies:

    uv sync
  3. Installing to Claude Desktop:

    Install the server as a Claude Desktop application:

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

    Configuration file as a reference:

    { "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.

    • Input: ENS domain (e.g., vitalik.eth)

    • Output: Ethereum address (e.g., 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045) or "None"

    Example:

    resolve_ens_name("vitalik.eth") -> "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
  2. get_domain_details(domain: str) -> str

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

    • Input: ENS domain

    • Output: Formatted string with domain details (address, owner, registrant, expiry, etc.)

    Example Output:

    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.

    • Input: ENS domain

    • Output: Formatted string listing events (e.g., transfers, resolver changes)

    Example Output:

    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.

Deploy Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kukapay/ens-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server