Name Whisper — ENS Intelligence Layer
44 MCP tools to search, value, register, trade, and manage ENS names. AI-powered intelligence layer.
Open source Repository Open in the app JSON README (API)
About
44 MCP tools to search, value, register, trade, and manage ENS names. AI-powered intelligence layer.
Details
- Kind
- MCP servers
- Topic
- AI, RAG & memory
- Publisher
- ai.namewhisper
- Origin
- official
- Category
- ferramentas
- Transport
- http
- Version
- 1.2.0
- Last push
- 2026-07-31T08:46:41Z
- Repository state
- ativo
- Language
- JavaScript
- License
- AGPL-3.0
- Added
- 2026-08-29 03:00:12
- Updated
- 2026-08-29 03:00:12
- Origin id
ai.namewhisper/ens-tools
README
# NameWhisper MCP Server
AI-powered ENS intelligence for autonomous agents. Search 3.5M+ names, get valuations, trade, and manage ENS domains — all via the Model Context Protocol.
[](LICENSE)
[](https://www.npmjs.com/package/namewhisper-mcp)
[](https://modelcontextprotocol.io)
## Quick Start
### Claude Desktop
Add to `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\Claude\claude_desktop_config.json` (Windows):
```json
{
"mcpServers": {
"namewhisper": {
"command": "npx",
"args": ["-y", "namewhisper-mcp"]
}
}
}
```
### Cursor
Add to `.cursor/mcp.json` in your project root:
```json
{
"mcpServers": {
"namewhisper": {
"command": "npx",
"args": ["-y", "namewhisper-mcp"]
}
}
}
```
### Claude Code
```bash
claude mcp add namewhisper -- npx -y namewhisper-mcp
```
### Direct Usage
```bash
npx namewhisper-mcp
```
### Remote endpoint (no install)
The same 44 tools are served directly over streamable HTTP — point any remote-capable MCP client at:
```
https://namewhisper.ai/mcp
```
For Claude Code:
```bash
claude mcp add --transport http namewhisper https://namewhisper.ai/mcp
```
Server card: [namewhisper.ai/.well-known/mcp.json](https://namewhisper.ai/.well-known/mcp.json) · Registry: `ai.namewhisper/ens-tools` on the [MCP Registry](https://registry.modelcontextprotocol.io)
## What It Does
NameWhisper exposes **44 ENS tools** over the Model Context Protocol, giving AI agents full access to:
- **Search** — natural language queries across 3.5M+ indexed ENS names with semantic vector search
- **Valuation** — confidence-rated price estimates using comparable sales, entity recognition, and quality signals
- **Marketplace** — browse listings, find underpriced names, check recent sales and offers
- **Commerce** — register names, list names for sale, buy listings (single or batch up to 20), make offers, accept offers, cancel listings and offers, bulk register up to 20 names in 2 transactions
- **Management** — renew, transfer, set records, wrap/unwrap, manage fuses, create subnames
- **Agent Identity** — provision ENSIP-25 agent identities, check ERC-8004 reputation, search the agent directory
- **Knowledge** — search ENS governance proposals, protocol docs, and community discussions
## Architecture
```
┌──────────────┐ stdio ┌────────────────────┐ HTTPS ┌─────────────────┐
│ AI Client │ ◄────────────► │ namewhisper-mcp │ ◄──────────► │ namewhisper.ai │
│ (Claude, │ MCP JSON │ (this package) │ JSON-RPC │ (backend) │
│ Cursor, │ │ │ │ │
│ etc.) │ │ 44 tool schemas │ │ Valuation │
└──────────────┘ │ + proxy layer │ │ Database │
└────────────────────┘ │ Marketplace │
│ On-chain │
└─────────────────┘
```
This package is a **thin proxy**. It registers tool schemas locally for your MCP client to discover, then forwards all tool calls to the NameWhisper backend at `namewhisper.ai/mcp`. The proprietary valuation engine, marketplace aggregation, database, and on-chain transaction building all run server-side.
No API key required. No database. No secrets. Just `npx` and go.
## Tools Reference
### Discovery
| Tool | Description |
|------|-------------|
| `search_ens_names` | Natural language search with automatic intent detection — filtered, semantic, creative, or bulk availability check |
| `enumerate_entities` | Verified, correctly-spelled label list for a real-world entity category (e.g. "F1 world champions"), grouped by available vs registered |
| `get_name_details` | Full metadata for a name: owner, expiry, tags, listings, offers, ENSIP-25 agent bindings |
| `check_availability` | Bulk check registration status for multiple names |
| `get_similar_names` | Semantic vector search across 3.5M+ names using 256-dim embeddings |
| `get_expiring_names` | Names by lifecycle window — premium (Dutch auction), grace period, or expiring soon, validated on-chain |
### Intelligence
| Tool | Description |
|------|-------------|
| `get_valuation` | Three-track valuation: comp-based + quality-reference + self-history. Entity recognition via Wikipedia/Wikidata |
| `get_market_activity` | Recent sales, listings, offers, mints, transfers, renewals, burns |
| `get_wallet_portfolio` | All ENS names owned by a wallet with listings, offers, and expiry data |
| `find_alpha` | Discover names listed below comparable-sales valuation with discount % and confidence |
| `wash_check` | Detect wash trading in ENS sales using on-chain analysis |
| `get_primary_name` | Reverse resolution — check what ENS name is set for a wallet address |
### Commerce
| Tool | Description |
|------|-------------|
| `purchase_name` | Register available names or buy listed names. Auto-detects action, returns transaction recipes |
| `batch_purchase` | Buy up to 20 NameWhisper-listed names in one Seaport transaction |
| `sweep` | Floor-sweep the cheapest N names in a category/filter (bounded by count and/or budget) in one Seaport transaction |
| `create_listing` | List a name for sale on NameWhisper. Builds unsigned Seaport order for signing |
| `batch_create_listings` | Bulk-list up to 10 names on NameWhisper in one signing flow (SIP-6 bulk signature) |
| `cancel_listing` | Cancel an active listing via Seaport.cancel() on-chain — invalidates the order across all venues |
| `make_offer` | Submit a bid on a registered name with market context |
| `accept_offer` | Seller-side acceptance of a standing offer. Atomic WETH↔name swap via Seaport.fulfillOrder() |
| `cancel_offer` | Cancel an offer you made via Seaport.cancel() on-chain |
| `bulk_register` | Batch register up to 20 names in 2 transactions (commit + register) via Multicall3 |
| `renew_ens_name` | Renew single or batch names. Any duration, anyone can renew any name |
| `bulk_set_records` | Set resolver records across up to 50 names in one transaction |
### Management
| Tool | Description |
|------|-------------|
| `transfer_ens_name` | Transfer ownership (auto-detects wrapped vs unwrapped) |
| `bulk_transfer_ens_names` | Batch transfer up to 20 names in 1 transaction via Multicall3 |
| `set_ens_records` | Set address records, text records, content hash, ENSIP-25 agent registration |
| `set_primary_name` | Set reverse resolution (primary name) for a wallet |
| `set_resolver` | Change resolver contract |
| `manage_ens_name` | Comprehensive status check with renewal pricing and recommendations |
### NameWrapper
| Tool | Description |
|------|-------------|
| `wrap_name` | Wrap into NameWrapper (ERC-721 to ERC-1155) with optional fuse burning |
| `unwrap_name` | Unwrap back to BaseRegistrar (ERC-1155 to ERC-721) |
| `manage_fuses` | Read or burn fuses on wrapped names (irreversible) |
| `mint_subnames` | Bulk create subnames under a parent name |
| `extend_subname_expiry` | Extend subname expiry within parent bounds |
### Access & Recovery
| Tool | Description |
|------|-------------|
| `approve_operator` | Approve/revoke operator for ENS contracts (setApprovalForAll) |
| `reclaim_name` | Reclaim ENS Registry ownership from BaseRegistrar token |
### Agent Identity
| Tool | Description |
|------|-------------|
| `provision_agent_identity` | One-call agent identity setup: name recommendations + registration recipe + ENSIP-25 records |
| `register_agent` | Register an ENS name as an ERC-8004 agent identity on mainnet (ERC-8217 name-bound or direct-to-wallet) |
| `get_agent_reputation` | Check ENSIP-25 agent-registration verification + ERC-8004 reputation |
| `search_agent_directory` | Find registered AI agents by capability, reputation, or name |
| `get_caller_identity` | Returns authenticated identity of the calling agent (requires ERC-8128) |
### Knowledge & Internal
| Tool | Description |
|------|-------------|
| `search_knowledge` | Search ENS governance, protocol docs, blog posts, forum discussions, Farcaster casts |
| `get_usage_stats` | Session tool call counts, success rates, and latency |
## Configuration
| Environment Variable | Default | Description |
|---------------------|---------|-------------|
| `NAMEWHISPER_URL` | `https://namewhisper.ai` | Backend URL (override for local development) |
Copy `.env.example` to `.env` to customize. Most users need no configuration.
## Links
- **NameWhisper** — [namewhisper.ai](https://namewhisper.ai)
- **Developer docs** — [namewhisper.ai/docs](https://namewhisper.ai/docs)
- **Agent integration guide** — [namewhisper.ai/guide](https://namewhisper.ai/guide)
- **llms.txt** — [namewhisper.ai/llms.txt](https://namewhisper.ai/llms.txt)
- **MCP Specification** — [modelcontextprotocol.io](https://modelcontextprotocol.io)
- **ENSIP-25** — [Agent identity standard for ENS](https://docs.ens.domains/ensip/25/)
- **ERC-8004** — [Trustless Agents](https://eips.ethereum.org/EIPS/eip-8004)
## License
[AGPL-3.0](LICENSE)