Skip to main content
Glama
sinianchu9

DomainRoc MCP Server

by sinianchu9

DomainRoc MCP Server — AI Domain Availability & USDT Price Lookup

简体中文 · Security · DomainRoc AI Agent Preview

Experimental · Read-only · No automated purchases

An open-source Model Context Protocol (MCP) server that lets AI assistants check domain name availability and available USDT registration quotes using DomainRoc's existing public domain search API. No account credentials, registrar keys, checkout automation, or changes to DomainRoc's production code.

AI-ready domain search, not AI-controlled domain purchases. When others are debating whether to block AI agents, DomainRoc is experimenting with a bounded way to work with them.

What it does

MCP tool

Behavior

check_domain(domain)

Queries a single domain using DomainRoc's existing public read-only API; returns a confirmed status, an available first-year USDT quote if reliable, and the official website search URL.

  • Uses the same public search route as the website: GET https://www.domainroc.com/api/public/domains/check?domain=....

  • Availability is available, unavailable, or unknown. Blocked, restricted, manual-review, failed, and ambiguous results must not be misrepresented as available.

  • price_usdt is a preview, not a binding checkout price. Recheck it at checkout.

  • The purchase_url points to DomainRoc's domain search page, not a pre-filled order or payment session. Users manually search and buy on the official site.

Related MCP server: Domain Checker MCP Server

Quick start — local stdio

Python 3.11+:

git clone https://github.com/sinianchu9/domainroc-mcp-server.git
cd domainroc-mcp-server
python -m pip install -e .
domainroc-mcp

The process communicates over MCP stdio. It does not open a public port, and it normally prints nothing until an MCP client connects.

Connect from an MCP-compatible AI client

Example client configuration (field names vary by client):

{
  "mcpServers": {
    "domainroc": {
      "command": "domainroc-mcp",
      "args": []
    }
  }
}

Restart your MCP client, then ask:

Check whether example.com is available through DomainRoc. If the quote is unavailable, say so; do not invent a price.

The example domain is illustrative, not a claim about live inventory. The client must support local stdio MCP servers; publishing this repository does not automatically make the tool discoverable in every AI app.

One-command real MCP demo

The repository includes an independent official MCP Python SDK client. Once installed, it launches the stdio server, discovers check_domain, calls the live read-only search endpoint, prints the JSON result, and shuts down cleanly.

python examples/demo_stdio.py --domain example.com

Verified 2026-10-11 (UTC): the protocol demo returned unavailable for example.com, available with a time-specific USDT reference quote for a test domain, and unknown for an invalid URL. See actual timestamped responses. These are historical observations, not a live inventory claim. This verifies MCP stdio interoperability with the official SDK, not AI-client-native compatibility.

DomainRoc AI Agent Preview: https://www.domainroc.com/en/ai-agent-domain-search

Industry perspective: https://www.domainroc.com/en/blog/block-ai-or-build-with-it-domainroc

Example response shape

{
  "domain": "sample-project.com",
  "status": "unknown",
  "available": null,
  "price_usdt": null,
  "currency": "USDT",
  "purchase_url": "https://www.domainroc.com/en/domains",
  "checked_at": "2026-10-11T00:00:00+00:00",
  "cached": false,
  "reason": "upstream_unavailable",
  "note": "No confirmed availability or price. Search and checkout on the official website."
}

This is a synthetic error-format example, not a live search result.

Guardrails / safety

  • Only one tool; no domain registration, ordering, USDT transfer, wallet action, DNS modification, or user session access.

  • Input must be a valid ASCII domain name (internationalized names can be supplied in their xn--/IDNA form); no arbitrary URLs.

  • Fixed HTTPS host and endpoint; redirects and environment proxy inheritance disabled.

  • Built-in per-process budget: max 5 outbound checks/minute, 200 checks/rolling 24h, at most 2 in-flight requests, and 45-second confirmed-result cache.

  • 8-second network timeout; failures become unknown, never available.

  • Local stdio only in this preview. The built-in budget is not a distributed abuse-prevention solution. Do not expose this server directly to the Internet without a separate authenticated gateway, shared quotas, logging, and security review.

See SECURITY.md.

Development and tests

python -m pip install -e ".[dev]"
pytest -q

Tests use HTTP mocks and never submit real registrations or payments.

Why this exists

Block AI or build with it? DomainRoc's experimental answer is to allow narrowly scoped, verifiable, user-initiated AI-assisted domain search. Responsible access controls and opposition to abusive scraping are fully compatible with useful AI agents.

English search topics: domain MCP server, AI domain availability checker, domain registration API, domain price lookup, domain search for AI agents, USDT domain registration.

中文关键词: 域名查询 MCP、AI 域名查询、域名注册 API、USDT 购买域名、AI Agent 域名接口。

This is a technical demonstration, not a claim that DomainRoc offers autonomous AI domain purchasing.

License

MIT. No affiliation with the Model Context Protocol maintainers is implied.

Available Tools

1 tool
check_domainAInspect

Check a single domain's confirmed availability and first-year USDT preview price.

Input: a fully-qualified DNS domain, e.g. example.com (IDN in xn-- ASCII form). Returns unknown if upstream fails, restricts the domain, or requires manual review. Does not create orders, charge accounts, or register domains.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYes

TDQS

A4.5/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 meaningful work: it declares the tool is side-effect free (no orders, no charges, no registration) and discloses the failure mode — 'unknown' when upstream fails, restricts the domain, or requires manual review. It omits auth/rate-limit context, which keeps it below a 5.

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?

Four short sentences, front-loaded with the core capability, then input format, then return/failure semantics, then the negative scope. Every sentence carries distinct information and none restate the tool name or schema.

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?

There is no output schema, so the description must describe results — and it does, covering both the success payload (availability + first-year USDT price) and the 'unknown' fallback condition. For a single-parameter read-only lookup, nothing an agent needs before calling is missing.

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 single parameter has 0% schema description coverage, so the description must compensate, and it does: it specifies a fully-qualified DNS domain, gives 'example.com' as a concrete example, and notes IDN must be in xn-- ASCII form. That is real format guidance beyond the bare 'domain' string type, though it doesn't cover edge cases like trailing dots or length limits.

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 precise verb and resource ('Check a single domain') and names exactly what it returns: confirmed availability plus a first-year USDT preview price. The 'single domain' scope and the negative clause ('Does not create orders, charge accounts, or register domains') make the boundary against ordering tools unmistakable even though no siblings are listed.

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 makes the use case clear (pre-purchase availability/price lookup) and explicitly rules out adjacent operations by stating it does not create orders, charge accounts, or register domains. It stops short of naming a companion ordering tool or stating prerequisites, but the when/when-not split is present.

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. 1 tool updatev0.1.0
    • First observedcheck_domain

TDQS

A4.4/5.0

Scored across 1 tool

Disambiguation5/5

Only one tool is present, so there is no overlap or possibility of misselection. Its purpose is clearly stated as checking a single domain's availability and price.

Naming Consistency5/5

The single tool name check_domain follows a clear verb_noun convention. With only one tool, there is no inconsistency in style or pattern.

Tool Count3/5

The server has only one tool, which is thin even for a focused domain-availability service. It is arguably sufficient for the narrow stated purpose, but the surface feels under-scoped.

Completeness3/5

The core single-domain availability check is covered, but notable adjacent operations such as bulk checks, TLD exploration, or richer domain lookup are absent. The tool explicitly excludes order creation and registration, so lifecycle coverage is intentionally incomplete.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Enables AI agents to perform WHOIS lookups to retrieve domain registration details, including ownership, registration dates, and availability status without requiring browser searches.
    4
    33 npm
    21
    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
    Not graded
    maintenance
    Enables users to check domain name availability across 877 TLDs, generate intelligent suggestions, and retrieve WHOIS registration information. It supports bulk domain checks and cross-TLD searches through natural language interfaces.
    0
    -
  • A
    license
    A
    quality
    B
    maintenance
    Confidence-scored domain availability checking for AI agents via real-time DNS and WHOIS lookups. Bulk check up to 100 domains, WHOIS enrichment, and quota monitoring. All tools are read-only.
    3
    1
    MIT