Skip to main content
Glama

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/thingscorp/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/thingscorp/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 test

Optional: 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:

  1. Quote. Call domains_get_quote. It returns the locked price: wholesaleCents, the itemized 1% cut (platformCutCents, platformCutBasisPoints), and totalCents. No key needed. Show this to the human.

  2. Plan. Call domains_prepare_registration (needs TMGMT_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

tmgmt_health

Liveness check

GET /health/live

No

tmgmt_capabilities

Discover the public no-auth surface

GET /v1/public/capabilities

No

domains_check_availability

Check if a domain is available

GET /v1/public/availability

No

domains_get_quote

Locked price quote: wholesale + itemized 1% cut + total (step 1)

GET /v1/public/quote

No

domains_suggest

Suggest alternative names

GET /v1/domains/suggestions

Yes

domains_prepare_registration

Safety-checked plan, never executes (step 2)

GET /v1/domains/prepare-registration

Yes

domains_list

List portfolio domains

GET /v1/domains

Yes

domains_dns

Inspect DNS records for a domain

GET /v1/domains/{resourceId}/dns

Yes

portfolio_health

Portfolio health summary

GET /v1/portfolio/health

Yes

portfolio_renewal_risk

Renewal-risk view

GET /v1/portfolio/renewal-risk

Yes

portfolio_exceptions

Prioritized exception queue

GET /v1/portfolio/exceptions

Yes

orders_dry_run

Full order plan with itemized pricing, never moves money

POST /v1/orders/dry-run

Yes

offerings

Offering coverage matrix

GET /v1/offerings

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 calls

Registry

server.json is the manifest for the official MCP registry (io.github.thingscorp/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

13 tools
domains_check_availabilityA

Check whether a domain name is available to register. Read-only, no API key needed: this uses the public endpoint, so any agent can try it with zero signup. Pass the fully qualified domain name, e.g. "example.com".

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesFully qualified domain name, e.g. example.com

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations, the description carries the full burden, and it does disclose meaningful traits: read-only operation, no API key requirement, and use of a public endpoint. It omits rate limits, behavior on malformed input, and whether results are cached, so it is solid but not exhaustive.

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

Conciseness4/5

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

Front-loaded with the core action and three tight sentences. The final sentence largely duplicates the schema's own example, which is mild redundancy rather than a structural flaw.

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

Completeness4/5

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

For a single-parameter, annotation-free tool with no output schema, the description covers the essential invocation facts. The one remaining gap is the shape of the result (availability boolean vs. richer status), which an agent must infer.

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

Parameters3/5

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

Schema coverage is 100% and the description only restates the schema's example ('example.com') without adding format, TLD, or normalization details. Baseline 3 applies when the schema already documents the single parameter.

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

Purpose4/5

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

States a specific verb and resource ('check whether a domain name is available to register'), which implicitly separates it from pricing/registration siblings like domains_get_quote and domains_prepare_registration. It does not explicitly name a sibling it is not, so it falls short of the 5 bar.

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

Usage Guidelines3/5

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

It tells the agent it can call this with zero signup, which sets the context, but gives no explicit when/when-not guidance or routing to alternatives (e.g., price lookup after availability, or domains_suggest for generating candidates). Usage is only implied.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoRecord name filter
typeNoRecord type filter, e.g. A, CNAME
resourceIdYesServer-side domain resource id

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of 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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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 the locked price quote for registering a domain: wholesale plus the itemized 1% platform cut, printed plainly as wholesaleCents, platformCutCents, platformCutBasisPoints, and totalCents. Read-only, no API key needed: this uses the public endpoint, so any agent can try it with zero signup. Nothing is purchased.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesFully qualified domain name, e.g. example.com
periodNoRegistration period in years (default 1)

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it states read-only, public-endpoint/no-auth, and no-purchase semantics, which are the traits an agent most needs before calling. It does not cover rate limits, error behavior, or quote validity/TTL, which would matter for a 'locked quote'.

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

Conciseness4/5

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

Front-loads the core purpose and the pricing breakdown, then appends the safety guarantees. Slightly dense with enumerated output field names, but every clause carries usable information rather than filler.

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

Completeness5/5

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

With no output schema, the description compensates by naming the exact return fields (wholesaleCents, platformCutCents, platformCutBasisPoints, totalCents) and the 1% platform cut, and it covers the auth/side-effect profile. For a 2-parameter read-only pricing tool, nothing essential is missing.

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

Parameters3/5

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

Schema coverage is 100%, so the domain and period parameters are already documented in the schema (including the 'default 1' note). The description mentions no input parameters at all, adding nothing beyond schema; baseline 3 applies.

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

Purpose5/5

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

Specific verb ('Get') plus precise resource ('locked price quote for registering a domain') and the exact breakdown returned. It is clearly distinguishable from siblings like domains_prepare_registration and domains_check_availability, which do not return pricing.

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

Usage Guidelines4/5

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

Explicitly frames the safe, zero-friction use case ('Read-only, no API key needed... any agent can try it with zero signup') and rules out the feared side effect ('Nothing is purchased'). It stops short of naming a sibling alternative (e.g. when to prefer domains_prepare_registration), so it lacks explicit when-not guidance.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageSizeNoPage size
pageTokenNoOpaque pagination cursor from a previous call

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesFully qualified domain name, e.g. example.com
periodNoRegistration period in years (default 1)

TDQS

A4.2/5.0
Behavior5/5

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.

Conciseness3/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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".

ParametersJSON Schema
NameRequiredDescriptionDefault
tldsNoComma-separated TLD filter, e.g. com,io
queryYesSearch query, e.g. a brand name
pageSizeNoHow many suggestions to return

TDQS

B3.3/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

orders_dry_runA

Plan a domain order in one call: register, renew, or transfer. Returns the full plan with itemized pricing (wholesale plus the platform fee as separate lines), the readiness checklist with machine-readable reason codes, what is still gated, and the next steps. The total shown is the locked total your approval binds to. Never moves money and never touches the supplier. For transfers, pass authCodePresent: true to show you hold the authorization code; the API never accepts the raw code. 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
fqdnYesFully qualified domain name, e.g. example.com
actionYesThe order action to plan
periodYearsNoRegistration/renewal period in years, 1-10 (default 1)
authCodePresentNoTransfer only: true when you hold the transfer authorization code. The raw code is never sent; the API rejects it.

TDQS

A4.4/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and delivers: never moves money, never touches the supplier, the total is the locked price approval binds to, and the API exposes no execute endpoint for these actions. This is unusually strong disclosure of side-effect and safety boundaries.

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

Conciseness4/5

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

Front-loads the purpose and return content, then layers safety and next steps. Dense and mostly purposeful, though the 'returns the validated plan only' and 'never executed by the API' points overlap slightly, adding minor redundancy.

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

Completeness5/5

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

With no output schema, the description fully describes the return payload: itemized pricing lines, readiness checklist with reason codes, gating status, and next steps. An agent has everything needed to call and interpret the result.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all four parameters. The description reinforces authCodePresent semantics ('raw code is never sent') but adds little syntactic or format detail beyond the schema, which is the expected baseline when the schema does the heavy lifting.

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

Purpose5/5

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

States a specific verb (plan) and resource (domain order) with the three actions it covers (register, renew, transfer). An agent can distinguish this from siblings like domains_get_quote or domains_prepare_registration, since it explicitly frames itself as a full multi-action plan in one call.

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

Usage Guidelines4/5

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

Gives clear usage context: show the locked price to the human first, and pass authCodePresent:true for transfers. It does not explicitly name when to prefer an alternative sibling (e.g. domains_get_quote) or state exclusions, so it falls 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.

portfolio_exceptionsA

Prioritized operator exception queue derived from portfolio health (expiring certificates, commerce issues). Read-only, GET-only.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of 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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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_capabilitiesA

Discover what you can do without signing up: the machine-readable list of every public no-auth route with its parameters. No API key needed. Start here if you are unsure.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it does disclose the most important trait: no API key is required, and everything listed is a public no-auth route. It does not clarify return shape, rate limits, or whether the list can change, so behavioral coverage is adequate but incomplete.

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

Conciseness4/5

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

Front-loaded with the core value proposition and padded only with two short supporting fragments ('No API key needed', 'Start here if you are unsure'). Every clause is relevant, though the sentence is slightly fragmented rather than perfectly tight.

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

Completeness4/5

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

With no parameters, no annotations, and no output schema, the description supplies enough to call it: what it returns (public no-auth routes with their parameters) and the auth precondition. The absence of any note on response format is minor for a zero-argument discovery endpoint.

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

Parameters4/5

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

The tool takes zero parameters, so the baseline is 4. The description correctly implies it is called with no arguments and needs no auth, and there are no parameters whose meaning could be left ambiguous.

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

Purpose4/5

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

Names a specific resource and output: 'the machine-readable list of every public no-auth route with its parameters.' This is clearly a discovery/capabilities tool and is distinguishable from functional siblings like domains_get_quote or orders_dry_run. It stops short of explicitly naming a sibling it complements, which would push it to a 5.

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

Usage Guidelines4/5

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

'Start here if you are unsure' gives a concrete condition for reaching for this tool before others. However, it never states when NOT to use it or names an alternative path once you are no longer unsure, so the routing guidance is contextual rather than explicit.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

  1. 3 tool updatesv0.2.1
    • Changeddomains_check_availability1 field changed
      • removedInput schema / properties / optimizeFor
        Removed value: -{
        -  "description": "SPEED or ACCURACY",
        -  "enum": [
        -    "SPEED",
        -    "ACCURACY"
        -  ],
        -  "type": "string"
        -}
    • Addedorders_dry_run
    • Addedtmgmt_capabilities
  2. 11 tool updatesv0.1.0
    • First observeddomains_check_availability
    • First observeddomains_dns
    • First observeddomains_get_quote
    • First observeddomains_list
    • First observeddomains_prepare_registration
    • First observeddomains_suggest
    • First observedofferings
    • First observedportfolio_exceptions
    • First observedportfolio_health
    • First observedportfolio_renewal_risk
    • First observedtmgmt_health

TDQS

A3.8/5.0

Scored across 13 tools

Disambiguation3/5

Most tools are distinct, but orders_dry_run, domains_prepare_registration, and domains_get_quote all produce pricing/validated plans for registration, so an agent could easily pick the wrong one. The portfolio_health/renewal_risk/exceptions trio also shades into overlapping 'portfolio view' territory, though their names help differentiate them.

Naming Consistency4/5

Strong predictable prefix_noun snake_case pattern (portfolio_*, domains_*, orders_*, tmgmt_*), with only minor deviations like the bare 'offerings' and the tmgmt_ vs thatmgmt- prefix mismatch at the server level.

Tool Count5/5

13 tools sits comfortably in the ideal 3-15 range and each tool maps to a distinct capability (discovery, health, availability, DNS, quoting, planning, portfolio views) without obvious padding.

Completeness4/5

The read-only/planning surface is well covered (list, DNS inspect, availability, suggestions, quoting, portfolio health/risk/exceptions, capability and health checks), but there is no single-resource 'get domain' tool and no certificate lifecycle tooling, leaving minor gaps.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables 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 npm
    3
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables AI agents to check domain availability, perform batch domain lookups, and generate intelligent domain name suggestions across multiple TLDs using WHOIS integration.
    3
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables 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.
    67 npm
    3
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables 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.
    1
    MIT