mcpField
E
ENS MCP Server

ENS MCP Server

本地服务
github.com/JustaName-id金融数据841 周前更新

关于 ENS MCP Server

这是一款供 AI 客户端查询以太坊域名服务(ENS)数据的 MCP 服务,提供名称解析、记录查询、可用性、子域名、历史和注册价格等工具。

主要功能

  1. 01解析名称并反向查询地址
  2. 02读取 ENS 文本记录和完整记录
  3. 03检查名称可用性及所有者
  4. 04列出子域名和名称历史
  5. 05查询注册价格

适用场景

  1. 01查找 ENS 名称对应的以太坊地址
  2. 02检查名称的记录、所有权或子域名
  3. 03注册前查询名称可用性或费用

MCP 相关

向 MCP 客户端提供 ENS 查询和注册相关工具,包括名称解析、记录、可用性、历史及价格查询。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"ens": {
"command": "npx",
"args": [
"-y",
"mcp-server-ens"
]
}
}
}
启动命令npx -y mcp-server-ens

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmmcp-server-ens

工具

8

收录的工具列表 · 更新于 3 周前

参数类型必填说明
namestring是要解析的 ENS 名称(例如,'vitalik.eth')

详细介绍

ENS MCP 服务

用于 Ethereum Name Service(ENS)的 MCP 服务,使 Claude 能够与 ENS 系统交互,以解析名称、检查可用性、检索记录等。

npm 包:https://www.npmjs.com/package/mcp-server-ens

工具

resolve-name

将 ENS 名称解析为 Ethereum 地址

  • 必需输入:
    • name(字符串):要解析的 ENS 名称(例如,'vitalik.eth')
  • **返回:**对应的 Ethereum 地址或错误消息
reverse-lookup

获取 Ethereum 地址对应的 ENS 名称

  • 必需输入:
    • address(字符串):要查询的 Ethereum 地址
  • **返回:**对应的 ENS 名称,或未找到名称的提示
get-text-record

获取 ENS 名称的文本记录

  • 必需输入:
    • name(字符串):要查询的 ENS 名称
    • key(字符串):要查询的记录键(例如,'email'、'url'、'avatar'、'description'、'twitter' 等)
  • **返回:**指定文本记录的值,或未找到记录的提示
check-availability

检查 ENS 名称是否可注册

  • 必需输入:
    • name(字符串):要检查的 ENS 名称
  • **返回:**可用性状态;如果已注册,还会返回所有者信息
get-all-records

获取 ENS 名称的所有可用信息

  • 必需输入:
    • name(字符串):要查询的 ENS 名称
  • **返回:**全面的信息,包括解析器地址、文本记录、地址、内容哈希、所有权和到期详情
get-subdomains

获取 ENS 名称的子域名

  • 必需输入:
    • name(字符串):要查询子域名的 ENS 名称
  • **返回:**子域名列表及其所有者信息
get-name-history

获取 ENS 名称的历史记录

  • 必需输入:
    • name(字符串):要查询历史记录的 ENS 名称
  • **返回:**与该名称相关的历史事件,包括转移、解析器变更和注册事件
get-registration-price

获取注册 ENS 名称的价格

  • 必需输入:
    • name(字符串):要查询价格的 ENS 名称
  • 可选输入:
    • duration(数字,默认值:1):注册期限,单位为年
  • **返回:**注册价格明细,包括基础价格、溢价和总价

设置

前提条件
  • Node.js(v16 或更高版本)
  • npm 或 yarn
  • 可访问 Ethereum RPC 提供商(公共或私有)
安装
  1. 克隆仓库或创建新项目:
git clone https://github.com/JustaName-id/ens-mcp-server
  1. 安装依赖项:
npm i
  1. 配置 Ethereum 提供商: 在项目根目录中创建 .env 文件,填入以下内容(可选):
PROVIDER_URL=https://your-provider-url.com,https://your-backup-provider.com

如果未指定提供商,服务将使用以下默认值:

在 Claude Desktop 中使用

将以下内容添加到 claude_desktop_config.json:

使用 npx
{
  "mcpServers": {
    "ens": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-server-ens"
      ],
      "env": {
        "PROVIDER_URL": "https://your-provider-url.com,https://your-backup-provider.com"
      }
    }
  }
}
使用本地脚本
{
  "mcpServers": {
    "ens": {
      "command": "node",
      "args": [
        "/path/to/your/server.js"
      ],
      "env": {
        "PROVIDER_URL": "https://your-provider-url.com,https://your-backup-provider.com"
      }
    }
  }
}

在 Claude Code 中使用

claude mcp add ens -- npx -y mcp-server-ens

使用自定义提供商:

claude mcp add ens -e PROVIDER_URL="https://your-provider-url.com" -- npx -y mcp-server-ens

验证是否已连接:

claude mcp list

错误处理

该服务针对各种情况实现了可靠的错误处理:

  • 连接 Ethereum 提供商时发生网络错误
  • ENS 名称或 Ethereum 地址无效
  • ENS 特定错误
  • 一般操作错误

所有错误都会转换为便于用户理解的消息,同时保留技术细节以供调试。

发布

要将其发布为 npm 包:

npm publish --access public

故障排除

如果遇到错误:

  • 确认 Ethereum 提供商运行正常且可访问
  • 检查查询的 ENS 名称格式是否正确
  • 确保使用最新版本的 ENS 库
  • 尝试在 PROVIDER_URL 环境变量中用逗号分隔多个提供商

许可证

此 MCP 服务采用 MIT 许可证。您可以自由使用、修改和分发此软件,但须遵守 MIT 许可证的条款和条件。详情请参阅项目仓库中的 LICENSE 文件。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。