关于 ENS MCP Server
这是一款供 AI 客户端查询以太坊域名服务(ENS)数据的 MCP 服务,提供名称解析、记录查询、可用性、子域名、历史和注册价格等工具。
主要功能
- 01解析名称并反向查询地址
- 02读取 ENS 文本记录和完整记录
- 03检查名称可用性及所有者
- 04列出子域名和名称历史
- 05查询注册价格
适用场景
- 01查找 ENS 名称对应的以太坊地址
- 02检查名称的记录、所有权或子域名
- 03注册前查询名称可用性或费用
MCP 相关
向 MCP 客户端提供 ENS 查询和注册相关工具,包括名称解析、记录、可用性、历史及价格查询。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
8收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| name | string | 是 | 要解析的 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 提供商(公共或私有)
安装
- 克隆仓库或创建新项目:
git clone https://github.com/JustaName-id/ens-mcp-server
- 安装依赖项:
npm i
- 配置 Ethereum 提供商:
在项目根目录中创建
.env文件,填入以下内容(可选):
PROVIDER_URL=https://your-provider-url.com,https://your-backup-provider.com
如果未指定提供商,服务将使用以下默认值:
- https://eth.drpc.org
- https://eth.llamarpc.com
- https://ethereum.publicnode.com
- https://rpc.ankr.com/eth
在 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
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。