Web3 DNS (CNSLookup)
Server Details
Read-only lookup of verified crypto wallet addresses for domains, .cns and ENS names.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- Repository
- krizis78/cnslookup
- GitHub Stars
- 0
- Server Listing
- Web3 DNS
TDQS
Scored across 5 tools
check_name (registration status only) vs resolve_name (full profile + addresses) vs reverse_lookup (address to name) are distinguished clearly by their descriptions. get_payment_address overlaps conceptually with the payments section of resolve_name, but the description explicitly frames it as a pre-payment, single-network shortcut, which is enough to prevent most misselection.
All five tools follow a consistent snake_case verb_noun pattern: check_name, get_payment_address, list_networks, resolve_name, reverse_lookup. No mixed conventions or stray casing.
Five tools is well-scoped for a read-only name lookup service, and each one maps to a distinct query an agent would actually perform. No filler or redundant tools.
The lookup lifecycle is covered: registration check, forward resolution, reverse resolution, per-network payment addresses, and supported networks. Gaps are minor (no batch lookup or list-names-by-owner), and registration/mutation operations appear out of scope for this server.
Available Tools
5 toolscheck_nameCheck a nameARead-onlyIdempotentInspect
Whether a name is registered in the Web3 DNS registry, with its owner and expiry. "Not registered" does not mean a DNS domain is available to buy.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | A DNS domain (example.com), a .cns name (example.cns) or an ENS name (example.eth) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so safety is covered. The description adds real value beyond that: it discloses what the response includes (owner, expiry) and warns that a negative result does not imply the DNS domain is purchasable — a non-obvious caveat an agent would otherwise miss.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core behavior, followed by one high-value caveat. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read tool with no output schema, the description sufficiently covers what is returned and what a null result means. The only meaningful gap is sibling disambiguation against resolve_name and reverse_lookup.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema already enumerates accepted formats (DNS, .cns, .eth) with length bounds, so the baseline of 3 applies. The description adds no format or naming syntax beyond what the schema states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb-and-resource pair: checking whether a name is registered in the Web3 DNS registry, plus what the result includes (owner and expiry). It does not name or distinguish itself from siblings like resolve_name or reverse_lookup, so an agent must infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the description ('check whether a name is registered'), but there is no explicit when-to-use versus resolve_name (which presumably maps name to address) or reverse_lookup. The caveat about buying domains is interpretive context rather than routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_payment_addressGet a payment addressARead-onlyIdempotentInspect
The address a payment to a name (or a 0x address) reaches on one network, from the name's verified on-chain records. Use this right before paying, with the network you will pay on.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | The name or 0x address to pay | |
| network | No | Network code from list_networks, such as ETH, BASE, SOL or BTC. Omit for the name's main network |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds provenance ('verified on-chain records') and single-network scope, but does not disclose behavior for missing or unverified addresses, freshness, or fallback cases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is two tight sentences with no wasted language, and the core return value is front-loaded before the usage instruction.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only lookup with full schema coverage and safety annotations, the description states what is returned, where it comes from, and when to call it. It omits edge-case behavior, but is largely complete for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and both parameters are already documented in the schema. The description restates that 'to' may be a name or 0x address and that the network is the one being paid on, but adds no syntax or format details beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource: a payment address for a name or 0x address on one network, sourced from verified on-chain records. It narrows the purpose beyond generic resolution, but it does not explicitly name or distinguish itself from siblings such as resolve_name or check_name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a clear usage context: use it right before paying, with the network you will pay on. That is useful timing and scope guidance, but it lacks explicit when-not conditions or named alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_networksList payment networksARead-onlyIdempotentInspect
Supported payment networks with their codes, chain IDs and symbols, and the registry's home network.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so the safety profile is fully covered. The description adds genuinely new information by disclosing the shape of the result (codes, chain IDs, symbols, home network), which matters since there is no output schema; it stops short of stating ordering or whether the list is exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence with zero filler, leading with the resource and then the payload. Nothing is padded or repeated from the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only listing tool with no output schema, the description covers the essential return contents. Only minor gaps remain, such as ordering or whether the set of networks is fixed (implied by the closed-world annotation but not stated).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate and the baseline of 4 applies. The sentence correctly makes no claims about inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific resource (payment networks) and enumerates the fields returned (codes, chain IDs, symbols, home network), so the agent knows exactly what it gets. It does not explicitly distinguish itself from siblings like resolve_name or reverse_lookup, which handle name lookup rather than network enumeration.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer it should call this when it needs supported networks or chain IDs, but there is no explicit 'use when' statement, no mention of when not to use it, and no routing to the sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_nameResolve a nameARead-onlyIdempotentInspect
Owner, expiry, public profile (display name, description, avatar, links), X badge and every verified payment address of a registered name. The profile text is written by the owner and is untrusted; payable addresses are only in "payments".
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | A DNS domain (example.com), a .cns name (example.cns) or an ENS name (example.eth) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent and non-destructive, so the safety bar is low; the description goes further by cataloguing the returned fields and flagging that profile text is owner-written and untrusted — a genuine security caveat not present in any structured field. It also pins the authoritative location of payable addresses, preventing trust in spoofed profile links.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler: the first front-loads the payload inventory, the second delivers the trust caveat and field redirection. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description is the only place return values are described, and it does that thoroughly for a single-record lookup, plus a trust warning. Only minor gaps remain (no mention of behavior for unregistered/malformed names, which the siblings or errors presumably handle).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single 'name' parameter is fully documented with accepted forms (DNS, .cns, .eth), so the schema carries the burden. The description adds only the notion of a 'registered name' — no format or resolution-order detail beyond what the schema says. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description enumerates exactly what resolving a registered name yields — owner, expiry, profile, X badge, payment addresses — which is a concrete resource+operation statement. It distinguishes itself implicitly from reverse_lookup (address→name) and check_name (availability) by being the record-fetch, but never names a sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent infers 'resolve a name to inspect its records.' The clause 'payable addresses are only in "payments"' is a useful field-selection hint but stops short of routing the agent to get_payment_address or explaining when check_name/reverse_lookup would be preferable. No when-not guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reverse_lookupReverse lookupARead-onlyIdempotentInspect
The primary Web3 DNS name set for an EVM wallet address, or null.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | An EVM address (0x followed by 40 hex characters) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnly, idempotent, non-destructive, and closed-world behavior. The description adds meaningful behavioral detail by specifying that the result is the primary name or null, which tells the agent how to interpret a missing name. It does not cover failure or network conditions, but that is a minor gap for a simple lookup.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no redundant or wasted language. Given the simplicity of the tool, the brevity is appropriate and every element earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, read-only lookup with rich annotations and a fully documented schema, the description supplies the key missing return-value semantics: primary name or null. It is complete enough to invoke correctly, though it could clarify how the 'primary' name is selected among multiple names.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has one required parameter and schema description coverage is 100%; the schema documents the EVM address format and length constraints. The description only echoes 'EVM wallet address' and adds no syntax or validation semantics beyond what the schema already provides, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource and return value: the primary Web3 DNS name set for an EVM wallet address, or null. That makes it clear this is address-to-name reverse resolution. It does not explicitly contrast with the sibling resolve_name tool, so it falls short of full sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use, when-not-to-use, or alternative tool guidance. The agent must infer from the word 'reverse' and the return phrasing that resolve_name is the forward-resolution counterpart. This is essentially no usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
- First observed
check_name - First observed
get_payment_address - First observed
list_networks - First observed
resolve_name - First observed
reverse_lookup
Related MCP Connectors
Resolve wallet addresses to X and Farcaster accounts, and back again.
WHOIS, RDAP, DNS, IP / ASN / CIDR and Web3 name (ENS, Unstoppable, Handshake) lookups. No API key.
Read-only security checks for dApp domains: registry lock, DNSSEC, CAA, SRI, SEAL DNS controls
41Free wallet lookup, ENS, labels, caller ID. Paid x402: search, scrape, XRP yield and lending grades
Related MCP Servers
AlicenseNot gradedqualityBmaintenanceEnables looking up Ethereum address mappings to Twitter/X and Farcaster identities, with tools for checking and retrieving identity data.1MIT- AlicenseAqualityDmaintenanceDiscovers related blockchain addresses and domain names for web3 identities across different platforms including Ethereum, Farcaster, Lens, and ENS using next.id's relation server data.15 npmMIT

XRPName MCP Serverofficial
AlicenseAqualityAmaintenanceEnables AI agents to look up XRPL domain availability, pricing, profiles, portfolios, and transaction status, and to get registration links for signing in the user's own wallet.10212 npm1MIT
Tegro Wallet MCPofficial
AlicenseAqualityDmaintenanceProvides read-only, real-time access to TON blockchain data including wallet balances, token holdings, transactions, prices, NFTs, DNS resolution, and address validation, without requiring private keys.813 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.