Skip to main content
Glama

Server Details

Ens - 23 tools for name resolution and reverse lookups

Status
Unhealthy
Last Tested
Transport
Streamable HTTP
URL
Repository
junct-bot/ens-mcp
GitHub Stars
0

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.

Tool Definition Quality

Score is being calculated. Check back soon.

Available Tools

23 tools
availableAInspect

[DISCOVERY] Calls available(name: string). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns bool.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesstring.
Behavior4/5

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

With no annotations provided, the description carries full burden and successfully discloses: read-only nature (safe), unrestricted access (no auth), and boolean return value. It could improve by explaining what 'available' means in the commitment/registration lifecycle (e.g., not committed and not registered).

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?

Three efficient sentences with zero redundancy. Front-loaded with function signature, followed by safety and auth properties, ending with return type. The '[DISCOVERY]' prefix is slightly unconventional but doesn't detract significantly.

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

Completeness4/5

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

For a simple single-parameter read function returning a primitive (bool), the description is complete. It compensates for the lack of output schema by explicitly stating 'Returns bool', and covers essential behavioral traits despite missing annotations.

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

Parameters3/5

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

Schema has 100% coverage with 'name' parameter already documented as type string. The description mentions 'name: string' but adds no semantic meaning beyond the schema (e.g., whether it expects a full ENS name, label, or bytes32). Baseline 3 is appropriate given high schema coverage.

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

Purpose4/5

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

The description clearly identifies this as checking name availability (implied by 'available' and context of register/renew siblings), with specific verb 'Calls' and return type 'bool'. Deducting one point because 'Calls available(name: string)' is slightly tautological, though the contract context makes the purpose clear.

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

Usage Guidelines3/5

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

Provides useful context that the function is 'Read-only' and 'Unrestricted', implying safe usage. However, it lacks explicit guidance on when to use this versus siblings like 'valid' or 'commitments', and doesn't mention the standard workflow (check available before register).

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

commitBInspect

Calls commit(commitment: string). Write function — may have access control restrictions (e.g. onlyOwner). Check contract source for modifier requirements before calling. No return value.

ParametersJSON Schema
NameRequiredDescriptionDefault
commitmentYesbytes32 (32-byte hex string, 0x-prefixed).
Behavior4/5

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

With no annotations provided, the description carries the full burden and performs well: it explicitly states this is a 'Write function' (state-mutating), warns about access control modifiers, and clarifies 'No return value'. It appropriately flags security concerns that would otherwise be invisible to the agent.

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?

Four sentences efficiently pack behavioral warnings, return value info, and the call signature. The first sentence is slightly redundant with the schema, but overall the description avoids waste and front-loads critical safety information (write function, access control).

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

Completeness3/5

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

For a single-parameter write function with no output schema, the description adequately covers return behavior and access control risks. However, it lacks explanation of the commitment mechanism's lifecycle (storage duration, linkage to subsequent register calls) which would be necessary for complete operational context given the sibling tools available.

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

Parameters3/5

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

The input schema has 100% description coverage (defining commitment as a bytes32 hex string), establishing a baseline of 3. The description repeats the parameter name and type ('commitment: string') but adds no semantic meaning about what constitutes a valid commitment or how to construct one.

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

Purpose3/5

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

The description identifies this as a 'Write function' that calls commit with a commitment string, which clarifies the basic operation. However, given siblings like 'makeCommitment' and 'register', it fails to explain the domain-specific purpose (initiating a commitment-reveal scheme to prevent front-running) or how it differs from related tools.

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

Usage Guidelines3/5

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

The description provides important safety guidance to 'Check contract source for modifier requirements before calling' due to potential onlyOwner restrictions. However, it misses critical workflow context—namely that this must be called before 'register' and within specific time windows (implied by min/maxCommitmentAge siblings).

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

commitmentsCInspect

Calls commitments(param0: string). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256.

ParametersJSON Schema
NameRequiredDescriptionDefault
param0Yesbytes32 (32-byte hex string, 0x-prefixed).
Behavior3/5

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

Without annotations, the description carries the burden of disclosing mutability and access control, which it does ('Read-only,' 'Unrestricted'). However, it fails to explain what the returned uint256 represents (timestamp? status? value?) or side effects like gas costs.

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

Conciseness3/5

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

Four sentences with a tautological opening sentence that wastes the most prominent position. The read-only and return type information is useful but could be structured more efficiently without the 'Calls commitments' preamble.

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

Completeness3/5

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

For a single-parameter read function, the description covers basic technical traits but lacks conceptual context. Given the domain (likely ENS registration based on siblings), it should explain that this retrieves commitment timestamps or validity periods, not just 'returns uint256.'

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

Parameters3/5

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

Schema coverage is 100%, establishing a baseline of 3. The description mentions 'param0: string' which is less precise than the schema's bytes32 specification, adding no additional semantic value. It does not explain what the bytes32 identifier represents (e.g., commitment hash).

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

Purpose2/5

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

The description begins with tautology ('Calls commitments') restating the tool name without explaining what a commitment represents in this context (likely ENS-style name registration). It fails to distinguish from siblings like 'commit' or 'makeCommitment' or clarify what the function actually retrieves.

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

Usage Guidelines2/5

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

While it notes the function is 'Read-only' and 'Unrestricted,' it provides no guidance on when to use this versus alternatives like 'commit' or 'makeCommitment.' No prerequisites, sequencing, or selection criteria are provided despite the complex sibling ecosystem.

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

makeCommitmentBInspect

Calls makeCommitment(name: string, owner: string, duration: string, secret: string, resolver: string, data: string[], reverseRecord: boolean, ownerControlledFuses: string). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns bytes32.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataYesbytes[] (hex-encoded bytes, 0x-prefixed).
nameYesstring.
ownerYesaddress (Ethereum address, 0x-prefixed).
secretYesbytes32 (32-byte hex string, 0x-prefixed).
durationYesuint256 (uint256, pass as decimal string).
resolverYesaddress (Ethereum address, 0x-prefixed).
reverseRecordYesbool.
ownerControlledFusesYesuint16 (uint16, pass as decimal string).
Behavior3/5

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

With no annotations provided, the description carries the burden of disclosing behavioral traits. It successfully declares the read-only nature and return type (bytes32), but omits details about the commitment scheme mechanics, parameter validation, or error conditions.

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

Conciseness3/5

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

The description is compact at three sentences, but the first sentence redundantly lists all eight parameter types that are already documented in the schema, reducing information density.

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

Completeness3/5

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

Adequately covers the safety profile (read-only, unrestricted) and return type for a tool with no output schema, but given the complexity of ENS commitment flows and eight parameters, it lacks domain context explaining how this fits into the name registration workflow.

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

Parameters3/5

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

The input schema has 100% description coverage with type details (e.g., 'address (Ethereum address, 0x-prefixed)'). The description repeats these types in a function signature format but adds no additional semantic context (e.g., explaining the 'secret' parameter's role in the commitment scheme).

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

Purpose4/5

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

Identifies the tool as calling the makeCommitment function and explicitly clarifies it is read-only, which crucially distinguishes it from the likely state-mutating 'commit' sibling. However, it does not explain what a 'commitment' represents in the ENS domain context.

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

Usage Guidelines3/5

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

States the function is unrestricted and read-only, implying safe usage without gas costs, but lacks explicit workflow guidance on when to use this versus 'commit' or 'register' (e.g., as a prerequisite step to generate a commitment hash).

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

maxCommitmentAgeBInspect

Calls maxCommitmentAge(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

Since no annotations exist, the description carries the full burden and successfully discloses key behavioral traits: it explicitly states the operation is 'Read-only — does not modify contract state,' requires no permissions ('Unrestricted'), and specifies the return type ('Returns uint256').

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 four sentences long. While efficient overall, the opening sentence 'Calls maxCommitmentAge()' is wasted space that merely restates the tool name. The remaining sentences earn their place by conveying safety, permissions, and return type.

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

Completeness3/5

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

For a simple state-reading tool with no output schema, the description adequately covers safety and return type. However, it lacks semantic context about what the returned uint256 represents (e.g., seconds, blocks) and omits domain-specific meaning of 'commitment age' in the ENS context implied by sibling tools.

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?

The input schema contains zero parameters. Per the evaluation rules, the baseline score for tools with no parameters is 4. The description appropriately does not fabricate parameter details.

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

Purpose3/5

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

The description states it 'Calls maxCommitmentAge()' which is tautological, but partially redeems itself by noting it returns uint256. However, it fails to explain what 'max commitment age' means conceptually (e.g., maximum validity duration for a commitment hash) or distinguish this from sibling tool minCommitmentAge.

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

Usage Guidelines2/5

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

While it notes the function is 'Unrestricted — any address can call,' it provides no guidance on when to use this tool versus alternatives like minCommitmentAge, makeCommitment, or commit. No prerequisites or contextual usage hints are provided.

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

minCommitmentAgeBInspect

Calls minCommitmentAge(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

Without annotations, the description carries the full burden and successfully discloses key behavioral traits: it explicitly states 'Read-only — does not modify contract state' and 'Unrestricted — any address can call this read function', providing the safety and authorization context an agent needs. It also specifies the return type (uint256).

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 three sentences long and appropriately sized for a simple getter function. While the first sentence is somewhat tautological, the second and third sentences efficiently convey safety and return type information without excessive verbosity.

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

Completeness3/5

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

For a zero-parameter read operation, the description covers basic safety and return type, but leaves gaps regarding the semantic meaning of the returned uint256 (e.g., time unit in seconds) and lacks domain context about the commitment-reveal pattern. Given the richness implied by sibling tools (commit, register, etc.), this is minimally adequate but incomplete.

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?

The input schema contains zero parameters, which establishes a baseline score of 4. The description does not need to compensate for parameter documentation, though it appropriately implies no arguments are required by stating simply 'Calls minCommitmentAge()'.

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

Purpose3/5

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

The description states it 'Calls minCommitmentAge()' which is tautological, and notes it 'Returns uint256', but fails to explain what minimum commitment age semantically represents (e.g., the minimum delay between commitment and registration transactions). With siblings like maxCommitmentAge and commit present, the description does not sufficiently distinguish this tool's specific domain purpose.

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

Usage Guidelines2/5

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

While the description notes the function is 'Read-only' and 'Unrestricted', it provides no guidance on when to use this tool versus alternatives (e.g., when to query minCommitmentAge vs maxCommitmentAge) or what conditions necessitate checking this value before proceeding with registration.

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

MIN_REGISTRATION_DURATIONAInspect

Calls MIN_REGISTRATION_DURATION(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

Since no annotations are provided, the description carries the full burden of disclosing behavioral traits. It successfully communicates the read-only nature and permissionless access ('any address can call'), which is critical for smart contract interactions. It does not, however, specify the units of the returned uint256 (seconds, days, etc.).

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

Conciseness5/5

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

The description comprises four efficient sentences with zero redundancy. Critical safety information ('Read-only', 'Unrestricted') and return type are front-loaded, making it easy for an agent to quickly assess tool suitability without parsing verbose text.

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

Completeness3/5

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

Given the lack of an output schema, the description notes that it 'Returns uint256', but fails to explain what this number represents (time duration in seconds, blocks, etc.) or its significance in the registration lifecycle. For a simple constant getter, this is minimally viable but incomplete.

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?

With zero parameters and 100% schema description coverage (trivially), the baseline score applies. The description correctly indicates no inputs are required by specifying the empty function call syntax MIN_REGISTRATION_DURATION(), matching the empty input schema.

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

Purpose3/5

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

The description states it calls the function and returns uint256, but opening with 'Calls MIN_REGISTRATION_DURATION()' is tautological. It fails to explain the semantic meaning of the minimum registration duration (e.g., minimum seconds required for name registration) or how it relates to the domain registration workflow implied by sibling tools like 'register' and 'renew'.

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

Usage Guidelines3/5

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

The description effectively discloses that the function is 'Unrestricted — any address can call' and read-only, which provides important safety context for blockchain interactions. However, it lacks guidance on when to query this value versus related duration constants like 'minCommitmentAge' or 'maxCommitmentAge'.

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

NameRegisteredCInspect

Event emitted by the contract. Indexed fields (filterable): label, owner. Subscribe via log filters.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesstring.
labelYesbytes32 (32-byte hex string, 0x-prefixed) (indexed).
ownerYesaddress (Ethereum address, 0x-prefixed) (indexed).
expiresYesuint256 (uint256, pass as decimal string).
premiumYesuint256 (uint256, pass as decimal string).
baseCostYesuint256 (uint256, pass as decimal string).
Behavior2/5

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

No annotations provided, so description carries full burden. It fails to disclose event emission triggers (when exactly this fires), subscription lifecycle (continuous vs one-shot), or delivery guarantees. Only notes that label and owner are indexed/filterable.

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?

Extremely concise at only two sentences with no filler. However, for a complex blockchain event subscription tool with 6 parameters and zero annotations, this brevity leaves critical gaps in agent understanding.

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

Completeness2/5

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

Inadequate for an event subscription tool with 6 required parameters and no output schema. Missing: contract context (which contract emits this?), event triggering conditions, subscription behavior, and return format expectations. The description is too minimal for the complexity involved.

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

Parameters3/5

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

Schema has 100% description coverage with type information, establishing baseline 3. Description explicitly lists indexed fields (label, owner) but doesn't add semantic meaning for cost parameters (baseCost vs premium distinction) or expires interpretation beyond what the schema provides.

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

Purpose4/5

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

Identifies this as a contract event subscription tool and distinguishes it from the 'register' action sibling. However, it doesn't explicitly state that this event fires upon successful name registration completion, relying somewhat on the tool name inference.

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

Usage Guidelines2/5

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

Mentions 'Subscribe via log filters' indicating the mechanism, but provides no guidance on when to use this event subscription versus alternatives like polling transaction receipts or checking registration status directly.

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

NameRenewedBInspect

Event emitted by the contract. Indexed fields (filterable): label. Subscribe via log filters.

ParametersJSON Schema
NameRequiredDescriptionDefault
costYesuint256 (uint256, pass as decimal string).
nameYesstring.
labelYesbytes32 (32-byte hex string, 0x-prefixed) (indexed).
expiresYesuint256 (uint256, pass as decimal string).
Behavior3/5

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

With no annotations provided, the description carries the full burden. It discloses critical Ethereum-specific behavior: that 'label' is indexed and therefore filterable, and that subscription occurs via log filters. However, it omits whether this returns historical events, streams new ones, or both, and says nothing about return format or pagination.

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

Conciseness5/5

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

Three sentences with zero redundancy. Front-loads the event identity, follows with critical filtering metadata, and ends with the action verb. Every clause earns its place in a blockchain context where indexing status is crucial for query efficiency.

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

Completeness3/5

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

Given 100% schema coverage and the simplicity of an event-subscription tool, the description is minimally adequate. However, lacking an output schema, the description should have clarified what the subscription returns (event objects, transaction hashes, etc.) to be fully complete.

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

Parameters3/5

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

Schema description coverage is 100%, establishing a baseline of 3. The description adds marginal value by highlighting that 'label' is the indexed/filterable field, reinforcing the schema's '(indexed)' notation for that parameter, but does not explain the semantic relationship between 'name' and 'label' or the units for 'cost' and 'expires'.

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

Purpose4/5

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

Identifies the specific blockchain event (NameRenewed) and the interaction mode ('Subscribe via log filters'), distinguishing it from the imperative 'renew' action tool in siblings. The opening phrase 'Event emitted by the contract' clearly categorizes it as an event subscription rather than a transaction.

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

Usage Guidelines2/5

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

Provides no guidance on when to subscribe to this event versus querying historical data, nor when to use this instead of checking the 'renew' function's return value. No mention of typical use cases (e.g., monitoring renewals for a specific name).

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

nameWrapperBInspect

Calls nameWrapper(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns address.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

With no annotations provided, the description effectively discloses key behavioral traits: it explicitly states the operation is 'Read-only — does not modify contract state' and specifies the return type as 'address'. It could be improved by explaining what the returned address represents (e.g., the NameWrapper contract address).

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 consists of four short, distinct sentences that efficiently front-load critical information. While the opening 'Calls nameWrapper()' is somewhat tautological, the remaining sentences provide unique value regarding safety, permissions, and return values without unnecessary verbosity.

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

Completeness3/5

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

Given the tool's simplicity (zero parameters, read-only) and absence of an output schema, the description covers basic operational facts. However, it lacks context explaining what the returned address represents functionally and omits any discussion of potential failure modes or edge cases.

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?

The input schema contains zero parameters. According to scoring rules, 0 parameters establishes a baseline score of 4, as there are no parameter semantics to describe beyond what the schema provides.

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

Purpose3/5

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

The description identifies the tool as calling nameWrapper() and returning an address, providing a basic verb and resource. However, it fails to explain what 'nameWrapper' represents in the context of the domain system (likely the NameWrapper contract address) and does not differentiate its purpose from sibling read functions like 'owner' or 'prices'.

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

Usage Guidelines2/5

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

The description notes the function is 'Unrestricted — any address can call this read function,' which provides authentication prerequisites. However, it lacks guidance on when to use this tool versus alternatives such as 'available', 'owner', or 'reverseRegistrar'.

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

ownerAInspect

Calls owner(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns address.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

With no annotations provided, the description carries the full burden of disclosing behavioral traits. It effectively communicates the safety profile (read-only, non-destructive) and access control (unrestricted). It could be improved by mentioning error cases or specific return format details, but covers the essential behavioral characteristics.

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

Conciseness5/5

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

Four short sentences with zero waste: (1) function call, (2) safety property, (3) permission property, (4) return value. Front-loaded with the core action and structured as highly scannable bullet-like statements despite being prose.

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?

For a simple zero-parameter read function, the description is complete. It compensates for the missing output schema by explicitly stating 'Returns address', and provides sufficient context given the low complexity and rich sibling tool context implying an ownership management system.

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?

The input schema has zero parameters, establishing a baseline score of 4. The description appropriately makes no parameter claims since none exist, and the schema description coverage is 100% (vacuously true for empty 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 states 'Calls owner()' with a specific verb and resource, clearly identifying this as a function call. It explicitly distinguishes from state-modifying siblings (transferOwnership, renounceOwnership, register) by emphasizing the read-only nature, and specifies the return type (address).

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?

Provides clear context for usage by stating 'Read-only — does not modify contract state' and 'Unrestricted — any address can call this read function', which helps distinguish it from permissioned write operations like transferOwnership. However, it does not explicitly name specific alternative tools for different use cases.

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

OwnershipTransferredAInspect

Event emitted by the contract. Indexed fields (filterable): previousOwner, newOwner. Subscribe via log filters.

ParametersJSON Schema
NameRequiredDescriptionDefault
newOwnerYesaddress (Ethereum address, 0x-prefixed) (indexed).
previousOwnerYesaddress (Ethereum address, 0x-prefixed) (indexed).
Behavior3/5

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

No annotations are provided, so the description carries the full disclosure burden. It successfully identifies the indexed/filterable nature of fields, but omits critical behavioral context such as whether this returns historical events, creates a persistent subscription, or has specific rate limit implications.

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

Conciseness5/5

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

Three efficient clauses convey the tool type (event emission), key capability (indexed/filterable fields), and usage mechanism (subscribe via log filters). No redundant text; every phrase earns its place.

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

Completeness4/5

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

Sufficient for a simple 2-parameter event tool with no nested structures. Covers the essential contract event semantics and subscription entry point. Minor gap in not describing return behavior or subscription lifecycle, but acceptable given the tool's focused purpose.

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?

With 100% schema coverage already documenting the Ethereum address format and indexed status, the description adds valuable semantic emphasis that these are 'filterable' indexed fields, reinforcing their utility in log filter construction beyond what the schema alone provides.

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

Purpose4/5

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

Clearly identifies this as an event monitoring tool ('Event emitted by the contract') with specific indexed fields. Implicitly distinguishes from action-oriented siblings like 'transferOwnership' by classifying itself as an event subscription, though it doesn't explicitly contrast use cases with the transfer function.

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

Usage Guidelines3/5

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

Provides some guidance via 'Subscribe via log filters,' indicating this is for monitoring rather than executing transfers. However, it lacks explicit when-to-use guidance contrasting event subscription versus calling 'transferOwnership' or other state-changing functions.

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

pricesBInspect

Calls prices(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns address.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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

Without annotations, the description carries the full burden. It successfully discloses read-only nature and unrestricted access (any address can call), which is critical for blockchain contexts. However, it lacks detail on what the returned address represents or potential failure modes.

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?

Three sentences with no filler. Information is front-loaded with the function call, followed by access restrictions and return type. 'Calls prices()' is slightly tautological but the sentence serves to confirm the on-chain function being invoked.

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

Completeness3/5

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

Adequate for a zero-parameter read function, but incomplete regarding the semantics of the returned address. Given this appears to be a blockchain tool with siblings like 'rentPrice', the description should explain what the address represents (e.g., 'Returns address of the pricing oracle contract').

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?

Zero parameters present in schema. Description correctly indicates no inputs are required. Baseline score applies as there are no parameters needing semantic clarification beyond what the empty schema communicates.

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

Purpose3/5

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

The description states it calls 'prices()' and returns an address, but fails to explain what this address represents (e.g., pricing oracle contract address) or what 'prices' means in the domain context (ENS pricing). It distinguishes itself as read-only but doesn't clarify the business purpose.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus siblings like 'rentPrice'. Both relate to pricing in what appears to be an ENS context, but the description doesn't clarify whether this returns configuration vs. calculated fees, or when each is appropriate.

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

recoverFundsAInspect

Calls recoverFunds(_token: string, _to: string, _amount: string). Write function — may have access control restrictions (e.g. onlyOwner). Check contract source for modifier requirements before calling. No return value.

ParametersJSON Schema
NameRequiredDescriptionDefault
_toYesaddress (Ethereum address, 0x-prefixed).
_tokenYesaddress (Ethereum address, 0x-prefixed).
_amountYesuint256 (uint256, pass as decimal string).
Behavior4/5

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

With no annotations provided, the description carries the full disclosure burden and effectively notes three key behavioral traits: it is a write/mutation operation ('Write function'), it has authorization requirements ('access control restrictions'), and it returns no data ('No return value'). This covers the essential safety and behavioral profile for a privileged contract function.

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 efficiently structured in four sentences. It front-loads the function signature, immediately follows with the critical safety warning about access control, provides actionable prerequisite advice, and concludes with the return value status. Every sentence serves a distinct purpose with minimal redundancy.

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

Completeness3/5

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

Given the 100% schema coverage and lack of output schema, the description adequately covers the essential execution risks (access control). However, for a privileged administrative function, it lacks context on what 'recovering funds' specifically entails (e.g., rescuing accidentally transferred ERC20 tokens) and does not distinguish its use case from the similar 'withdraw' sibling function.

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

Parameters3/5

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

The input schema has 100% description coverage (defining _token, _to, and _amount types), establishing a baseline of 3. The description repeats the parameter signature but does not add semantic meaning—such as clarifying that _token is the contract address of the ERC20 token to rescue, or that _amount is in the token's smallest unit—that isn't already explicit in the schema.

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

Purpose4/5

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

The description identifies this as a 'Write function' for recovering funds and lists the target parameters (_token, _to, _amount), implying an ERC20 token transfer operation. However, it opens with the tautological 'Calls recoverFunds' rather than explicitly stating it 'transfers stuck tokens from the contract to a recipient', and it does not differentiate from the sibling 'withdraw' tool.

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

Usage Guidelines3/5

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

The description provides crucial safety guidance by warning about 'access control restrictions (e.g. onlyOwner)' and advising to 'Check contract source for modifier requirements before calling'. However, it lacks explicit guidance on when to use this versus the sibling 'withdraw' function (presumably for ETH) or other alternatives.

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

registerBInspect

Calls register(name: string, owner: string, duration: string, secret: string, resolver: string, data: string[], reverseRecord: boolean, ownerControlledFuses: string). Requires ETH value to be sent with the transaction. Write function — may have access control restrictions (e.g. onlyOwner). Check contract source for modifier requirements before calling. No return value.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataYesbytes[] (hex-encoded bytes, 0x-prefixed).
nameYesstring.
ownerYesaddress (Ethereum address, 0x-prefixed).
secretYesbytes32 (32-byte hex string, 0x-prefixed).
durationYesuint256 (uint256, pass as decimal string).
resolverYesaddress (Ethereum address, 0x-prefixed).
reverseRecordYesbool.
ownerControlledFusesYesuint16 (uint16, pass as decimal string).
Behavior4/5

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

Explicitly states 'Write function', ETH value requirement, access control restrictions, and 'No return value'. Since no annotations are provided, this disclosure of mutability and payment requirements is essential and well-covered.

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?

Five sentences covering function signature, payment, access control, verification advice, and return value. Logical progression from operation to requirements to warnings. Slightly verbose parameter list in first sentence but necessary given null title.

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

Completeness2/5

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

With 8 required parameters and complex blockchain interaction (commit-reveal pattern evident from siblings), the description should explain the registration lifecycle and the 'secret' parameter's role. Missing ENS-specific context despite obvious domain from sibling tools.

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

Parameters3/5

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

Schema description coverage is 100%, so parameters are fully documented in the schema. The description lists parameters in the opening sentence but does not add semantic context beyond the type information already present in the schema (e.g., explaining what 'secret' is for). Baseline score appropriate.

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

Purpose3/5

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

Lists function parameters implying a registration operation, but never explicitly states what is being registered (e.g., an ENS domain name). Given siblings like 'renew' and 'available', the resource type should be specified to distinguish from other registration concepts.

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

Usage Guidelines2/5

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

Mentions ETH payment requirement and access control checks, but critically omits the prerequisite commitment step suggested by sibling tools 'commit' and 'makeCommitment'. Does not clarify when to use 'register' versus 'renew'.

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

renewBInspect

Calls renew(name: string, duration: string). Requires ETH value to be sent with the transaction. Write function — may have access control restrictions (e.g. onlyOwner). Check contract source for modifier requirements before calling. No return value.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesstring.
durationYesuint256 (uint256, pass as decimal string).
Behavior4/5

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

With no annotations provided, the description effectively carries the full burden: it discloses the ETH payment requirement, identifies it as a write function, warns about potential onlyOwner access control restrictions, and explicitly states 'No return value'. This covers cost, mutation risk, authorization, and output behavior comprehensively.

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 efficiently structured across 4-5 sentences with no redundant fluff. Information is front-loaded with the function signature, followed by critical operational constraints (ETH, access control, return value). Each sentence earns its place, though the opening 'Calls renew' is slightly redundant with the tool name.

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

Completeness3/5

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

Given the 100% schema coverage and lack of output schema, the description adequately covers operational prerequisites (ETH, auth checks). However, it lacks explicit identification of the domain resource being renewed, which would be necessary for a complete understanding without relying on sibling tool names for context.

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

Parameters3/5

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

With 100% schema description coverage, the baseline is 3. The description repeats the function signature ('name: string, duration: string') but adds no semantic meaning beyond the schema—failing to clarify that 'name' refers to the domain/ENS name or that 'duration' represents the extension time period (likely in seconds).

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

Purpose3/5

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

The description states it 'Calls renew' which is somewhat tautological, and while 'Write function' hints at state change, it fails to explicitly identify what resource is being renewed (e.g., an ENS domain registration). Given sibling tools like 'register' and 'NameRenewed', the context implies domain renewal, but the description itself lacks specificity about the resource.

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

Usage Guidelines3/5

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

The description provides operational guidance regarding ETH requirements and access control checks, but offers no explicit guidance on when to use this tool versus siblings like 'register' (for new registrations) or 'extend' alternatives. Usage is implied through the ETH and write function mentions, but lacks explicit when-to-use criteria.

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

renounceOwnershipAInspect

Calls renounceOwnership(). Restricted: requires onlyOwner — only the owner address can call this. DANGER: Permanently and irreversibly removes all owner control from the contract. After calling, no address will ever be able to call onlyOwner functions again including adapter management, oracle configuration, emergency controls, and all set* functions. This action cannot be undone. No return value.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior5/5

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

With no annotations provided, the description carries the full burden and excels: it discloses authorization requirements (onlyOwner), destructive nature (permanent removal of control), scope of impact (specific onlyOwner functions affected), irreversibility ('cannot be undone'), and return value ('No return value').

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

Conciseness5/5

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

The description is front-loaded with the function call, followed by restrictions, then danger warnings with specific consequences. Every sentence provides critical safety information; there is no waste despite the length being necessary for the high-stakes nature of this operation.

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 this is a high-stakes destructive operation with no annotations and no output schema, the description is complete. It compensates for the lack of output schema by explicitly stating 'No return value' and provides sufficient context for safe invocation despite having zero parameters.

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?

The input schema has zero parameters. According to the baseline rules, 0 params warrants a score of 4. The description correctly implies no arguments are needed by stating simply 'Calls renounceOwnership()' without mentioning any inputs.

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 explicitly states the tool 'Calls renounceOwnership()' and specifies that it 'Permanently and irreversibly removes all owner control from the contract.' It distinguishes itself from the sibling tool 'transferOwnership' by emphasizing the permanent nature of the action versus transferring control to another address.

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

Usage Guidelines5/5

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

The description provides explicit prerequisites ('requires onlyOwner — only the owner address can call this') and clear warnings about when not to use the tool ('DANGER' label, lists affected functions like 'adapter management, oracle configuration, emergency controls'). The irreversibility warning serves as strong guidance against casual use.

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

rentPriceAInspect

Calls rentPrice(name: string, duration: string). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns price (tuple).

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesstring.
durationYesuint256 (uint256, pass as decimal string).
Behavior4/5

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

With no annotations provided, the description carries the full burden and successfully discloses key behaviors: it explicitly states the operation does not modify contract state, requires no specific address permissions ('Unrestricted'), and returns a price tuple. This gives the agent clear expectations about safety and auth requirements.

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?

Three sentences efficiently convey the essential information. The structure logically progresses from function signature to safety guarantees to return type. The first sentence is slightly redundant with the schema, but there is no significant bloat or wasted information.

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

Completeness4/5

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

Given the tool's simplicity (2 primitive parameters, no output schema), the description is sufficiently complete. It compensates for the missing output schema by noting the return type is a 'price (tuple)', though specifying what the tuple contains (e.g., base price, premium) would have improved it further.

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

Parameters3/5

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

The input schema has 100% description coverage, documenting both 'name' and 'duration' (including the decimal string format for uint256). The description merely echoes the parameter types ('name: string, duration: string') without adding semantic context—such as that duration is likely in seconds or what name format is expected—so it meets the baseline for high schema coverage without adding extra value.

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

Purpose4/5

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

The description clearly states it retrieves pricing information for a name and duration, distinguishing it from state-changing siblings like 'register' or 'renew'. While opening with 'Calls rentPrice' is slightly circular, it quickly clarifies the inputs and read-only nature, establishing it as a price query tool rather than a transaction.

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

Usage Guidelines3/5

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

The description identifies the tool as 'Read-only' and 'Unrestricted', implying it is safe for pre-flight cost checks before registration. However, it misses explicit guidance such as 'Use this before calling register to determine the rental cost' or differentiation from the sibling 'prices' tool.

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

reverseRegistrarAInspect

Calls reverseRegistrar(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns address.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

With no annotations provided, the description effectively carries the full burden by explicitly stating 'Read-only — does not modify contract state' and 'Returns address'. It clearly discloses the safety profile and return type, though it omits what the returned address represents semantically.

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 consists of four short sentences with clear structure: action, safety property, permission level, and return value. While 'Calls reverseRegistrar()' is redundant with the tool name, the overall density is appropriate with minimal waste.

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

Completeness3/5

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

For a simple read-only getter with no parameters, the description adequately covers basic operation and return type despite lacking an output schema. However, it should explain that this returns the reverse registrar contract address to be fully complete within the ENS domain context.

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?

The input schema contains zero parameters, establishing a baseline score of 4. The description correctly offers no parameter details since none are required, avoiding unnecessary verbosity.

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

Purpose3/5

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

The description states it 'Calls reverseRegistrar()' which is tautological, though it adds that it 'Returns address'. However, it fails to explain what a reverse registrar is (likely the ENS reverse registrar contract address) or distinguish this from sibling address-returning tools like 'owner' or 'prices'.

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

Usage Guidelines3/5

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

The description notes the function is 'Unrestricted — any address can call this read function', providing implicit guidance on permissions. However, it lacks explicit when-to-use guidance or differentiation from related read functions in the ENS toolkit.

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

supportsInterfaceBInspect

Calls supportsInterface(interfaceID: string). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns bool.

ParametersJSON Schema
NameRequiredDescriptionDefault
interfaceIDYesbytes4 (bytes4, hex string, 0x-prefixed).
Behavior4/5

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

Since no annotations are provided, the description carries full burden and successfully discloses key behavioral traits: 'Read-only — does not modify contract state', 'Unrestricted — any address can call', and return type 'Returns bool'. This provides necessary safety and access control context.

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?

Four short sentences with no filler. Front-loaded with the function signature, followed by safety properties and return type. Efficient structure though the first sentence is uninformative.

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

Completeness3/5

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

For a single-parameter read operation without output schema, the description covers the basics (parameters, mutability, return type). However, it lacks explanation of what the boolean return signifies (true=supported, false=not supported) and omits ERC-165 standard context.

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

Parameters3/5

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

With 100% schema coverage (the interfaceID parameter is fully described in schema as 'bytes4 hex string'), the baseline is 3. The description mentions 'interfaceID: string' but adds no semantic meaning beyond the schema's format specification.

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

Purpose3/5

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

The description states it 'Calls supportsInterface' which is tautological (restating the tool name), but partially redeems itself by noting it returns a boolean. However, it fails to explain that this checks ERC-165 interface support or what that means functionally.

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

Usage Guidelines2/5

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

No guidance provided on when to use this versus siblings like 'valid', 'available', or 'owner'. The description does not explain typical use cases (e.g., checking if the contract supports ERC-721/1155 interfaces before interaction).

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

transferOwnershipAInspect

Calls transferOwnership(newOwner: string). Restricted: requires onlyOwner — only the owner address can call this. Transfers ownership to a new address. The new owner must call acceptOwnership() to complete the transfer (two-step pattern). No return value.

ParametersJSON Schema
NameRequiredDescriptionDefault
newOwnerYesaddress (Ethereum address, 0x-prefixed).
Behavior4/5

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

No annotations provided, so description carries full burden. Discloses critical behavioral traits: authorization restriction (onlyOwner), return value status ('No return value'), and state machine complexity (two-step pattern requiring acceptance). Lacks only error condition details.

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

Conciseness5/5

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

Five sentences with zero waste. Front-loaded with critical restriction info ('Restricted: requires onlyOwner'), followed by purpose, process flow, and return value. Each sentence adds unique value not redundant with schema or tool name.

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?

For a single-parameter ownership transfer with no output schema, description comprehensively covers authorization model, return behavior, and multi-step transaction flow. Sufficient for safe invocation without additional external documentation.

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% with 'address (Ethereum address, 0x-prefixed)' documenting format. Description reinforces parameter purpose by embedding it in the functional flow ('new owner must call acceptOwnership'), connecting the input to the resulting state transition beyond raw schema typing.

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?

Explicitly states 'Transfers ownership to a new address' with specific verb and resource. Clearly distinguishes from sibling 'renounceOwnership' by emphasizing the transfer-to-new-owner flow and two-step acceptance pattern.

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

Usage Guidelines5/5

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

Explicitly states 'requires onlyOwner — only the owner address can call this' establishing authorization prerequisites. Mentions the required follow-up action 'new owner must call acceptOwnership() to complete the transfer', defining the complete workflow.

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

validBInspect

Calls valid(name: string). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns bool.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesstring.
Behavior4/5

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

Without annotations, the description effectively carries the full burden: it explicitly discloses the read-only nature ('does not modify contract state'), lack of access restrictions ('any address can call'), and return type ('Returns bool'), providing solid behavioral context for a view function.

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

Conciseness5/5

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

The description is efficiently structured in four concise sentences with zero waste: functional call signature, mutability guarantee, access control note, and return type. Information is front-loaded and immediately actionable.

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

Completeness3/5

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

For a single-parameter read function without output schema, the description adequately covers essentials (mutability, return type, access). However, it lacks crucial domain context—specifically, what constitutes validity and how this differs from availability checks—leaving gaps an agent needs to resolve.

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

Parameters3/5

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

With 100% schema description coverage (however minimal), the baseline is 3. The description mentions 'name: string' but adds no semantic meaning beyond the schema's 'string.' type declaration—failing to specify format expectations (e.g., 'alice' vs 'alice.eth') or validation criteria.

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

Purpose3/5

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

The description states it calls a validation function and returns a boolean, but 'Calls valid' is somewhat tautological. It does not define what 'valid' means in this context (e.g., syntactic format vs. availability) and fails to distinguish from sibling 'available', which likely checks registration status rather than name format.

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

Usage Guidelines2/5

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

While it notes the function is 'unrestricted' and 'read-only' (suggesting safe, pre-flight usage), it provides no explicit guidance on when to use this versus 'available' or other read functions, nor does it mention prerequisites like name format requirements.

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

withdrawAInspect

Calls withdraw(). Unrestricted — any address can call this, but caller-specific logic may apply. Note: In vaults with async settlement, this queues a withdrawal request rather than transferring assets immediately. Assets are distributed when the settlement batch is processed (e.g. settleQueue). Returns a preview based on current NAV — actual payout depends on settlement NAV. No return value.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

With no annotations provided, the description carries full disclosure burden and succeeds in explaining complex side effects: unrestricted access with caller-specific logic, async settlement queuing, NAV-based preview vs. actual settlement calculation, and batch processing dependencies. It clarifies this mutates state by queuing requests despite no explicit destructiveHint.

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

Conciseness3/5

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

Six sentences with some redundancy: 'Calls withdraw()' wastes space, and the return value description is confusingly contradictory ('Returns a preview... No return value'). However, critical constraints (async settlement, NAV dependency) are front-loaded before the note about settlement batches.

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

Completeness4/5

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

Lacking both annotations and output schema, the description adequately compensates by explaining the temporal complexity (queued vs. immediate), economic calculation method (NAV dependency), and settlement prerequisites. It sufficiently covers the behavioral contract for a zero-parameter state-changing operation.

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?

Input schema contains zero parameters, establishing a baseline of 4. The description appropriately does not invent parameter semantics where none exist, focusing instead on behavioral context.

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

Purpose4/5

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

While it opens with the tautological 'Calls withdraw()', the description quickly specifies this operates on vaults with async settlement, queuing withdrawal requests rather than immediate transfers. It effectively distinguishes from ENS-themed siblings (register, renew, etc.) by focusing on financial vault mechanics and NAV-based settlements.

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

Usage Guidelines3/5

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

Provides some contextual constraints—'any address can call this' and the async settlement flow requiring settleQueue—but lacks explicit guidance on when to use alternatives like recoverFunds or how this interacts with the commitment-based tools in the sibling set. The queuing behavior is explained but not contrasted with immediate withdrawal patterns.

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

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.