Koskamo

DomChecker MCP

An open MCP server providing read-only tools for checking domain availability, WHOIS data, DNS records, and site facts directly from registries like RDAP and WHOIS, supporting bulk checks and various TLDs without requiring authentication.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

DomChecker MCP logo, by DomCheckerVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-01Operated by DomChecker
MCP endpoint (Streamable HTTP)
https://domchecker.ru/mcp
Vendor documentation

What you can do with it

  • Check if a domain is available for registration
  • Retrieve WHOIS details like registrar and expiry dates
  • Fetch DNS records including SPF and DMARC
  • Get site facts such as domain age and hosting network

Source and maintenance

Vendor evidenceRegistry 2.8.0

Protocol and capabilities

Server
domchecker 2.9.d1f80138
MCP protocol
2025-06-18
Tools
9 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Проверка занятости доменов в реальном времени: RDAP, WHOIS и DNS, любая зона — .ru, .рф, .com, .io, .co.uk и прочие. Один домен — check_domain. Несколько — check_domains (до 50 за вызов, так быстрее, чем по одному). Имён сервер НЕ придумывает: варианты придумывайте сами и присылайте списком в check_domains — он скажет, какие из них свободны. Это и есть его работа: придумать имя вы умеете, а знать, занято ли оно, — нет. Отвечайте по полученным данным: придуманный домен может оказаться занятым. В ответе есть источник и уверенность — по ним видно, чем именно проверено. Состояние читайте по машинному полю status: available, taken, reserved, premium, invalid, unsupported, unknown, error. Свободным считается ТОЛЬКО available; reserved и premium — это не «свободен», а invalid означает, что строка вообще не является доменным именем (адрес почты, маска, лишняя точка) и проверять в реестре было нечего. Поддомен отдельно не регистрируется: на «sub.example.com» ответ придёт про example.com, и в строке будут поля «поддомен» и «вы_прислали». Зона без имени («co.uk») — это invalid, покупать там надо имя в ней. Зоны .ru и .рф не имеют RDAP и проверяются по одному имени за раз — длинный список в этих зонах отвечает медленнее; если в ответе есть поле «не_успели», позовите инструмент ещё раз с этим остатком. Сервис бесплатный и открытый, поэтому есть предел частоты: 120 доменов в минуту и 600 в час с адреса. Сломалось или не хватает В САМОМ ЭТОМ СЕРВЕРЕ (кривое описание, недостающий параметр, отказ без причины, непонятная памятка) — скажите об этом через feedback_add, не ограничиваясь жалобой в ответе человеку: ответ он прочитает и забудет, запись дождётся разбора. feedback_list показывает, что уже сообщено и что человек ответил.

Tools

9 advertised

check_domain — Проверить один домен
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Свободен домен или занят — по-настоящему, запросом в реестр, а не по словарю. Годится любая зона: .ru, .рф, .com, .io, .co.uk и остальные. Имя можно давать как угодно — «example.com», «https://example.com/page», «пример.рф»: лишнее отбрасывается, кириллица переводится в punycode. Без зоны (просто «пример») проверяется .ru и заодно популярные зоны с тем же именем.

check_domain input schema
{
  "type": "object",
  "required": [
    "domain"
  ],
  "properties": {
    "domain": {
      "type": "string",
      "description": "домен, например example.com или пример.рф"
    }
  }
}
check_domain annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
check_domains — Проверить список доменов
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

То же самое сразу для списка, до 50 имён за вызов. Зовите его, когда доменов больше одного: список проверяется одним заходом и заметно быстрее, чем по одному. Что не поместилось — названо в ответе, а не отброшено молча.

check_domains input schema
{
  "type": "object",
  "required": [
    "domains"
  ],
  "properties": {
    "domains": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "список доменов, до 50"
    },
    "only_available": {
      "type": "boolean",
      "description": "оставить в ответе только свободные"
    }
  }
}
check_domains annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
search — Проверить домены из текста
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Достаёт доменные имена из произвольного текста и проверяет каждое. Если зона не названа (просто слово) — проверяет это имя в популярных зонах: .ru, .com, .net, .org и прочих. Имена НЕ придумывает: проверяет ровно то, что названо. Варианты придумывайте сами и присылайте списком в check_domains.

search input schema
{
  "type": "object",
  "required": [
    "query"
  ],
  "properties": {
    "query": {
      "type": "string",
      "description": "домен, несколько доменов через пробел или имя без зоны"
    }
  }
}
search annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
whois_domain — WHOIS домена
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Запись реестра об одном домене: регистратор, дата регистрации и возраст, срок регистрации (у .ru/.рф/.su — «оплачен до», у остальных — срок в реестре, который реестр сам сдвигает автопродлением), когда освободится (.ru/.рф/.su — поле free-date), серверы имён, статусы, владелец — только если реестр его раскрывает (частные лица в .ru и почти все .com скрыты). Данные берутся у реестра по RDAP или WHOIS; карточка кэшируется до часа.

whois_domain input schema
{
  "type": "object",
  "required": [
    "domain"
  ],
  "properties": {
    "domain": {
      "type": "string",
      "description": "домен, например example.ru или пример.рф"
    }
  }
}
whois_domain annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
dns_records — DNS-записи домена
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

A, AAAA, CNAME, MX, NS, TXT, SOA, CAA одного имени (домена или поддомена) и есть ли SPF и DMARC. Ответ публичного резолвера (Cloudflare, запасной Google) с его кэшем: свежая правка зоны видна через TTL. NXDOMAIN — имени в DNS нет.

dns_records input schema
{
  "type": "object",
  "required": [
    "domain"
  ],
  "properties": {
    "domain": {
      "type": "string",
      "description": "домен или поддомен, например mail.example.ru"
    }
  }
}
dns_records annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
site_facts — Факты о сайте по домену
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Факты для оценки незнакомого сайта: возраст и срок регистрации домена, скрыт ли владелец, регистратор, действует ли HTTPS-сертификат, чья сеть хостинга, настроены ли SPF и DMARC. У каждого факта тон obychno или vnimanie и пояснение. Вердикта «мошенник/честный» сервер не выносит и на вирусы не проверяет — не делайте из этих фактов окончательного вывода.

site_facts input schema
{
  "type": "object",
  "required": [
    "domain"
  ],
  "properties": {
    "domain": {
      "type": "string",
      "description": "адрес сайта, например shop-example.ru или https://www.shop.ru/"
    }
  }
}
site_facts annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
fetch — Карточка домена
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Один домен подробно, документом со ссылкой — для цитирования в ответе.

fetch input schema
{
  "type": "object",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "домен"
    }
  }
}
fetch annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
feedback_add — Сообщить о проблеме или нужной доработке сервера
Advertised by the server during the last successful anonymous check.
Open-world

ОБРАТНАЯ СВЯЗЬ О САМОМ ЭТОМ СЕРВЕРЕ, а не о доменах. Зовите, когда инструмент повёл себя не так, как обещает описание; когда не хватило параметра или поля в ответе; когда отказ пришёл без внятной причины; когда описание непонятно. Пишите КОНКРЕТНО: имя инструмента, что звали, что ждали, что получили — читать это будет человек, и по «не работает» он не поймёт, что чинить. Повторная жалоба о том же не плодит запись, а поднимает счётчик: повторяться не стыдно.

feedback_add input schema
{
  "type": "object",
  "required": [
    "title"
  ],
  "properties": {
    "body": {
      "type": "string",
      "description": "что звали, с какими аргументами, что ждали, что пришло"
    },
    "kind": {
      "enum": [
        "проблема",
        "доработка",
        "вопрос"
      ],
      "type": "string",
      "description": "проблема — работает не так; доработка — не хватает; вопрос — неясно из описания"
    },
    "tool": {
      "type": "string",
      "description": "имя инструмента; пусто — о сервере целиком"
    },
    "title": {
      "type": "string",
      "description": "суть одной фразой, от 10 знаков"
    }
  }
}
feedback_add annotations
{
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
feedback_list — Список замечаний об этом сервере
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Что уже сообщено об этом сервере и в каком это состоянии. ЗОВИТЕ ПЕРЕД feedback_add, если не уверены, что о таком ещё не писали: увидите и чужие замечания, и ответ человека на них. По умолчанию показываются живые. Менять статус и удалять записи отсюда нельзя — приёмку ведёт человек в панели.

feedback_list input schema
{
  "type": "object",
  "properties": {
    "q": {
      "type": "string",
      "description": "слово в заголовке или тексте"
    },
    "tool": {
      "type": "string",
      "description": "только про этот инструмент"
    },
    "вид": {
      "enum": [
        "живые",
        "закрытые",
        "все"
      ],
      "type": "string",
      "description": "по умолчанию живые"
    }
  }
}
feedback_list annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
1832 ms
95th percentile latency
1832 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 1832 ms · metadata changed · 9 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http domchecker-mcp https://domchecker.ru/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add domchecker-mcp --url https://domchecker.ru/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable domchecker-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "domchecker-mcp": {
      "url": "https://domchecker.ru/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "domchecker-mcp": {
      "type": "streamableHttp",
      "url": "https://domchecker.ru/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start domchecker-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "domchecker-mcp": {
      "type": "http",
      "url": "https://domchecker.ru/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http domchecker-mcp https://domchecker.ru/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "domchecker-mcp": {
      "url": "https://domchecker.ru/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "domchecker-mcp": {
      "serverUrl": "https://domchecker.ru/mcp"
    }
  }
}

Let your agent find its tools

Find servers like DomChecker MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run DomChecker MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing