Featured

Deploy OpenClaw in 60 seconds — 20% off logoDeploy OpenClaw in 60 seconds — 20% off

Launch OpenClaw on Hostinger in about 60 seconds and keep your agent live 24/7. Our referral link gives you 20% off, no coupon code needed.

Launch on Hostinger
Run your Hermes agent on Hostinger, fully managed logoRun your Hermes agent on Hostinger, fully managed

Launch Hermes on Hostinger in one click, fully managed, no VPS knowledge needed. Use code ZACAARON10 for 10% off.

Launch on Hostinger
Crawl and scrape any site into clean data, 10% off logoCrawl and scrape any site into clean data, 10% off

Firecrawl crawls and scrapes any site into clean markdown for your agent. Get 1,000 free credits, and new users get 10% off their first purchase.

Try Firecrawl free
Your own AI agent, running 24/7 with QwikClaw logoYour own AI agent, running 24/7 with QwikClaw

QwikClaw sets up and runs an always-on OpenClaw agent for you. One click, no config files, no server setup.

Deploy now
One API to scrape, enrich, and extract the internet. logoOne API to scrape, enrich, and extract the internet.

Context.dev gives your agents a single API to scrape, enrich, and extract live web data — no proxies, no parsers, no maintenance.

Start building free
SetupClaw: done-for-you OpenClaw for founders & exec teams logoSetupClaw: done-for-you OpenClaw for founders & exec teams

White-glove OpenClaw for founders and exec teams (4–50+ employees): we install, harden, integrate your tools, and maintain it — secured from day one.

Get it set up for you
SEO data APIs for your agent, $1 free credit logoSEO data APIs for your agent, $1 free credit

DataForSEO gives your agent live access to SERP results, keyword data, backlinks, and on-page SEO data through one API. New accounts get a $1 credit, good for up to 20,000 keyword or backlink lookups.

Try DataForSEO free
Reach 47,000+ AI builders

A flat monthly placement in front of developers actively installing AI tools. No lock-in, cancel anytime.

Advertise here

Works with

Claude CodeClaude DesktopCursorVS CodeClineCodex CLIOpenClaw+ any MCP client

Install to Claude Code

This server doesn't publish a one-line install command. Follow the setup in the source repository.

Summary

Enables AI assistants to interact with the Ethereum Name Service via natural language, supporting lookups, availability checks, pricing, subnames, and onchain records.

README.md

ENS MCP Server

![Install in Cursor](https://cursor.com/en/install-mcp?name=ens&config=eyJuYW1lIjoiZW5zIiwidHlwZSI6Imh0dHAiLCJ1cmwiOiJodHRwczovL2Vucy1tY3AubmFtZXNwYWNlLm5pbmphL21jcCJ9) ![Install in VS Code](https://vscode.dev/redirect/mcp/install?name=ens-mcp&config=%7B%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fens-mcp.namespace.ninja%2Fmcp%22%7D) ![npm version](https://www.npmjs.com/package/ens-mcp)

Give your AI assistant native access to the ENS (Ethereum Name Service). Look up ENS names, profile information, check name availability, get pricing, explore subnames, and query onchain records — all through natural language.

Installation

Connect to ENS MCP Server:

https://ens-mcp.namespace.ninja/mcp

<details> <summary><b>Cursor</b></summary>

Add to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "ens": {
      "url": "https://ens-mcp.namespace.ninja/mcp"
    }
  }
}

</details>

<details> <summary><b>VS Code</b></summary>

Add to .vscode/mcp.json:

{
  "servers": {
    "ens": {
      "type": "http",
      "url": "https://ens-mcp.namespace.ninja/mcp"
    }
  }
}

</details>

<details> <summary><b>Claude Code</b></summary>

claude mcp add --transport http ens https://ens-mcp.namespace.ninja/mcp

</details>

<details> <summary><b>Claude Desktop</b></summary>

Add to your config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "ens": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://ens-mcp.namespace.ninja/mcp"]
    }
  }
}

</details>

<details> <summary><b>Codex</b></summary>

codex mcp add ens --url https://ens-mcp.namespace.ninja/mcp

</details>

<details> <summary><b>OpenCode</b></summary>

Add to your opencode.json:

{
  "mcp": {
    "ens": {
      "type": "remote",
      "url": "https://ens-mcp.namespace.ninja/mcp",
      "enabled": true
    }
  }
}

</details>

<details> <summary><b>Antigravity</b></summary>

Open the MCP Store panel (from the "..." dropdown in the side panel), then add a custom server with:

https://ens-mcp.namespace.ninja/mcp

</details>

<details> <summary><b>Windsurf</b></summary>

Add to ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "ens": {
      "serverUrl": "https://ens-mcp.namespace.ninja/mcp"
    }
  }
}

</details>

<details> <summary><b>Zed</b></summary>

Add to your Zed settings:

{
  "context_servers": {
    "ens": {
      "url": "https://ens-mcp.namespace.ninja/mcp"
    }
  }
}

</details>

<details> <summary><b>Gemini CLI</b></summary>

Add to ~/.gemini/settings.json:

{
  "mcpServers": {
    "ens": {
      "httpUrl": "https://ens-mcp.namespace.ninja/mcp"
    }
  }
}

</details>

<details> <summary><b>Warp</b></summary>

Go to Settings > MCP Servers > Add MCP Server and add:

{
  "ens": {
    "url": "https://ens-mcp.namespace.ninja/mcp"
  }
}

</details>

<details> <summary><b>Kiro</b></summary>

Add to ~/.kiro/settings/mcp.json:

{
  "mcpServers": {
    "ens": {
      "url": "https://ens-mcp.namespace.ninja/mcp"
    }
  }
}

</details>

<details> <summary><b>Roo Code</b></summary>

Add to your Roo Code MCP config:

{
  "mcpServers": {
    "ens": {
      "type": "streamable-http",
      "url": "https://ens-mcp.namespace.ninja/mcp"
    }
  }
}

</details>

<details> <summary><b>Other Clients</b></summary>

For clients that support remote MCP:

{
  "mcpServers": {
    "ens": {
      "url": "https://ens-mcp.namespace.ninja/mcp"
    }
  }
}

For clients that need mcp-remote:

{
  "mcpServers": {
    "ens": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://ens-mcp.namespace.ninja/mcp"]
    }
  }
}

</details>

<details> <summary><b>Self-Hosting</b></summary>

You can also self-host the ENS MCP Server using the npm package.

Stdio Transport:

npx -y ens-mcp

HTTP Transport:

npx -y ens-mcp --http --port 8080

The server will be available at http://localhost:8080/mcp.

Environment Variables:

| Variable | Description | Default | |----------|-------------|---------| | RPC_URL | Ethereum mainnet RPC URL | Viem Provided Public RPC | | SUBGRAPH_URL | ENS subgraph URL | ENSNode Public Subgraph |

Example with custom RPC and Subgraph:

RPC_URL=https://your-rpc-provider.com SUBGRAPH_URL=https://your-subgraph-provider.com npx -y ens-mcp

</details>

💬 Example Natural Language Queries

Once ENS MCP is installed, you can ask things like:

1️⃣ Basic Lookup

> Who owns vitalik.eth?

2️⃣ Resolver & Expiry

> What is the resolver and expiry date of vitalik.eth?

3️⃣ Records & Addresses

> Give me the ETH address and Twitter handle for vitalik.eth.

4️⃣ Reverse Lookup

> What ENS names are owned by 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045?

5️⃣ Subnames

> List all subdomains under base.eth.

6️⃣ Portfolio Analysis

> Show me all ENS names owned by this address and tell me which ones are expiring soon.

7️⃣ Conditional Acquisition Strategy

> I want to get example.eth. How much does it cost for 2 years? And if it’s not available, give me the owner details and socials so I can contact them.

8️⃣ Names for Address

> What are the names owned by 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045?

9️⃣ Subnames for Name

> What are the subnames under vitalik.eth?

1️⃣0️⃣ Name History

> when was the last time vitalik.eth changed its content hash?

Available Tools

| Tool | Description | | ---- | ----------- | | is_name_available | Check whether an ENS name is currently available for registration | | get_name_price | Get the registration price for a name at a given duration (in seconds) | | get_profile_details | Fetch full ENS profile: owner, resolver, expiry, text records, address records, and contenthash | | get_names_for_address | List all ENS names held by a given address | | get_subnames_for_name | Retrieve all subdomains registered under a parent ENS name | | get_name_history | Retrieve the event history of any ENS name | | get_subgraph_records | Query all record keys associated with a name |

Contributing

Contributions are welcome. Feel free to open a PR.

---

Built with ❤️ by Namespace Ninjas 🥷

See related servers & alternatives →

Related MCP servers

Browse all →

Related guides

Hand-picked reading to help you choose and use AI & ML servers.