ENS MCP Server について
AI クライアントから Ethereum Name Service(ENS)のデータを照会する MCP サーバーです。名前解決、レコード、利用可否、サブドメイン、履歴、登録価格を扱います。
主な機能
- 01名前解決とアドレスからの逆引き
- 02ENS テキストレコードと全レコードの取得
- 03名前の利用可否と所有者の確認
- 04サブドメインと名前の履歴の一覧
- 05登録価格の確認
活用シーン
- 01ENS 名に対応する Ethereum アドレスの特定
- 02名前のレコード、所有権、サブドメインの調査
- 03登録前の利用可否や費用の確認
MCP 対応
名前解決、レコード、利用可否、履歴、価格など、ENS の照会・登録関連ツールを MCP クライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの 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 License の下でライセンスされています。MIT License の条項に従う限り、このソフトウェアを自由に使用、変更、配布できます。詳しくは、プロジェクトリポジトリの LICENSE ファイルをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。