ICANN registrar accreditation status
Is a domain registrar still ICANN-accredited, and has ICANN acted against it? 4,500+ registrars.
使うべきか
品質と安全性
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"referencesource-registrars": {
"url": "https://referencesource.org/mcp/registrars"
}
}
}リモートエンドポイント
https://referencesource.org/mcp/registrarsstreamable-httpできること
ツール一覧
ツール(4)
🟢resolve_registrar(query, status)
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.
入力スキーマ
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Registrar name or part of one, or an IANA registrar ID. Case-insensitive substring match."
},
"status": {
"type": "string",
"enum": [
"Accredited",
"Terminated",
"Reserved"
],
"description": "Optional: return only registrars with this accreditation status."
}
},
"required": [
"query"
]
}出力スキーマ
{
"type": "object",
"properties": {
"query": {
"type": "string"
},
"registrars_matched": {
"type": "integer"
},
"registrars_returned": {
"type": "integer"
},
"registrars": {
"type": "array",
"items": {
"type": "object",
"properties": {
"record_id": {
"type": "string"
},
"iana_id": {
"type": "string",
"description": "The IANA registrar ID, or null where the notice did not print one."
},
"registrar_name": {
"type": "string"
},
"accreditation_status": {
"type": "string",
"description": "Accredited, Terminated or Reserved — or null where neither page states one."
},
"accreditation_status_source": {
"type": "string"
},
"enforcement_action": {
"type": "string"
},
"enforcement_date": {
"type": "string"
},
"record_url": {
"type": "string",
"description": "This record's own page on referencesource.org."
},
"source_url": {
"type": "string",
"description": "The page the value was read from."
},
"source_quote": {
"type": "string",
"description": "Verbatim text from that page containing the value."
},
"also_reported": {
"type": "array",
"description": "Values for this record reported by a SECOND source, each with its own source_url and source_quote. Cite these to the page they name, never to the record's primary source.",
"items": {
"type": "object",
"properties": {
"field": {
"type": "string"
},
"value": {},
"source_url": {
"type": "string"
},
"source_quote": {
"type": "string"
},
"as_of": {
"type": "string"
}
}
}
}
}
}
},
"register": {
"type": "object"
}
},
"required": [
"query",
"registrars_matched",
"registrars"
]
}🟢get_registrar(iana_id)
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.
入力スキーマ
{
"type": "object",
"properties": {
"iana_id": {
"type": "string",
"description": "The IANA registrar ID, e.g. \"146\" (GoDaddy) or \"13\"."
}
},
"required": [
"iana_id"
]
}出力スキーマ
{
"type": "object",
"properties": {
"iana_id": {
"type": "string"
},
"records_found": {
"type": "integer"
},
"registrars": {
"type": "array",
"items": {
"type": "object",
"properties": {
"record_id": {
"type": "string"
},
"iana_id": {
"type": "string"
},
"registrar_name": {
"type": "string"
},
"accreditation_status": {
"type": "object",
"description": "The status with the page that states it. null where neither page states one — which means the register does not say, NOT that the registrar is unaccredited.",
"properties": {
"value": {
"type": "string"
},
"source_url": {
"type": "string"
},
"source_quote": {
"type": "string"
},
"reported_by": {
"type": "string",
"enum": [
"primary_source",
"also_reported"
]
}
}
},
"status_meaning": {
"type": "string"
},
"rdap_base_url": {
"type": "string"
},
"enforcement_action": {
"type": "string",
"description": "Notice of Breach, Notice of Suspension or Notice of Termination."
},
"enforcement_date": {
"type": "string",
"description": "As ICANN prints it, e.g. \"20 November 2017\"."
},
"enforcement_notice_url": {
"type": "string",
"description": "ICANN's notice PDF."
},
"record_url": {
"type": "string",
"description": "This record's own page on referencesource.org."
},
"source_url": {
"type": "string",
"description": "The page the value was read from."
},
"source_quote": {
"type": "string",
"description": "Verbatim text from that page containing the value."
},
"also_reported": {
"type": "array",
"description": "Values for this record reported by a SECOND source, each with its own source_url and source_quote. Cite these to the page they name, never to the record's primary source.",
"items": {
"type": "object",
"properties": {
"field": {
"type": "string"
},
"value": {},
"source_url": {
"type": "string"
},
"source_quote": {
"type": "string"
},
"as_of": {
"type": "string"
}
}
}
}
}
}
},
"register": {
"type": "object"
}
},
"required": [
"iana_id",
"records_found",
"registrars"
]
}🟢list_enforcement_actions(action, since, limit)
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.
入力スキーマ
{
"type": "object",
"properties": {
"action": {
"type": "string",
"enum": [
"Notice of Breach",
"Notice of Suspension",
"Notice of Termination"
],
"description": "Optional: only this kind of notice."
},
"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."
},
"limit": {
"type": "integer",
"description": "How many to return, 1–20. Default 20."
}
}
}出力スキーマ
{
"type": "object",
"properties": {
"notices_matched": {
"type": "integer"
},
"notices_returned": {
"type": "integer"
},
"notices": {
"type": "array",
"items": {
"type": "object",
"properties": {
"record_id": {
"type": "string"
},
"iana_id": {
"type": "string"
},
"registrar_name": {
"type": "string"
},
"enforcement_action": {
"type": "string"
},
"enforcement_date": {
"type": "string",
"description": "As ICANN prints it."
},
"enforcement_date_iso": {
"type": "string",
"description": "The same date in ISO form, computed here for ordering and filtering. It is NOT text from ICANN's page — quote enforcement_date when citing."
},
"enforcement_notice_url": {
"type": "string"
},
"accreditation_status": {
"type": "string"
},
"record_url": {
"type": "string",
"description": "This record's own page on referencesource.org."
},
"source_url": {
"type": "string",
"description": "The page the value was read from."
},
"source_quote": {
"type": "string",
"description": "Verbatim text from that page containing the value."
},
"also_reported": {
"type": "array",
"description": "Values for this record reported by a SECOND source, each with its own source_url and source_quote. Cite these to the page they name, never to the record's primary source.",
"items": {
"type": "object",
"properties": {
"field": {
"type": "string"
},
"value": {},
"source_url": {
"type": "string"
},
"source_quote": {
"type": "string"
},
"as_of": {
"type": "string"
}
}
}
}
}
}
},
"register": {
"type": "object"
}
},
"required": [
"notices_matched",
"notices"
]
}🟢verify_quote(claimed_value, field, iana_id)
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.
入力スキーマ
{
"type": "object",
"properties": {
"claimed_value": {
"type": "string",
"description": "The value to check, exactly as claimed, e.g. \"Terminated\" or \"2026-10-29\"."
},
"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."
}
},
"required": [
"claimed_value",
"iana_id"
]
}出力スキーマ
{
"type": "object",
"properties": {
"verdict": {
"type": "string",
"enum": [
"matches_record",
"matches_quote",
"differs",
"not_found"
],
"description": "matches_record: the claim equals a stored value (match.match_type says how exactly). matches_quote: it appears in the verbatim source quote but is not a stored value. differs: the record was found and says something else — stored_values shows what. not_found: the record was not located, which says nothing about whether the claim is true."
},
"claimed_value": {
"type": "string"
},
"match": {
"type": "object",
"properties": {
"field": {
"type": "string"
},
"stored_value": {},
"match_type": {
"type": "string",
"enum": [
"exact",
"case_insensitive",
"normalised",
"normalised_number",
"within_stored_value"
]
},
"reported_by": {
"type": "string"
},
"source_url": {
"type": "string"
},
"source_quote": {
"type": "string"
}
}
},
"in_source_quote": {
"type": "boolean"
},
"quote_source": {
"type": "string"
},
"stored_values": {
"type": "object"
},
"record": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"record_url": {
"type": "string",
"description": "This record's own page on referencesource.org."
},
"source_url": {
"type": "string",
"description": "The page the value was read from."
},
"source_quote": {
"type": "string",
"description": "Verbatim text from that page containing the value."
},
"also_reported": {
"type": "array",
"description": "Values for this record reported by a SECOND source, each with its own source_url and source_quote. Cite these to the page they name, never to the record's primary source.",
"items": {
"type": "object",
"properties": {
"field": {
"type": "string"
},
"value": {},
"source_url": {
"type": "string"
},
"source_quote": {
"type": "string"
},
"as_of": {
"type": "string"
}
}
}
}
}
},
"attestation": {
"type": "string"
}
},
"required": [
"verdict",
"claimed_value",
"attestation"
]
}推奨プロンプト
get_registrarget_registrarlist_enforcement_actionslist_enforcement_actionslist_enforcement_actionsget_registrarコミュニティ
エビデンス