Skip to main content
Glama

ENS MCP Server

Install in Cursor Install in VS Code npm version

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

Add to ~/.cursor/mcp.json:

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

Add to .vscode/mcp.json:

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

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"]
    }
  }
}
codex mcp add ens --url https://ens-mcp.namespace.ninja/mcp

Add to your opencode.json:

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

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

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

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

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

Add to your Zed settings:

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

Add to ~/.gemini/settings.json:

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

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

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

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

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

Add to your Roo Code MCP config:

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

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"]
    }
  }
}

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

Related MCP server: MCP Etherscan Server

💬 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 🥷

A
license - permissive license
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

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/thenamespace/ens-mcp'

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