thatmgmt-mcp
This server lets an AI agent inspect domain availability, pricing, portfolios, and registration plans through the ThatMgmt API, without executing purchases.
Check API health and discover public capabilities
Check domain name availability
Get locked price quotes (wholesale + platform cut + total)
Suggest alternative domain names
Prepare a safety-checked registration plan (never executes)
List portfolio domains and inspect DNS records
View portfolio health, renewal risk, and exception queues
View offering/reseller coverage matrices
Public tools need no API key; tenant tools require TMGMT_API_KEY
It cannot register, renew, transfer, or change DNS — the API exposes no execute endpoints
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@thatmgmt-mcpIs example.com available? If not, suggest alternatives."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
thatmgmt-mcp
An MCP (Model Context Protocol) server that wraps the ThatMgmt domain API. An AI agent in Cursor, Claude Code, or Replit can check availability, get name suggestions, lock a price quote, and prepare a registration, all without touching a dashboard.
Base API: https://api.thatmgmt.com Spec: https://thatmgmt.com/openapi.json (47 routes) Machine docs: https://thatmgmt.com/llms-full.txt
Try it with zero signup (no API key)
The public reads need no key and no account. Clone and run:
git clone https://github.com/russfranky/thatmgmt-mcp.git thatmgmt-mcp
cd thatmgmt-mcp
npm install
node src/index.js(Once @thatmgmt/mcp is published on npm, npx -y @thatmgmt/mcp will run
it with zero install.)
Then in your MCP client, call tmgmt_capabilities to see the public
surface, domains_check_availability to check a name, and
domains_get_quote for the locked price: wholesale plus the itemized 1%
platform cut, printed plainly. Example quote for a 1-year .com:
$12.99 wholesale + $0.13 cut = $13.12 total.
Related MCP server: Domain Checker MCP Server
Setup with an API key (tenant tools)
Prereqs: Node 18+.
git clone https://github.com/russfranky/thatmgmt-mcp.git thatmgmt-mcp
cd thatmgmt-mcp
npm install
export TMGMT_API_KEY="your-thatmgmt-api-key"The key is only needed for tenant tools: name suggestions, portfolio views, the dry-run planner, and prepare-registration. Everything else works without it.
Add to your MCP client config (Claude Code / Cursor):
{
"mcpServers": {
"thatmgmt": {
"command": "node",
"args": ["/path/to/thatmgmt-mcp/src/index.js"],
"env": { "TMGMT_API_KEY": "your-thatmgmt-api-key" }
}
}
}Verify:
npm testOptional: TMGMT_BASE_URL overrides the API base (default https://api.thatmgmt.com).
TMGMT_TIMEOUT_MS overrides the per-request timeout in milliseconds (default
30000). Transient failures (network errors, timeouts, 429s, retryable 5xx)
are retried once on side-effect-free calls; the server never retries anything
that could move money.
The two-step purchase flow
Spend-effect actions never execute blindly. The intended flow, written into every tool description so agents show the human the price first:
Quote. Call
domains_get_quote. It returns the locked price:wholesaleCents, the itemized 1% cut (platformCutCents,platformCutBasisPoints), andtotalCents. No key needed. Show this to the human.Plan. Call
domains_prepare_registration(needsTMGMT_API_KEY). It returns the safety-checked plan. It never executes anything.
Pricing: no subscription. A flat 1% cut applies to spend-effect actions only. Checkout options (crypto via Privy, or card/bank fallback) are arranged outside this server.
Important: what this server cannot do
The ThatMgmt API exposes no execute endpoints. Purchase, renewal, transfer, and DNS changes are never executed by the API; the API returns validated plans and preflights instead. This server therefore cannot register, renew, or transfer a domain, and it will never claim it did.
src/approval.js holds the approval gate that future execute tools will
use: quote id passed back plus an explicit approved: true flag, or the
call is refused. The gate is implemented and tested now so the safety
design is ready the day execute routes exist.
Current release: 0.2.0 (read-only public tools plus validated plans). Execute tools are planned for the 0.3.0 release.
Tools
Tool | What it does | API route | Key needed |
| Liveness check |
| No |
| Discover the public no-auth surface |
| No |
| Check if a domain is available |
| No |
| Locked price quote: wholesale + itemized 1% cut + total (step 1) |
| No |
| Suggest alternative names |
| Yes |
| Safety-checked plan, never executes (step 2) |
| Yes |
| List portfolio domains |
| Yes |
| Inspect DNS records for a domain |
| Yes |
| Portfolio health summary |
| Yes |
| Renewal-risk view |
| Yes |
| Prioritized exception queue |
| Yes |
| Full order plan with itemized pricing, never moves money |
| Yes |
| Offering coverage matrix |
| Yes |
Public tools never send an Authorization header and never ask for a key.
Tenant tools return 401 without a key; the server tells you to set
TMGMT_API_KEY. The key is sent as a Bearer token and is never logged.
Agent skill
skills/thatmgmt/SKILL.md is the agent skill for this server: when to use
it, the tool list, and the two-step purchase flow. Point your agent at it
for the fastest start.
Development
npm test # 47 tests, mocked HTTP, no live callsRegistry
server.json is the manifest for the official MCP registry
(io.github.russfranky/thatmgmt-mcp). It is published automatically by the
publish-mcp GitHub Actions workflow when a version tag (e.g. v0.2.0) is
pushed; the workflow validates the manifest against the registry schema and
authenticates the namespace via GitHub OIDC, so no manual login is needed.
Prerequisite the workflow cannot do itself: the @thatmgmt/mcp
npm package must exist on the public npm registry before the first publish,
since the manifest references it. Publish it once with npm publish
(requires npm access for the @thatmgmt scope), then push the version tag.
Available Tools
11 toolsdomains_check_availabilityA
Check whether a domain name is available to register. Read-only. Pass the fully qualified domain name, e.g. "example.com". Set optimizeFor to SPEED for a fast check or ACCURACY for a careful one.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Fully qualified domain name, e.g. example.com | |
| optimizeFor | No | SPEED or ACCURACY |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It explicitly declares 'Read-only' which is valuable behavioral context for a check operation. However, it does not describe what the response contains, how SPEED differs from ACCURACY in terms of latency or thoroughness, or any edge-case behavior. The safety trait is covered, but broader behavioral expectations are absent.
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 with no filler. The purpose is front-loaded, followed by the one required parameter format and the single optional parameter's options. Every word contributes to correct invocation.
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 two-parameter tool with no output schema, the description gives enough to call it correctly: domain format and the meaning of optimizeFor. It does not describe the return shape, but for an availability check the result is predictable enough that this is a minor gap. The absence of any note on invalid domains or timeout behavior keeps it from a 5.
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%, so the baseline is 3. The description adds value beyond the schema by explaining the 'optimizeFor' enum in plain language: SPEED is 'a fast check' and ACCURACY is 'a careful one'. It also reinforces the domain format with an example. This practical nuance exceeds the schema's terse enum labels.
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 begins with a specific verb-resource pair: 'Check whether a domain name is available to register.' This clearly identifies the tool's function and distinguishes it from siblings like domains_suggest (which suggests domains), domains_get_quote (pricing), and domains_prepare_registration (registration workflow). No ambiguity remains.
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?
The description gives clear operational context: pass a fully qualified domain name and optionally set optimizeFor. It does not explicitly name alternatives or state when not to use the tool, but the purpose is specific enough that an agent can infer this is the first step before registering a domain. The lack of explicit alternative routing prevents a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
domains_dnsA
Inspect DNS records for a domain resource. Read-only; use the resource id from domains_list. Optionally filter by record type (A, CNAME, ...) or name.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Record name filter | |
| type | No | Record type filter, e.g. A, CNAME | |
| resourceId | Yes | Server-side domain resource id |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure, and it does so by stating 'Read-only' upfront. It also explains the dependency on a prior domains_list call and optional filtering. It does not mention error behavior or response format, but for a read-only inspection tool the safety profile is adequately disclosed.
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 two sentences with no filler. The first sentence states purpose and read-only behavior; the second gives the prerequisite and optional filters. Every clause earns its place and the critical information is front-loaded.
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?
The description covers what the tool does, the required input source, and the optional filters. Without an output schema, it does not explicitly describe the return value, but 'Inspect DNS records' sufficiently implies a list of DNS records. Minor missing details like whether results are paginated or include TTL values are not critical for calling this simple tool correctly.
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%, so the baseline is 3. The description adds value beyond the schema by telling the agent that the resourceId should come from domains_list and giving concrete examples of record types (A, CNAME). This enriches parameter understanding without just repeating schema labels.
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 uses the specific verb 'Inspect' with the resource 'DNS records' and the target 'domain resource', which clearly distinguishes it from siblings like domains_list, domains_check_availability, or domains_get_quote. It also immediately signals the read-only nature, leaving no ambiguity about what the tool does.
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?
The description gives explicit usage context: it tells the agent to use the resource id from domains_list and explains optional filters. It does not explicitly name alternatives or exclusions, but given the sibling set, the intended use case is obvious and no other sibling overlaps with DNS record inspection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
domains_get_quoteA
Get a locked price quote for registering a domain, without purchasing anything. Step 1 of the two-step purchase flow. The quote binds the approved total (totalPayableCents) and fee fingerprint, so the price you approve is the price that executes. Show the quote to the human before doing anything else. Pricing: no subscription; a flat 10% cut applies to registrations only.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Fully qualified domain name, e.g. example.com | |
| period | No | Registration period in years (default 1) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does well: it states the quote is "locked" and "binds the approved total (totalPayableCents) and fee fingerprint," reveals that no purchase occurs, and explains the pricing structure (flat 10% on registrations, no subscription). It does not cover auth or side effects beyond purchase, but the key behavioral traits are disclosed.
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 four concise, front-loaded sentences. Each sentence earns its place: purpose, step context, binding behavior, human-in-the-loop instruction, and pricing. 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?
Since there is no output schema, the description compensates by naming key return concepts (totalPayableCents, fee fingerprint) and giving the flow context. It is sufficient for an agent to call the tool and understand what to expect, though it doesn't detail error cases or full return structure.
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%, so the baseline of 3 applies. The description does not add extra meaning to the domain or period parameters beyond what the schema already states; it mentions totalPayableCents and fee fingerprint, but these are output fields, not parameter semantics.
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 opens with a specific verb and resource: "Get a locked price quote for registering a domain, without purchasing anything." It clearly distinguishes this from the subsequent purchase step by calling itself "Step 1 of the two-step purchase flow," which separates it from the sibling prepare/registration tool.
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?
The description gives clear context: it is step 1 of a two-step flow, and instructs the agent to "Show the quote to the human before doing anything else." This implicitly orders use before preparation/purchase, but it does not explicitly name alternatives or state when not to use the tool, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
domains_listB
List domain resources in the tenant portfolio (paginated). Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| pageSize | No | Page size | |
| pageToken | No | Opaque pagination cursor from a previous call |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral burden. 'Read-only' discloses the safety profile and 'paginated' implies a paging behavior, which is helpful. However, it doesn't describe return structure, ordering, or error behavior, leaving some uncertainty for an agent.
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 short sentences with zero filler; front-loads the core action and safety trait. Every word 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 simple read-only list with fully documented optional parameters, the description gives an agent enough to call it correctly. It lacks explicit return-format or default-value details, but that is a minor gap given the tool's low complexity and no output schema.
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%, so the baseline is 3. The description's mention of 'paginated' aligns with pageSize/pageToken but adds no semantic detail beyond the schema's own parameter descriptions.
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?
Description states a clear verb+resource ('List domain resources') and adds scope and pagination information. However, it doesn't explicitly differentiate from sibling tools like domains_check_availability or domains_suggest, so it's clear but not fully distinguishing.
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?
No guidance on when to choose this over sibling tools; it doesn't mention alternatives or exclusions. The only contextual hint is 'Read-only', but it doesn't say when a read-only list is preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
domains_prepare_registrationA
Prepare (never execute) a domain registration: returns the safety-checked plan only. Step 2 of the two-step purchase flow. Show the plan, with the locked total and fee, to the human first. Note: the ThatMgmt API does not expose an execute endpoint for this action (purchase, renewal, transfer, and DNS changes are never executed by the API). This tool returns the validated plan only. Show the locked price to the human first.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Fully qualified domain name, e.g. example.com | |
| period | No | Registration period in years (default 1) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does so thoroughly. It discloses that the tool never executes the registration, that the API has no execute endpoint, and that purchase/renewal/transfer/DNS changes are never executed. It also reveals the return behavior: a safety-checked/validated plan with locked total and fee.
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 somewhat repetitive: 'returns the safety-checked plan only' and 'returns the validated plan only' say the same thing, and 'Show the plan... to the human first' is stated twice. The core message is front-loaded, but several sentences could be merged without losing information.
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?
Given there is no output schema, the description does a good job of explaining what is returned (a plan with locked total and fee) and the critical non-execution behavior. It could be more specific about the plan's structure or next steps after showing it to the human, but the information is sufficient for safe use.
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%, so the schema already documents both parameters (domain and period). The description adds no additional parameter-specific meaning, only mentioning the locked total and fee which are output concepts rather than parameter semantics.
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 states a specific verb and resource: 'Prepare (never execute) a domain registration: returns the safety-checked plan only.' It explicitly contrasts this tool with an execution step and positions it as 'Step 2 of the two-step purchase flow,' which distinguishes it from sibling tools like domains_get_quote and domains_check_availability.
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?
The description provides clear context by identifying this as Step 2 of the purchase flow and instructs the agent to 'Show the plan... to the human first.' It does not explicitly name alternative tools or state when not to use it, but the non-execution warning and two-step framing make the intended context clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
domains_suggestB
Suggest alternative domain names for a search query. Read-only. Optionally filter by comma-separated TLDs, e.g. "com,io".
| Name | Required | Description | Default |
|---|---|---|---|
| tlds | No | Comma-separated TLD filter, e.g. com,io | |
| query | Yes | Search query, e.g. a brand name | |
| pageSize | No | How many suggestions to return |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden and does state 'Read-only', which is a meaningful safety signal. However, it does not disclose return format, pagination/default page size, or possible absence of results, leaving the agent to guess at behavior beyond the read-only claim.
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 short sentences, no filler, with the core purpose front-loaded and the modifier (read-only, optional TLD filter) placed after. Every word 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 3-parameter read-only tool with no output schema and no annotations, the description covers purpose, safety, and the one non-obvious parameter nuance, but leaves response shape and default behavior unexplained. It is adequate but has clear gaps given the missing output schema.
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%, so the schema already documents all three parameters. The description adds marginal value by re-emphasizing the optionality and comma-separated format of tlds, but this largely duplicates the schema's own parameter descriptions.
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 verb and resource — 'Suggest alternative domain names for a search query' — which clearly conveys the operation. It implicitly distinguishes from siblings like domains_check_availability and domains_list, though it does not name any 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?
No guidance is given on when to use this tool versus alternatives such as domains_check_availability or domains_get_quote, nor any exclusions. The only usage hint is the optional TLD filter, which is parameter-level detail rather than tool-selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
offeringsA
Reseller offering coverage matrix: every supplier family, its exposed routes, entitlement state, and write-gating. Read-only. Useful to see what this tenant is entitled to.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description bears the full disclosure burden. It does state the read-only nature explicitly, which is the most safety-relevant trait. But it says nothing about return format, response size, pagination, or performance for what could be a large coverage matrix, leaving behavioral expectations incomplete.
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?
Three short sentences with the core purpose front-loaded in the first sentence. Every clause earns its place, and the read-only plus use-case framing is efficient. Minor redundancy between 'coverage matrix' and listing the fields, but no meaningful waste.
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 parameterless tool with no output schema, the description's job is largely to convey what is returned and why it matters. It covers the return content and the entitlement use case adequately. It could mention the response shape, but given the zero-parameter simplicity, the description is near-complete.
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?
With 0 parameters and additionalProperties=false, the schema coverage is 100% and there is nothing for the description to elaborate on parameter meaning. Per baseline, a 0-param tool is scored 4; the description adds value by explaining what the returned data conceptually represents (supplier families, routes, entitlement, write-gating).
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 (offerings) and the specific content: 'every supplier family, its exposed routes, entitlement state, and write-gating.' It reads as a listing/coverage tool distinct from sibling tools like domains_dns and portfolio_health, which target different domains. The verb is implicit rather than stated ('matrix' implies get/list), which keeps it a half-step shy of a 5.
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?
'Useful to see what this tenant is entitled to' gives a broad usage context, and the read-only emphasis implies it is safe for inspection purposes. However, there is no explicit when-to-use vs. when-not-to guidance, and no alternative sibling tool is named, so an agent must infer routing from the domain keywords alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
portfolio_exceptionsA
Prioritized operator exception queue derived from portfolio health (expiring certificates, commerce issues). Read-only, GET-only.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It explicitly states 'Read-only, GET-only' which covers safety and method. It also mentions 'Prioritized' indicating ordering behavior. It does not detail response format or error handling, but for a zero-parameter GET tool this is sufficient. No contradictions exist.
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, dense sentence that front-loads the purpose and includes the key behavioral trait (read-only). Every word earns its place; no fluff or redundancy. It is exceptionally concise while remaining informative.
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 tool with no parameters and no output schema, the description is complete. It explains what the tool returns (an exception queue), how it is derived, and that it is read-only. The agent has enough information to invoke it correctly without further elaboration.
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 zero parameters, so there is nothing to document. The baseline for 0 params is 4. The description adds no param-specific information, but none is needed. The schema is empty and covered 100% by default, so this dimension is satisfied.
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 tool as a prioritized exception queue derived from portfolio health, and specifies the types of issues (expiring certificates, commerce issues). It also states it is read-only and GET-only, distinguishing it from potential write tools. This is a specific verb-like resource description with clear scope.
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?
The description implies the tool is for retrieving exceptions, but does not explicitly state when to use it versus siblings like portfolio_health or portfolio_renewal_risk. No when-not guidance or alternative routing is provided. The derivation from portfolio health gives some context, but the agent must infer the intended use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
portfolio_healthA
Domain portfolio health summary for the tenant. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the disclosure burden. It explicitly states the operation is read-only, which is an important safety-relevant behavioral trait. It does not mention output format or data sources, but for a no-parameter health summary, this is reasonable disclosure.
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 two short sentences with no filler or repetition. 'Domain portfolio health summary for the tenant' is front-loaded and the 'Read-only' note is a clear standalone behavioral qualifier.
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?
The tool is simple and has no parameters, so the description is not wildly incomplete. However, with no output schema and no differentiation from sibling portfolio tools, an agent still does not know what the summary returns or when to prefer this tool over portfolio_renewal_risk or portfolio_exceptions. This leaves meaningful gaps for tool selection.
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 input schema has no properties and there are zero parameters, so there is nothing for the description to explain. The baseline score of 4 applies because no parameter semantics are needed.
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 states the tool's purpose: it provides a domain portfolio health summary for the tenant. It is specific about the resource and type of information, but it does not explicitly differentiate itself from sibling tools like tmgmt_health, portfolio_renewal_risk, or portfolio_exceptions.
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 guidance about when to use this tool versus alternatives or when not to use it. An agent gets no context about whether to choose portfolio_health over portfolio_renewal_risk or portfolio_exceptions, so the description leaves usage entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
portfolio_renewal_riskA
Renewal-risk view over the domain portfolio: which domains need attention before they expire. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It explicitly states 'Read-only', which is a useful safety signal, but it does not disclose output format, data source, or freshness. For a zero-parameter view, the read-only declaration is meaningful but minimal.
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 that conveys purpose and safety without redundancy. Every word contributes meaning.
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 view, the description is nearly complete: it tells the agent what the tool does, what it surfaces, and that it is safe. A short note on output shape or sorting would make it fully complete, but nothing essential is missing for correct invocation.
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 input schema is empty and there are zero parameters, so the schema fully describes invocation requirements. The description adds no parameter details, but none are needed; baseline 4 applies for zero-parameter tools.
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 (domain portfolio) and the tool's purpose: surfacing domains at renewal risk before they expire. This semantically distinguishes it from siblings like domains_list or portfolio_health, though it does not explicitly name those alternatives.
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?
The phrase 'which domains need attention before they expire' implies this tool is for pre-expiry renewal triage. However, it does not explicitly say when to prefer this tool over similar siblings like portfolio_health or portfolio_exceptions, nor does it provide exclusion conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tmgmt_healthA
Check that the ThatMgmt API is reachable. No API key needed. Use it to verify setup.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral burden. It does disclose that no API key is needed and that the tool is a reachability check, but it does not describe the expected response format, error behavior, or what 'reachable' means operationally.
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 three short sentences with no filler. The main action is front-loaded, and each sentence adds distinct value: what it does, the auth requirement, and when to use it.
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 health-check tool, the description covers purpose, setup verification, and auth. A minor gap is the lack of any mention of return values or success/failure indicators, especially since there is no output schema to clarify those details.
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 zero parameters, so the baseline is 4. The description adds the relevant context that no API key is needed, which is effectively the only 'input' consideration for this tool. Nothing else is required.
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 verb ('Check') and resource ('ThatMgmt API') with a clear scope: reachability. This distinguishes it from sibling tools like portfolio_health and domains_dns, which target different resources or concerns.
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?
The description gives a clear context for use ('verify setup') and notes the auth requirement ('No API key needed'). It does not explicitly mention when not to use it or name alternatives, but for a simple health-check tool the guidance is sufficient.
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.
11 tool updates
v0.1.0- First observed
domains_check_availability - First observed
domains_dns - First observed
domains_get_quote - First observed
domains_list - First observed
domains_prepare_registration - First observed
domains_suggest - First observed
offerings - First observed
portfolio_exceptions - First observed
portfolio_health - First observed
portfolio_renewal_risk - First observed
tmgmt_health
TDQS
Scored across 11 tools
Most tools are cleanly separated by domain_ versus portfolio_ prefixes and explicit actions. The main risk is confusion between the quote and prepare-registration steps, and among the three portfolio summary tools, but the descriptions clarify their distinct roles.
The domains_ and portfolio_ prefixes create a predictable snake_case pattern, and verb phrases like check_availability and get_quote are clear. Minor outliers are tmgmt_health and offerings, which break the prefix pattern.
Eleven tools is a reasonable count and the set is scoped around domain portfolio analysis and registration planning. It feels slightly heavier than necessary because portfolio_health, portfolio_renewal_risk, and portfolio_exceptions overlap in purpose.
The set covers health checks, portfolio risk, availability, suggestions, quotes, and registration preparation well. However, purchase, renewal, transfer, and DNS changes are explicitly non-executable, so real management workflows dead-end at human handoff.
Maintenance
Related MCP Connectors
Domain search, registration, DNS, marketplace, and checkout with your AI agent.
Buy & manage domains from any AI chat: availability, register, DNS, email forwarding, AI bot stats.
- DoDomainOAuthio.dodomain
Connect custom domains via AI agents: DNS pre-flight checks, hand-off connect sessions and checks.
Domain registration for AI agents via Stripe or x402 crypto with Cloudflare DNS.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to check domain availability across multiple TLDs with real-time pricing, brainstorm creative domain names, analyze domains for brandability and SEO potential, and search for domains by price and category without CAPTCHAs.5 npm3MIT
- AlicenseAqualityDmaintenanceEnables AI agents to check domain availability, perform batch domain lookups, and generate intelligent domain name suggestions across multiple TLDs using WHOIS integration.3MIT

Name.com MCP Serverofficial
AlicenseNot gradedqualityAmaintenanceEnables AI assistants to perform comprehensive domain management tasks through the Name.com API, including registration, DNS management, and transfers. It dynamically generates tools from the OpenAPI specification to facilitate natural language interaction with all Name.com services.23 npm3MIT- AlicenseAqualityDmaintenanceEnables AI agents to check domain availability, purchase domains via Stripe, and perform full DNS and nameserver management. It facilitates automated domain lifecycle tasks like record updates and transfer locks without requiring CAPTCHAs.1MIT