Is a domain registrar still ICANN-accredited, and has ICANN acted against it? 4,500+ registrars.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Everything this register holds for one IANA registrar ID: accreditation status, RDAP base URL, and any ICANN breach, suspension or termination notice with the date and the notice PDF — each with its source page and a verbatim quote. Returns a LIST: ten IDs today carry two records because ICANN and IANA spell the registrar's name differently, and both are returned rather than one being chosen.
The IANA registrar ID, e.g. "146" (GoDaddy) or "13".
Everything this register holds for one IANA registrar ID: accreditation status, RDAP base URL, and any ICANN breach, suspension or termination notice with the date and the notice PDF — each with its source page and a verbatim quote. Returns a LIST: ten IDs today carry two records because ICANN and IANA spell the registrar's name differently, and both are returned rather than one being chosen.
| Argument | Type | Description |
|---|---|---|
| iana_id* | string | The IANA registrar ID, e.g. "146" (GoDaddy) or "13". |
{
"type": "object",
"required": [
"iana_id"
],
"properties": {
"iana_id": {
"type": "string",
"description": "The IANA registrar ID, e.g. \"146\" (GoDaddy) or \"13\"."
}
}
}Which registrars has ICANN acted against? Lists the Contractual Compliance notices in this register — breach, suspension and termination — newest first, with the registrar, the date as ICANN prints it, the notice PDF and a verbatim quote of the notice line. Filter by action type or by date to see recent enforcement.
| Argument | Type | Description |
|---|---|---|
| limit | integer | How many to return, 1–20. Default 20. |
| since | string | Optional ISO date, e.g. "2024-01-01". Only notices dated on or after it. ICANN prints dates in long form ("20 November 2017"); this filter compares an ISO form computed from that string here. |
| action | string | Optional: only this kind of notice. |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"description": "How many to return, 1–20. Default 20."
},
"since": {
"type": "string",
"description": "Optional ISO date, e.g. \"2024-01-01\". Only notices dated on or after it. ICANN prints dates in long form (\"20 November 2017\"); this filter compares an ISO form computed from that string here."
},
"action": {
"enum": [
"Notice of Breach",
"Notice of Suspension",
"Notice of Termination"
],
"type": "string",
"description": "Optional: only this kind of notice."
}
}
}Which registrar is this? Search ICANN's accredited-registrar register by registrar name (or part of one, e.g. "GoDaddy", "Tucows", "namecheap") or by IANA registrar ID. Returns the matching registrars with their accreditation status and any ICANN enforcement action, each with the page and verbatim quote it was read from. Use this first when you have a name; use get_registrar when you already have the IANA ID.
| Argument | Type | Description |
|---|---|---|
| query* | string | Registrar name or part of one, or an IANA registrar ID. Case-insensitive substring match. |
| status | string | Optional: return only registrars with this accreditation status. |
{
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"description": "Registrar name or part of one, or an IANA registrar ID. Case-insensitive substring match."
},
"status": {
"enum": [
"Accredited",
"Terminated",
"Reserved"
],
"type": "string",
"description": "Optional: return only registrars with this accreditation status."
}
}
}Is this right? Check a claim about a registrar — its accreditation status, its name, an enforcement date — against the register instead of trusting it. Says whether the claim matches a stored value, appears only in the verbatim source quote, or differs (and then what the register says instead), and returns the source page and quote so the claim can be traced upstream.
| Argument | Type | Description |
|---|---|---|
| field | string | Which field the claim is about, if you know it. Without it, every stored field of the record is checked. |
| iana_id* | string | The IANA registrar ID of the registrar the claim is about. |
| claimed_value* | string | The value to check, exactly as claimed, e.g. "Terminated" or "2026-10-29". |
{
"type": "object",
"required": [
"claimed_value",
"iana_id"
],
"properties": {
"field": {
"type": "string",
"description": "Which field the claim is about, if you know it. Without it, every stored field of the record is checked."
},
"iana_id": {
"type": "string",
"description": "The IANA registrar ID of the registrar the claim is about."
},
"claimed_value": {
"type": "string",
"description": "The value to check, exactly as claimed, e.g. \"Terminated\" or \"2026-10-29\"."
}
}
}