Skip to main content
Glama

Name Whisper — ENS Intelligence Layer

purchase_name

Destructive

Purchase an ENS name — either buy a listed name from a marketplace or register an available name directly on-chain.

For AVAILABLE names: Returns a complete registration recipe with contract address, ABI, step-by-step instructions, and a pre-generated secret. Your wallet signs and submits the transactions (commit → wait 60s → register).

For LISTED names: Searches all marketplaces (OpenSea, Grails) for the best price. If there are MULTIPLE active listings, returns CHOOSE_LISTING status with all options — present these to the user and ask which one they want. When the user chooses, call this tool again with the chosen orderHash to get the buy transaction.

The tool auto-detects whether the name is available or listed. You can override with the 'action' parameter.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesENS name to purchase (e.g. "coffee.eth")
actionNoAction: buy_listing (purchase listed name), register (register available name), auto (detect automatically)auto
durationNoRegistration duration in days. ENS protocol minimum is 28 days; maximum is 3650 (10 years); default is 365 (1 year). Sub-year is allowed.
orderHashNoSpecific Seaport order hash to fulfill. Use this when the user has chosen a specific listing from multiple options.
maxPriceEthNoMaximum price willing to pay in ETH: a listing's price, or for a registration the registration fee plus any premium and the Name Whisper fee
durationYearsNoDEPRECATED — use duration (days) instead. Number of years (converted to days internally).
walletAddressYesBuyer wallet address (will own the name)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / maxPriceEth / description
      Previous value: -"Maximum price willing to pay in ETH (for listed names)"New value: +"Maximum price willing to pay in ETH: a listing's price, or for a registration the registration fee plus any premium and the Name Whisper fee"
  2. Changed5 schema fields changed
    • addedInput schema / properties / duration
      Added value: +{
      +  "default": 365,
      +  "description": "Registration duration in days. ENS protocol minimum is 28 days; maximum is 3650 (10 years); default is 365 (1 year). Sub-year is allowed.",
      +  "maximum": 3650,
      +  "minimum": 28,
      +  "type": "integer"
      +}
    • removedInput schema / properties / durationYears / default
      Removed value: -1
    • changedInput schema / properties / durationYears / description
      Previous value: -"Registration duration in years (1-10, default: 1)"New value: +"DEPRECATED — use duration (days) instead. Number of years (converted to days internally)."
    • removedInput schema / properties / durationYears / maximum
      Removed value: -10
    • removedInput schema / properties / durationYears / minimum
      Removed value: -1
  3. Changed3 schema fields changed
    • changedInput schema / properties / durationYears / description
      Previous value: -"Registration duration in years (default: 1)"New value: +"Registration duration in years (1-10, default: 1)"
    • addedInput schema / properties / durationYears / maximum
      Added value: +10
    • addedInput schema / properties / durationYears / minimum
      Added value: +1
  4. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations declare a non-idempotent, destructive write operation, and the description goes well beyond that: it explains the tool returns a recipe rather than executing, that the user's wallet signs and submits (commit → 60s wait → register), that multiple listings produce a CHOOSE_LISTING status requiring a second call, and that prices are searched across OpenSea/Grails. This is exactly the extra behavioral context annotations cannot convey.

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?

Front-loads the core purpose, then uses two clearly labeled blocks for the available/listed branches and a closing note on auto-detection. Well organized and mostly earned, though the auto-detection/override sentence slightly repeats the mode explanation already given.

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?

With no output schema, the description correctly fills the gap by describing what is returned for each branch (registration recipe with contract address/ABI/steps/secret, or marketplace price options). Combined with the safety annotations and full schema coverage, an agent has everything needed to call and interpret this tool.

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

Parameters4/5

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

Schema coverage is 100%, so the schema already defines every parameter (including enums, defaults, and the deprecated durationYears note), setting a baseline of 3. The description adds real meaning on top by explaining the orderHash round-trip (call again with the chosen hash) and the action override, which is more than the schema restates.

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?

States a specific verb+resource (purchase an ENS name) and immediately splits it into the two concrete modes: buying a listed name from a marketplace vs registering an available name on-chain. This distinguishes it from siblings like bulk_register, batch_purchase, and renew_ens_name without the agent needing to open a schema.

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?

Gives clear when-to-use context for each mode and the auto-detection behavior, plus the 'action' override. It also documents the interactive multi-listing flow (CHOOSE_LISTING → present to user → recall with orderHash). It stops short of explicitly naming sibling alternatives for the single-name vs bulk cases, so it is strong but not exhaustive routing guidance.

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.