Skip to main content
Glama

Name Whisper — ENS Intelligence Layer

set_ens_records

DestructiveIdempotent

Set ENS resolver records for a name you own. Returns encoded transaction calldata ready to sign and broadcast.

Supports: address records — ETH as a plain 0x address, non-ETH coins (BTC, SOL, LTC, DOGE, …) as the raw wallet-format address (bc1…, base58, …) which is ENSIP-9-encoded automatically; text records (avatar, description, url, social handles, AI agent metadata); contenthash as an ipfs:///ipns:// URI or bare CID (auto-encoded) or a pre-encoded 0x value; ENSIP-25 agent-registration records; and ENSIP-26 agent context and endpoint discovery. Always pass addresses and CIDs EXACTLY as the user gave them — never reconstruct or abbreviate them.

Multiple records are batched into a single multicall transaction to save gas.

Common text record keys: avatar, description, url, email, com.twitter, com.github, com.discord, ai.agent, ai.purpose, ai.capabilities, ai.category.

ENSIP-25 support: Pass agentRegistration with registryAddress and agentId to automatically set the standardized agent-registration text record. This creates a verifiable on-chain binding between your ENS name and your agent identity in an ERC-8004 registry.

ENSIP-26 support: Pass agentContext to set the agent-context text record (free-form agent description). Pass agentEndpoints with protocol URLs (mcp, a2a, oasf, web) to set agent-endpoint[protocol] discovery records.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesENS name to set records for (e.g. "myagent.eth")
recordsYesRecords to set on the name
walletAddressYesWallet address that owns the name (must sign the transaction)

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate idempotent and destructive behavior. The description adds that it 'Returns encoded transaction calldata ready to sign and broadcast' and that multiple records are batched into a multicall. This provides context beyond annotations without contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but well-organized into sections for each record type, with the core purpose front-loaded. Every sentence adds information, though it could be slightly more concise without losing clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (3 parameters, nested objects, no output schema), the description covers input formats, auto-encoding, return value (calldata), and common record keys. It addresses all necessary usage context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but the description adds significant value: explains auto-encoding for non-ETH addresses and contentHash CIDs/URIs, details on ENSIP-25/26 structures, and lists common text record keys. This clarifies usage beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Set ENS resolver records for a name you own.' and lists supported record types (address, text, contenthash, ENSIP-25, ENSIP-26). It distinguishes itself by noting it returns calldata, not executing directly. The purpose is specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the user must own the name ('for a name you own') and provides explicit input formatting instructions ('Always pass addresses and CIDs EXACTLY as the user gave them'). However, it does not explicitly contrast with sibling 'bulk_set_records' or state when not to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.3/5.0
Disambiguation4/5

Most tools have clearly distinct purposes with detailed descriptions, but some pairs (e.g., search_ens_names vs enumerate_entities, batch_purchase vs sweep) could cause confusion due to overlapping functionality. The descriptions help differentiate, but the large number of tools increases ambiguity risk.

Naming Consistency5/5

All tool names use consistent snake_case with a verb_noun pattern (e.g., get_name_details, set_ens_records, batch_create_listings). Naming conventions are uniform and predictable, making it easy to infer tool purpose from the name.

Tool Count4/5

With 44 tools, the server is quite comprehensive, covering a wide range of ENS operations. While this exceeds the typical 3-15 tool count, the scope of the domain (marketplace, registration, agent identity, etc.) justifies the number, and tools are well-organized into logical groups.

Completeness5/5

The tool surface covers the full lifecycle of ENS names: registration, renewal, wrapping, transfers, marketplace actions (listings, offers, purchases), record management, subnames, agent identity, and market intelligence. No obvious gaps are present for an ENS intelligence platform.