How to add domain name agents in Claude Code A developer has published three free, no-signup MCP agents behind .agt domain names — rdap.agt, txtrecord.agt and forsale.agt — that let Claude Code answer questions about domain ownership, DNS and email security records, and for-sale listings. Each is a plain HTTP MCP endpoint added with a single `claude mcp add --transport http --scope user` command, exposing tools such as lookup_domain, email_security and for_sale_status that return a readable summary plus raw JSON. The agents query only IANA-bootstrapped registry servers and public DNS records, including the RFC 10023 `_for-sale` record used by marketplaces like Atom.com. Three agents behind .agt names answer questions about any domain. Each one is a plain MCP endpoint over HTTP, free to call, with nothing to sign up for. Claude Code connects to one with a single command, and the tools appear in your next session. Here are the three commands, then what each agent actually answers, then how to check that the URL you pasted is the one the name's owner published. 1 rdap.agt Who holds a domain, when it was registered and when it expires, its registrar, nameservers and status, read from the public RDAP service of the registry. claude mcp add --transport http --scope user rdap https://rdap.agts.dev/mcp 2 txtrecord.agt What a domain has published about itself in DNS: its TXT records explained, email sender rules SPF, DMARC with a verdict, and DNSLink pointers to IPFS content. claude mcp add --transport http --scope user txtrecord https://txtrecord.agts.dev/mcp 3 forsale.agt Is the domain for sale, and where? Reads the RFC 10023 for-sale record that marketplaces such as Atom.com publish for their listings: the listing link, the asking price when public, and whether the answer is DNSSEC-signed. claude mcp add --transport http --scope user forsale https://forsale.agts.dev/mcp Then ask in plain words Start a new session. Type /mcp and the three servers show as connected. From there you ask the way you would ask a colleague: who owns example.com, does it send mail safely, is it for sale. Claude Code picks the agent and the tool, and the answer comes back as a short readable summary first, with the full JSON underneath for anything you want to script. --scope user makes the agents available in every project on your machine. Leave it off and the agent is added to the current project only, which is the right choice when a repo's contributors should all get the same tools from its checked-in configuration. What each agent answers, tool by tool rdap.agt has three tools. lookup domain returns the registrar with its IANA id, the registration and expiry dates, the status codes translated into plain words client transfer prohibited becomes "locked against transfer" , the nameservers, whether DNSSEC is on, and the abuse contact. domain signals is the same data read for risk: newly registered, recently transferred, on hold, expiring soon, each as a signal with a one-line verdict rather than a judgment. rdap record gives you the raw RDAP JSON when you want to read it yourself. Only the registry servers listed in the IANA bootstrap are queried, and the registrar referral is followed once, over https, after a public-IP check on every hop. txtrecord.agt also has three. txt records lists every TXT record a domain publishes, grouped by what it is for: email rules, services the domain has verified with named by service where the pattern is known , DNSLink, and the rest, each with a one-line explanation. email security answers the question "can someone send mail pretending to be this domain": it checks SPF, counting includes against the ten-lookup limit, DMARC, MTA-STS, TLS-RPT and BIMI, plus DKIM when you give it a selector, and ends with a verdict and the fixes. dnslink finds where a domain's IPFS or IPNS content lives and gives you a gateway link to open it. forsale.agt reads one record type and does three things with it. for sale status takes a domain or a page URL and says whether it is advertised for sale, on which marketplace named from the listing link's host , at what asking price when the seller publishes one, with the seller's note, and whether the resolver validated the answer with DNSSEC. A page on a www host falls back to the registrable domain, which is where sellers list. check domains does the same for up to ten domains at once, one line each with a count. parse for sale record explains a single v=FORSALE1 record string without touching DNS, useful when you are writing one for a domain you hold. A concrete example. Atom's own announcement of its RFC 10023 support used recruitable.com. Ask forsale.agt about it and the summary reads: for sale on Atom, asking USD 47,999, marked indicative, with the atom.com listing link, the seller's note, and a warning that the record is unsigned so the listing page is the authority. That last line is the RFC's own security guidance turned into a habit: the agent returns the listing link as data and never opens it for you, and a price in DNS is a starting point for a conversation, not a checkout. Why the URL is trustworthy Every .agt name resolves to a manifest signed by the wallet that owns the name on chain, and the manifest lists the endpoints. The three URLs above come from those signed documents. Before you paste, you can check them yourself: open the name's page, agtnames.com/name/forsale https://agtnames.com/name/forsale for instance, and read the endpoint under the green "verified, signed by the owner" chip. If the owner ever moves an agent, they republish the manifest and the page changes; the name stays the same. That is the point of putting an agent behind a name rather than behind a URL in a blog post. The same manifests are what the .agt Claude Code plugin reads when you ask it for an agent's endpoint, and what any MCP-compatible client can read through the resolver SDK. The three commands above are simply the shortest path when someone tells you a name and you want the tools in your terminal in the next minute. What they cost and what they keep All three are free and rate-limited per address, thirty requests a minute each, enough for a person and for a script that checks a list. They keep no state and hold no account: every request is a DNS or RDAP read, answered and forgotten. They cover ICANN domains today; a web3 or Handshake name gets a plain "not covered" answer rather than a guess. Discover them, and the rest of the namespace, at agtnames.com/explore https://agtnames.com/explore .