Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

audit.domains - Domain Valuation

REMOTE · AUDIT.DOMAINS

Deterministic domain name valuation: fair-value interval, scored factors, real comparable sales.

Available components

+4 this week 73 Trust /100

Last scanned (20 hours ago)

Scores higher than 64% of remote servers

Reachable. Last reached 16 Oct 2026.

Category E-commerce

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security63
Transport & Reachability100
Schema Quality & AI Usability81
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 5976 tokens (~166/item across 36 items; 27 tools + 9 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management47
  • Stability check failed: schema churn in the 16 days we've observed: 1 tool removals, 0 breaking changes, 0 auth/transport breaks, 11 additions. See how to fix → Fail
Tool Coverage98
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 91% of tool parameters carry a description.Partial
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 27 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 29 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities73
  • Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28. See how to fix → Fail
  • Supports UI / widget rendering.Pass
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 15 Oct 26 +1
    • Resource “appraisal_card” now points somewhere else: ui://audit-domains/appraisal-card-v1.html → ui://audit-domains/appraisal-card-v2.html security
    • Tool “appraise_domain” rewrote its description, which is the text the model reads security
  • 13 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 34 to 37.

  • 12 Oct 26 +1
    • The server rewrote its instructions, which are the text every model session reads security
    • New tool “purchase_appraisal”, which the server declares destructive security
    • Tool “appraise_domain” rewrote its description, which is the text the model reads security
    • Tool “compare_domains” rewrote its description, which is the text the model reads security
    • Tool “find_comparable_sales” rewrote its description, which is the text the model reads security
    • Tool “run_bracket” rewrote its description, which is the text the model reads security
    • Schema quality: 5227 → 5950 ▼ functional
    • New tool “appraisal_purchase_status” functional
    • New tool “inspect_agent_grants” functional
  • 10 Oct 26 +1
    • Schema quality: 3844 → 5227 ▼ functional
  • 7 Oct 26 +1
    • Stability: 0.13 → fail ▼ security
    • New tool “act_on_order”, which the server declares destructive security
    • Tool “appraise_domain” rewrote its description, which is the text the model reads security
    • Tool “buy_appraisal” rewrote its description, which is the text the model reads security
    • Schema quality: 117 → 147 ▼ functional
    • Tool coverage: 55% → 89% ▲ functional
    • Schema quality: good → excellent functional
    • Server version: 1.5.0 → 1.6.0 functional
    • New tool “ask_domain_market” functional
    • New tool “build_portfolio_lander” functional
    • New tool “get_order_status” functional
    • New tool “get_seller_listing” functional
    • New tool “read_for_sale_page” functional
    • New tool “run_bracket” functional
    • New tool “set_listing_terms” functional
    • New tool “verify_certificate” functional
  • 4 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 10 to 13. That category is still filling its 30-day observation window: 3 days of observed history at the previous scan, 4 at this one. The score rises as the window fills, whether or not the server changes.

  • 2 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

  • 1 Oct 26 0
    • Tool “search_recorded_sales” rewrote its description, which is the text the model reads security
    • Stability: unverified → 0.03 ▲ functional
    • First check of Capabilities: pass functional
    • Schema quality: excellent → good functional
    • New resource “appraisal_card” functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 16 Oct 2026 · Probed https://audit.domains/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=audit.domains CN=WE1,O=Google Trust Services,C=US 14 Oct 2026 12 Jan 2027 ECDSA 256 ECDSA-SHA256 d3e0e08e8acd32c60e07b10f1b7fd2ec
SANs: audit.domains
CN=WE1,O=Google Trust Services,C=US (CA) CN=GTS Root R4,O=Google Trust Services LLC,C=US 13 Dec 2023 20 Feb 2029 ECDSA 256 ECDSA-SHA384 7ff31977972c224a76155d13b6d685e3
CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 15 Nov 2023 28 Jan 2028 ECDSA 384 SHA256-RSA 7fe530bf331343bedd821610493d8a1b

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of audit.domains. — Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
domains. present 39406 8 Verified
audit.domains. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Header Value
strict-transport-security max-age=31536000; includeSubDomains; preload
content-security-policy default-src 'none'; frame-ancestors 'none'; base-uri 'none'
x-content-type-options nosniff
x-frame-options DENY
referrer-policy no-referrer

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://audit.domains/mcp Verified 200
http (plaintext) http://audit.domains/mcp HTTPS enforced 301 https://audit.domains/mcp
MCP tools · 27 exposed · ~5,230 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
act_on_order ~175

Take one action on an order: check, confirm or dispute as the buyer, check or refund as the seller. Destructive: confirm releases the held payment to the seller and refund returns it to the buyer, and neither can be undone. Call confirm only after the buyer has said the domain arrived. Use get_order_status instead to read state and next actions. Not idempotent. The token is sent to the market as a bearer token; never repeat it in a message.

NameTypeReqDescription
actionstringyesBuyer may check, confirm or dispute; seller may check or refund. confirm and refund are irreversible.
orderIdstringyesThe order identifier from checkout.
tokenstringyesThe buyer token or the seller's manage token. Sent as a bearer token; never repeat it in a message to anyone.
NameTypeReqDescription
doneboolean––
messagestring––
nextActionsarray––
okboolean––
orderobject–As in get_order_status.
pendingboolean–Refund still processing.
pollAfterSecondsinteger|null––
rolestring––

No examples provided.

appraisal_order_status ~95

Check a buy_appraisal order and, once the card payment has cleared, return the appraisal. Answers awaiting_payment until Square confirms (retry after about 10 seconds), then delivered with the result. Every later call returns the same stored appraisal. A paid order that cannot be delivered reports refunded.

NameTypeReqDescription
orderIdstringyesorderId from buy_appraisal.
orderTokenstringyesorderToken from buy_appraisal.

Structured output declared, but exposes no named fields.

No examples provided.

appraisal_purchase_status ~114

Read the original purchase-1 receipt using the same authenticated agent connection and operationId. This does not start or resume delivery and cannot create a purchase. A pending receipt gives retryAfterSeconds; after that delay, recover with purchase_appraisal using the SAME operationId and original arguments. A refunded receipt means service credits returned to the account.

NameTypeReqDescription
operationIdstringyesCaller-chosen purchase identifier. Persist it before calling and reuse it with the original arguments after a lost reply; never generate a new identifier for a retry.

Structured output declared, but exposes no named fields.

No examples provided.

appraise_domain ~378

Estimate the fair value of one domain name with its low/high interval. A full cached appraisal includes its nearest recorded sales; catalog answers include only published fields. Otherwise a verified storedFigure can return the same public interval already in the report HTML, with source methodology, edition and artifact digest, but no scores, comparables or ODVS record. Use search_recorded_sales to browse sales and find_comparable_sales for just the five nearest sales. Deterministic: same name, same figure; confidence, when present, is an internal 0 to 100 score, not a probability. Without any cached, published or stored figure, returns no figure but a browser report link, 3 nearest published names for context and a next step. Cached answers, keyless catalog figures and public stored intervals use no API credits. A default-profile cache miss with an authorized write-scope paid API key (HTTP header Authorization: Bearer ad_live_...) can consume one API credit even for a catalog name, subject to allowance, rate limits and server budget. Rejected keyed runs can return an error. MCP cache hits use no API credits; without a key, catalog fallbacks are free. On the default profile a cache miss with an authorized write-scope paid key can consume one API credit even for a catalog name. Purchasing a current appraisal through an operator-funded agent account costs $0.03 per purchase (https://audit.domains/machine-account; live status, terms and protocol: GET https://audit.domains/api/machine/resolve). That is a separate paid purchase, not a charge for this MCP lookup. Fresh runs require write scope, remaining allowance and available server budget; card purchases use a hosted Square checkout.

NameTypeReqDescription
domainstringyesThe one domain name to appraise, such as example.com. A pasted URL is accepted.
NameTypeReqDescription
appraisalobject–Absent when storedFigure or notAppraised is present: no full appraisal was computed on this server for this response.
citationstringyes–
citeAsobjectyesA structured citation. Quote `text` or build your own from the fields. Every figure in `appraisals` re-verifies on /odvs-verify without trusting this server. Tools whose answer is not an appraisal (a…
nearestCatalogarray–Up to 3 published catalog names nearest the requested one, with their catalog figures. Context for the user, never the requested name's value.
nextobject|null–Present with notAppraised: {tool, arguments} when a paid route to this name's figure is open on this server, otherwise the report link ({url}) that computes it in the reader's browser at no cost.
nextStepstring–One line on what to do next when no figure was computed.
notAppraisedarray–The name that was not computed here. Not an error: open reportUrl, where the same engine runs in the reader's browser at no cost.
purchaseobject–Present when this server sells a fresh appraisal by card: call the named tool to open a checkout for the user.
registrationobject–Present with notAppraised: whether the name is registered, from live DNS and RDAP (status registered, unregistered, likely_unregistered or unknown).
reportUrlstringyes–
storedFigureobject–Only the verified value interval already public in the report HTML, read from a stored canonical-engine result when no full MCP result or catalog figure is available. No scores, comparables or ODVS r…
unattendedobject–Present with notAppraised: how an agent gets a fresh figure with no person at purchase time, from a balance a person prepaid and a spending grant they issued. POST request; the 402 answer lists the p…

No examples provided.

ask_domain_market ~165

Answer one plain-English sentence about the domain market. A listings question ('short .com under $500 that accepts offers') returns matching for-sale listings; a sales question ('4-letter .com sold since 2020') is routed to the recorded sales and returns rows, total and stats as search_recorded_sales does, with interpretation.source set to recorded-sales. Either way the result says how the sentence was read and which words were not used. Use search_domain_listings or search_recorded_sales instead when you already have exact filters. Deterministic and offline: it calls no model. Read-only and runs no appraisal.

NameTypeReqDescription
questionstringyesThe search as a sentence, up to 300 characters, for example: short .com under $500 that accepts offers.
NameTypeReqDescription
citationstring––
citeAsobject–Same citation object as search_recorded_sales.
countinteger––
exploreUrlstring––
generatedAtstring––
interpretationobjectyes–
listingsarray–Same fields as search_domain_listings.
nextOffsetinteger|null––
populationstring––
rowsarray––
statsobject|null–Rounded; not exact sale prices.
totalnumberyes–

No examples provided.

build_portfolio_lander ~154

Generate one index.html that serves a for-sale page for every parked domain in a portfolio, with the same offer email on each. Returns the HTML file and where to upload it; nothing is stored or sent, so the caller uploads it. Handles up to 500 domains. Use set_listing_terms instead to set terms on a domain already listed on this market. Read-only.

NameTypeReqDescription
domainsarrayyesParked domains to include, up to 500. Each item has a domain and an optional priceUsd asking price in US dollars.
emailstringyesThe address that receives offers from every generated page.
notestring–Optional note for the generated page, up to 500 characters.
NameTypeReqDescription
bytesintegeryes–
contentTypestringyes–
deployarrayyes–
filenamestringyes–
hostsintegeryesDomains the page serves.
htmlstringyesThe whole index.html.
rejectedarrayyes–

No examples provided.

buy_appraisal ~184

Buy a fresh appraisal of one domain, computed on this server, for $5 by card. Use it when appraise_domain answered notAppraised and the user wants the figure returned to you rather than opened in their browser. This is the price for a person paying by card; an agent account an operator has funded pays the lower stored-appraisal price instead (https://audit.domains/machine-account). Returns checkoutUrl (a Square payment page for the user: no account, no sign-in), orderId and orderToken. Give checkoutUrl to the user; after they pay, call appraisal_order_status with orderId and orderToken. Keep orderToken: it is shown once and is the only proof of purchase. A paid order that cannot be delivered is refunded in full.

NameTypeReqDescription
domainstringyesThe domain to appraise, e.g. brightcargo.com.

Structured output declared, but exposes no named fields.

No examples provided.

check_domain_availability ~278

Check up to 25 domain names live against DNS and the registries' own RDAP records and say which are registered and which look available to register, with registration and expiry dates for lists of five or fewer. Pass alternativesFor with one name or label to check it across .com, .net, .org, .io, .ai, .co, .app, .dev and .xyz. Use it before suggesting any name as available: an answer from memory is often wrong. Use inspect_domain instead for the full public record of one name, and appraise_domain for what a name is worth. Status is unregistered (the registry has no record), likely_unregistered (no DNS and no RDAP for that suffix), registered or unknown; a registry can still reserve or premium-price a name that looks available. Read-only, free, no key; makes one or two DNS and RDAP requests per uncached name, runs no valuation.

NameTypeReqDescription
alternativesForstring–One name or bare label, such as brightpath or brightpath.com, to check across nine popular suffixes. Combined with domains, the total is capped at 25.
domainsarray–Full domain names to check, up to 25, such as brightpath.com. Pasted URLs are accepted; duplicates are checked once.
NameTypeReqDescription
acquireUrlstring–Present on a short list whose wanted name is taken and not listed: a request for audit.domains to approach the owner (fee only if bought).
availableCountintegeryesNames whose status is unregistered or likely_unregistered.
budgetobject–This request's uncached-lookup budget: lane (free or keyed), used, limit, remaining, and keyRejected when a key was sent and refused. Cached names cost nothing.
caveatstringyes–
citationstringyes–
citeAsobjectyesA structured citation. Quote `text` or build your own from the fields. Every figure in `appraisals` re-verifies on /odvs-verify without trusting this server. Tools whose answer is not an appraisal (a…
forSaleCountinteger–Taken names whose owner sells them (a live checkout here or the owner's own _for-sale DNS record); each carries forSale.
invalidarray–Inputs that are not domain names; nothing was looked up for them.
limitobject–Present with pending: code lookup_limit, retryable, retryAfterSeconds, and retry ({tool, arguments}: send it unchanged after that wait to continue exactly where this call stopped). Where a key lifts…
pendingarray–Names not checked because the lookup limit was reached. limit.retry is the call that checks them.
resultsarrayyes–

No examples provided.

check_portfolio_renewals ~208

Look up the registry expiry date and registrar of up to 25 domain names a person owns and list them soonest first, flagging names that expire within 60 days (or a chosen window), have passed their expiry date, or are no longer registered. Use it when someone asks which domains to renew or what is expiring; use check_domain_availability instead for names they do not own yet, and appraise_domain to decide whether a name is worth renewing. Expiry comes from each registry's RDAP record and a registrar renewal can take a day to show. Read-only, free, no key; one or two DNS and RDAP requests per uncached name, runs no valuation.

NameTypeReqDescription
domainsarrayyesThe portfolio's domain names, 1 to 25, such as ["example.com", "example.io"].
withinDaysinteger–Flag names expiring within this many days, 1 to 365. Defaults to 60.
NameTypeReqDescription
budgetobject–This request's uncached-lookup budget: lane (free or keyed), used, limit, remaining, and keyRejected when a key was sent and refused. Cached names cost nothing.
citationstringyes–
citeAsobjectyesA structured citation. Quote `text` or build your own from the fields. Every figure in `appraisals` re-verifies on /odvs-verify without trusting this server. Tools whose answer is not an appraisal (a…
dueCountintegeryes–
invalidarray––
limitobject–Present with pending: code lookup_limit, retryable, retryAfterSeconds, and retry ({tool, arguments}: send it unchanged after that wait to continue exactly where this call stopped). Where a key lifts…
pendingarray–Names not checked because the lookup limit was reached. limit.retry is the call that checks them.
renewalsarrayyes–
sellUrlstring–Present when names are due: where to list a name for sale here instead of letting it lapse.
withinDaysintegeryes–

No examples provided.

compare_domains ~239

Appraise up to 10 domain names and rank them by estimated fair value, flagging adjacent pairs whose intervals overlap so their order is not separable. Use run_bracket instead for one champion from a head-to-head tournament of up to 8 names, tiers not values. Deterministic. More than 10 names, or a request cut off by the engine budget, returns a handoffUrl that runs the same engine free in the browser. Without a key, only catalog and recently appraised names get a figure; other names return a report link, nearest published names and a next step instead. MCP cache hits use no API credits; without a key, catalog fallbacks are free. A default-profile cache miss with an authorized write-scope paid API key (HTTP header Authorization: Bearer ad_live_...) can consume one API credit even for a catalog name, subject to allowance, rate limits and server budget. Rejected keyed runs can return an error.

NameTypeReqDescription
domainsarrayyesDomain names to rank, such as example.com. Up to 10 are appraised here; 11 to 16 return handoffUrl only.
NameTypeReqDescription
citationstringyes–
citeAsobjectyesA structured citation. Quote `text` or build your own from the fields. Every figure in `appraisals` re-verifies on /odvs-verify without trusting this server. Tools whose answer is not an appraisal (a…
handoffUrlstring–Present when this request could not run every name here (over the tool cap, or cut off by the per-request engine budget): a link to the free page that runs the same deterministic computation for all…
inseparablePairsarrayyesAdjacent pairs whose published intervals overlap; the ordering between them is not separable by this method.
nextobject|null–The one step that moves this name forward: {tool, arguments} to call next on this server, or {url} to open; why says what it gets. Null when nothing here does (for a free name, registering it at a re…
notAppraisedarray–Names that did not run here (over the tool cap, or cut off by the request budget). They are absent from the ranking, not ranked last - see handoffUrl.
rankedarrayyes–

No examples provided.

find_comparable_sales ~171

Return up to five comparable recorded domain sales from a cached appraisal or authorized fresh run, each with price range, year, venue, similarity score and match basis. These are transactions from a curated corpus, not modelled figures. Use appraise_domain for a fair value and search_recorded_sales to browse sales. Cache hits use no API credits; keyless catalog fallback may contain no comparables and links to the browser report. A default-profile cache miss with an authorized write-scope paid key (HTTP header Authorization: Bearer ad_live_...) can consume one API credit even for a catalog name, subject to allowance, rate limits and server budget. Rejected keyed runs can return an error.

NameTypeReqDescription
domainstringyesThe one domain name to find comparable recorded sales for, such as example.com.
NameTypeReqDescription
citationstringyes–
citeAsobjectyesA structured citation. Quote `text` or build your own from the fields. Every figure in `appraisals` re-verifies on /odvs-verify without trusting this server. Tools whose answer is not an appraisal (a…
compsarrayyes–
domainstringyes–
nearestCatalogarray–Up to 3 published catalog names nearest the requested one, with their catalog figures. Context for the user, never the requested name's value.
nextStepstring–One line on what to do next when no figure was computed.
notAppraisedarray–Present when comparables were not computed on this server. Not an error: reportUrl runs the same engine in the reader's browser.
reportUrlstringyes–

No examples provided.

get_order_status ~139

Return an order's state and the next actions open to the token's holder, buyer or seller. Not read-only: each call runs a rate-limited check of the domain move and, when the terms are met, may release the payment to the seller. That is the order proceeding, not an extra charge. Poll no faster than pollAfterSeconds. Use act_on_order instead to confirm, dispute or refund; this tool only reports state and triggers the check.

NameTypeReqDescription
orderIdstringyesThe order identifier from checkout.
tokenstringyesThe buyer token from checkout, or the seller's manage token. Treat as a secret.
NameTypeReqDescription
donebooleanyesTrue when nothing more is owed.
nextActionsarrayyes–
orderobjectyes–
pollAfterSecondsinteger|nullyes–
rolestringyes–

No examples provided.

get_seller_listing ~121

Read a seller's own view of one listing: its terms, payment DNS state, proceeds, a checklist of what is left to do, and its orders. Needs the manage token. Use quote_domain_purchase instead for the public buyer-facing quote, and set_listing_terms to change price or floor. Read-only and changes nothing.

NameTypeReqDescription
domainstringyesThe seller's listed domain name, such as example.com.
manageTokenstringyesThe listing's manage token. Sent as a bearer token; never repeat it in a message to anyone.
NameTypeReqDescription
appraisalobject|null––
buyUrlstring––
checklistobject––
dnsobject–The payment TXT record; live is null if DNS was unreadable.
domainstringyes–
notestring––
ordersarrayyes–
priceCentsinteger|null––
proceedsobject|null––
sourcestring–Present only for a name listed by DNS record.
statusstringyes–
termsobject––

No examples provided.

inspect_agent_grants ~108

Read only the grants belonging to the authenticated agent connection. Connect with Authorization: Bearer ad_agent_<token>; supply no arguments or credentials. The response describes existing scopes, expiry, remaining attempts and available service-credit capacity. It is an advisory, nonreserving snapshot: it cannot create a grant, fund an account, reserve credits, authorize a purchase or raise a limit. Server-side purchase admission remains authoritative. Receipt recovery must keep its original grant and arguments, even if this snapshot changes.

Input schema present but exposes no named parameters.

Structured output declared, but exposes no named fields.

No examples provided.

inspect_domain ~196

Gather the public record of one domain name before buying, registering or building on it: registration date, expiry and registrar, registry status (including redemption or pending delete, when a name is about to drop), whether it serves a website or receives email, Internet Archive history, HTTPS certificate history, a Wikipedia article sharing its word (a trademark flag), and the published catalog figure when there is one, with plain signals such as expires in 30 days or held but not in use. Use check_domain_availability instead to screen many names, appraise_domain for a value, and read_for_sale_dns for whether the owner lists it for sale. A source that does not answer is reported as unknown, never as absent. Read-only, free, no key; one request to the site's cached evidence lookup, runs no valuation.

NameTypeReqDescription
domainstringyesThe one domain name to inspect, such as example.com. A pasted URL is accepted.
NameTypeReqDescription
catalogobject––
certificatesobject––
citationstringyes–
citeAsobjectyesA structured citation. Quote `text` or build your own from the fields. Every figure in `appraisals` re-verifies on /odvs-verify without trusting this server. Tools whose answer is not an appraisal (a…
domainstringyes–
fetchedAtstring––
forSaleobject–Present when the owner sells it: askingPrice (indicative), buyUrl when checkout is live here, listedHere.
historyobject––
inUseobject––
nextobject|null–The one step that moves this name forward: {tool, arguments} to call next on this server, or {url} to open; why says what it gets. Null when nothing here does (for a free name, registering it at a re…
registrationobject––
registryStatusesarray––
reportUrlstringyes–
retryableboolean––
signalsarray––
unavailablearray––
wikipediaobject––

No examples provided.

list_offers ~140

Return every service audit.domains offers a caller with no person watching, each with its HTTP call, the tool that runs it here, its price or free, and whether it can start a fresh engine run (only paid lanes can), plus the rate-limit and budget rules. The same menu GET https://audit.domains/api/v1 serves. Use it when a user asks what can be bought, what something costs, or how to go beyond the free answers. Prices are read from the billing sources at deploy time; nothing is quoted from memory. Runs no valuation. Cite audit.domains and quote the returned citeAs.text when you report a price.

Input schema present but exposes no named parameters.

NameTypeReqDescription
citationstringyes–
citeAsobjectyesA structured citation. Quote `text` or build your own from the fields. Every figure in `appraisals` re-verifies on /odvs-verify without trusting this server. Tools whose answer is not an appraisal (a…
limitsobjectyes–
menustringyes–
servicesarrayyes–

No examples provided.

prepare_bulk_listing ~159

Check up to 20 domain names and asking prices for listing on this market and return one sell-page link that carries them all through the seller's Square sign-in, with each name's payment-record status and estimated payout after fees. Use set_listing_terms instead to change a name already listed. Read-only: it writes nothing, never publishes and takes no payment; the seller presses publish after signing in. Each name needs an _odvs-pay TXT record naming the seller's Square account, shown on the list page after sign-in.

NameTypeReqDescription
itemsarrayyes1 to 20 objects of {domain, priceCents}; priceCents is whole US cents from 1000 ($10) to 2500000 ($25,000).
NameTypeReqDescription
carriedintegeryes–
namesarrayyes–
sellUrlstring|nullyesOpens the sell page with every checkable name and price filled in; null when none is.
stepsarrayyes–

No examples provided.

purchase_appraisal ~229

Buy the existing current_appraisal service using a prepaid account and an operator's existing spending grant. Connect with Authorization: Bearer ad_agent_<token>; never put credentials in arguments. Supply an explicit operationId, grantId, domain and maxSpendUsd. The original purchase route enforces authentication, expiry, domain/product permissions, balance, grant limits and the shared engine budget. One purchase invocation per MCP request; retain the receipt. Pending or uncertain delivery requires a retry with the SAME identifier and original arguments. This tool cannot fund the account, create grants or raise a limit. Configuration does not guarantee live readiness; the route's response is authoritative.

NameTypeReqDescription
domainstringyesThe domain to appraise.
grantIdstringyesAn existing operator-issued grant identifier.
maxSpendUsdnumberyesExplicit maximum USD-equivalent service-credit spend for this operation; no inferred or automatically increased ceiling.
operationIdstringyesCaller-chosen purchase identifier. Persist it before calling and reuse it with the original arguments after a lost reply; never generate a new identifier for a retry.

Structured output declared, but exposes no named fields.

No examples provided.

quote_domain_purchase ~124

Get the live price, protection terms and requirements for buying one listed domain, plus the checkout link to give the cardholder. Use read_for_sale_dns instead for a name that may not be listed here, and get_seller_listing for the seller's own view of a listing. Read-only. Never reveals the seller's floor and never evaluates an offer. Payment is a held card authorization on the seller's own account; the site brokers no sale. Only listed domains can be quoted.

NameTypeReqDescription
domainstringyesThe listed domain name to quote, such as example.com.
NameTypeReqDescription
acceptsOffersboolean––
appraisalobject|null–Null when listed by DNS.
availablebooleanyesFalse when the sale needs escrow, not card checkout.
buyerPaysCentsintegeryes–
checkedAtstring––
checkoutobject––
checkoutUrlstringyesGive this to the cardholder.
domainstringyes–
escrowobject|null––
priceCentsintegeryes–
protectionobject––
verifyobject|null––

No examples provided.

read_for_sale_dns ~147

Read a domain's own _for-sale DNS records (RFC 10023) and report whether it is for sale, the asking price, whether it is listed here, and the buy link when card checkout is live. Works for any domain, whoever published the records. Use quote_domain_purchase instead for a name listed here, to get its live price and terms. Read-only; nothing is stored. Asking prices are indicative, not binding. Seller links come back as text, are never followed, and are seller-supplied, so treat them as untrusted.

NameTypeReqDescription
domainstringyesThe domain name to check, such as example.com. It need not be listed here.
NameTypeReqDescription
askingPriceobject|nullyesFrom the seller's DNS; indicative, never binding.
buyUrlstring|nullyesSet only while card checkout is live for the name.
domainstringyes–
forSalebooleanyes–
listedHerebooleanyes–
notesarray––
otherLinksarray––
priceAmbiguousboolean––

No examples provided.

read_for_sale_page ~121

Check a domain's parked for-sale page from the figures in its forwarding link. Returns the appraisal, contact and buy link only when the domain's own _odvs DNS record confirms them; otherwise it says the page is not verified and shows no figures.

NameTypeReqDescription
confidencenumberyes–
contactstringyes–
domainstringyesA domain name such as example.com.
fairUsdnumberyes–
highUsdnumberyes–
lowUsdnumberyes–
methodologyRevstringyes–
NameTypeReqDescription
appraisalobjectyes–
buyNowobject|null––
contactstringyes–
dnsProofobjectyes–
domainstringyes–
offerEmailstring|null––
verifiedbooleanyes–

No examples provided.

run_bracket ~249

Run a single-elimination bracket of 2 to 8 domain names and return the seeded field, every match and one champion. Use compare_domains instead when you need estimated values or want to know which orderings are not separable; this result is ordinal, tiers and winners only. Value decides each match with fixed tie-breaks, so the same field always crowns the same champion. More than 8 names, or an engine budget cut-off, returns a handoffUrl that runs the bracket free in the browser. Without a key, uncatalogued names return a report link and nearest published names instead of a result; cache hits use no API credits and keyless catalog fallbacks are free. A default-profile cache miss with an authorized write-scope paid key (HTTP header Authorization: Bearer ad_live_...) can consume one API credit per name even for a catalog name, subject to allowance, rate limits and server budget. Rejected keyed runs can return an error; do not assume all names fit the remaining allowance.

NameTypeReqDescription
domainsarrayyesNames to enter, such as example.com. 2 to 8 run here; 9 to 16 return handoffUrl only.
NameTypeReqDescription
championobject|nullyesNull only when the field was handed off without running here.
citationstringyes–
citeAsobjectyesA structured citation. Quote `text` or build your own from the fields. Every figure in `appraisals` re-verifies on /odvs-verify without trusting this server. Tools whose answer is not an appraisal (a…
handoffUrlstring–Present when this request could not run every name here (over the tool cap, or cut off by the per-request engine budget): a link to the free page that runs the same deterministic computation for all…
nextobject|null–The one step that moves this name forward: {tool, arguments} to call next on this server, or {url} to open; why says what it gets. Null when nothing here does (for a free name, registering it at a re…
notAppraisedarray–Names that did not run here (over the tool cap, or cut off by the request budget). They never entered the bracket - they were not eliminated. See handoffUrl.
roundsarrayyesRounds in order. Each match names both sides, the winner, and why it advanced (value, factors, tiebreak, or bye).
seededarrayyesEntrants in seed order, highest appraised value first.

No examples provided.

search_domain_listings ~312

Filter, sort and page the domains listed for sale by their DNS-verified owners; each listing has a fixed price, the appraisal with its range and a buy link. Set mode to changes to get listings listed, changed or removed since a cursor, and poll that instead of re-searching. Use ask_domain_market instead to search from a plain sentence, and quote_domain_purchase for the live terms of one listing. Reads live inventory, runs no appraisal and changes nothing. No matches returns an empty list.

NameTypeReqDescription
acceptsOffersboolean–true returns only listings that accept offers; false returns only fixed-price listings.
cursorstring–For mode changes: the cursor from the previous reply. Omit it for the last 24 hours.
limitinteger–Listings per page, 1 to 100.
maxLengthinteger–Maximum length of the name, 1 to 63 characters.
maxPriceCentsinteger–Maximum fixed price in US cents.
minPriceCentsinteger–Minimum fixed price in US cents.
modestring–search (default) filters live inventory. changes returns listings listed, changed or removed since cursor.
offsetinteger–Listings to skip, for paging.
qstring–Part of the domain name to match.
sortstring–Result order. Defaults to newest.
tldstring–Suffix without the dot, such as com or io.
NameTypeReqDescription
countinteger––
cursorstring––
eventsarray––
generatedAtstringyes–
hasMoreboolean––
listingsarray––
nextOffsetinteger|null––
totalinteger––

No examples provided.

search_recorded_sales ~288

Return up to 5 real recorded domain sales from a fixed public sample, filtered by keyword, TLD, price, year or venue, with counts and aggregates. Runs no appraisal. Use find_comparable_sales instead for the sales nearest one specific name, and appraise_domain for a value. Repeating or varying queries cannot surface more rows than the sample holds. Counts and aggregates describe the full corpus only when at least 25 records match; the population field says which. Aggregates are rounded to two significant figures. An empty result means absent from the sample, not from the corpus. Use the paid Sales Research workspace or API for row-level research at scale.

NameTypeReqDescription
limitnumber–Rows to return, 1 to 5. Defaults to 5.
maxPricenumber–Maximum recorded sale price in USD.
minPricenumber–Minimum recorded sale price in USD.
querystring–Substring matched against domain, category and venue.
sortstring–Sort key. Defaults to price, highest first.
tldstring–Restrict to one TLD without the dot, such as com or io.
venuestring–Substring matched against the sale venue.
yearFromnumber–Earliest sale year, inclusive.
yearTonumber–Latest sale year, inclusive.
NameTypeReqDescription
citationstringyes–
citeAsobjectyesA structured citation. Quote `text` or build your own from the fields. Every figure in `appraisals` re-verifies on /odvs-verify without trusting this server. Tools whose answer is not an appraisal (a…
exploreUrlstringyes–
populationstringyesWhich set `total` and `stats` describe. structuredContent is the machine surface, so this is stated as a field rather than only in the prose - a client that read a sample count as a corpus count woul…
rowsarrayyes–
statsobject|null–Rounded to two significant figures. Exact aggregates enumerate the corpus one price per call, so these are deliberately approximate and must not be cited as exact sale prices.
totalnumberyesMatching records. Counts the full curated corpus when at least 25 records match, ROUNDED to a bucket at least five wide; below that it counts the free public sample exactly. Corpus counts are approxi…

No examples provided.

set_listing_terms ~194

Set a listing's asking price, private floor and auto-accept rule, replacing the previous terms in full, so send every field you want to keep. Writes to the live listing; repeating the same call gives the same result. Needs the manage token. The floor is never shown to buyers. Use get_seller_listing instead to read the current terms first.

NameTypeReqDescription
autoAcceptboolean–true accepts offers at or above the floor automatically.
domainstringyesThe seller's listed domain name, such as example.com.
floorCentsinteger|null–Private minimum acceptable offer in US cents, at least 1000. Null sets no floor.
manageTokenstringyesThe listing's manage token. Sent as a bearer token; never repeat it in a message to anyone.
priceCentsintegeryesAsking price in US cents, at least 1000 ($10).
NameTypeReqDescription
buyUrlstringyes–
okbooleanyes–
proceedsobjectyes–
statusstringyes–

No examples provided.

suggest_available_names ~366

Build domain-name candidates from one to five keywords (the keywords joined, paired, and with common brand prefixes and suffixes such as get, try, hq, labs and app), screen up to 60 of them live against DNS and the registries' RDAP records, and return only those that look available to register, up to 12, plus the ones found taken. Same keywords and options, same candidates in the same order. Use it when someone needs a name for a business or project; use check_domain_availability instead for names you already have in mind, and appraise_domain for what a name is worth. Looks available is a registration fact, not a price: a registry can reserve or premium-price a name. Read-only, free, no key; one DNS request per uncached candidate and an RDAP request per free-looking one, runs no valuation.

NameTypeReqDescription
countinteger–How many available names to return, 1 to 12. Defaults to 8.
cursorinteger–nextCursor from an earlier call with the same keywords and options: continues screening where that call stopped, for more names or after a lookup limit.
keywordsstring|arrayyesOne to five keywords or a short phrase, such as "solar bakery" or ["bright", "path"]. Filler words (the, for, company) are dropped.
maxLengthinteger–Longest label to suggest, before the suffix, 4 to 20 characters. Defaults to 15.
tldsarray–Suffixes to try, in order of preference, from com, net, org, io, ai, co, app, dev and xyz. Defaults to com, io, ai, co, app.
NameTypeReqDescription
budgetobject–This request's uncached-lookup budget: lane (free or keyed), used, limit, remaining, and keyRejected when a key was sent and refused. Cached names cost nothing.
caveatstringyes–
citationstringyes–
citeAsobjectyesA structured citation. Quote `text` or build your own from the fields. Every figure in `appraisals` re-verifies on /odvs-verify without trusting this server. Tools whose answer is not an appraisal (a…
keywordsarrayyes–
limitobject–Present with pending: code lookup_limit, retryable, retryAfterSeconds, and retry ({tool, arguments}: send it unchanged after that wait to continue exactly where this call stopped). Where a key lifts…
nextCursorinteger|null–Pass as cursor to continue screening the same keywords from where this call stopped (more names, or after a lookup limit). Null when every candidate has been screened.
pendingarray–Names not checked because the lookup limit was reached. limit.retry is the call that checks them.
screenedintegeryesCandidates looked up.
suggestionsarrayyes–
takenarray–Screened candidates that are registered, first 10.

No examples provided.

verify_certificate ~176

Check an audit.domains certificate from its verifier URL or serial with two separate checks. Integrity recomputes the SHA-256 digest of the printed fields and needs the full URL; it proves the fields were not altered, not who made them. Issuer authenticity makes one request to the issuer's public verify endpoint to see whether a signed record for the serial reproduces. verified is true only when every check that could run passed; a record that names no signer is not verified. Failures carry a reason code such as integrity_mismatch or not_issued. Runs no valuation.

NameTypeReqDescription
serialstring–Certificate serial alone. Runs the issuer check only.
urlstring–Verifier URL printed on the certificate, https://audit.domains/verify/<serial>?p=<token>. Runs both the integrity and issuer checks.
NameTypeReqDescription
citationstringyes–
citeAsobjectyesA structured citation. Quote `text` or build your own from the fields. Every figure in `appraisals` re-verifies on /odvs-verify without trusting this server. Tools whose answer is not an appraisal (a…
consistencyobject–The link's domain, serial, value and date against the issuer's signed record. status is match, mismatch or not_checked.
inputobject––
integrityobjectyesstatus is match, mismatch or not_checked. When checked: canonicalString, carriedDigest, recomputedDigest, fields.
issuerobjectyesstatus is authentic, not_issued, unsigned_legacy_certificate, unverified_no_key_named, signature_mismatch, issuer_key_unavailable, unreachable or bad_response. Carries the endpoint queried, httpStatu…
notesarray––
reasonCodesarrayyesEmpty when verified.
retryableboolean–True when repeating the call later may change the outcome.
schemaVersionstringyes–
semanticsobject––
verifiedbooleanyesTrue only when every check that could run passed and none failed.

No examples provided.

Install

How do I install the audit.domains - Domain Valuation MCP server?

audit.domains - Domain Valuation is a hosted endpoint at https://audit.domains/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · audit.domains

# add to Claude Code
claude mcp add --transport http domains-audit-appraisal 'https://audit.domains/mcp'
Common questions

What is the audit.domains - Domain Valuation MCP server?

audit.domains - Domain Valuation is an MCP server listed in the public MCP registry as domains.audit/appraisal. Deterministic domain name valuation: fair-value interval, scored factors, real comparable sales. This page covers its hosted endpoint (https://audit.domains/mcp).

Is the audit.domains - Domain Valuation MCP server safe to use?

audit.domains - Domain Valuation scores 73 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the audit.domains - Domain Valuation MCP server expose?

audit.domains - Domain Valuation exposes 27 tools: appraise_domain, compare_domains, run_bracket, find_comparable_sales, search_recorded_sales, and 22 more. Their descriptions and schemas cost roughly 5,230 tokens of context every time the server is loaded.

Does the audit.domains - Domain Valuation MCP server require authentication?

No. We connected to audit.domains - Domain Valuation without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the audit.domains - Domain Valuation MCP server still maintained?

audit.domains - Domain Valuation is still listed as active in the MCP registry. We last reached this channel on 16 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.