HadithDB
REMOTE · HADITHUNLOCKED.COM
Search and retrieve Quran ayahs, tafsir commentary, hadith, and detailed hadith records.
Available components
Last scanned (22 hours ago)
Scores higher than 91% of remote servers
Reachable. Last reached 4 Nov 2026.
Category Education and Research
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security80
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one. See how to fix → View diagnostics → Partial
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability67
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 2703 tokens (~142/item across 19 items; 19 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
- No destabilizing schema changes in the last 30 days.Pass
Tool Coverage86
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 51% of tool parameters carry a description.Partial
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 19 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 20 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 28 Oct 26 0
- Tool “lookup_hadith_detail” rewrote its description, which is the text the model reads security
- 26 Oct 26 0
- The server rewrote its instructions, which are the text every model session reads security
- Tool “research_islamic_topic” rewrote its description, which is the text the model reads security
- Tool “research_quran_ayah” rewrote its description, which is the text the model reads security
- New tool “lookup_blog_post” functional
- New tool “search_blog” functional
- 10 Oct 26 −1
No change was recorded against any check on this day. Schema Quality & AI Usability went from 70 to 69.
- 6 Oct 26 +1
- Stability: 0.97 → pass security
- 3 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.
- 28 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 25 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 19 Sept 26 0
- The server rewrote its instructions, which are the text every model session reads security
- Tool “lookup_hadith_detail” rewrote its description, which is the text the model reads security
- Tool “lookup_quran_ayah” rewrote its description, which is the text the model reads security
- Tool coverage: 72% → 55% ▼ functional
- Schema quality: 114 → 143 ▼ functional
- Server version: 0.6.0 → 0.9.0 functional
- New tool “get_quran_audio” functional
- New tool “list_hadith_commentaries” functional
- New tool “list_quran_reciters” functional
- New tool “list_quran_sections” functional
- New tool “lookup_hadith_commentary” functional
- New tool “lookup_quran_page” functional
- New tool “lookup_quran_passage” functional
- New tool “research_islamic_topic” functional
- New tool “research_quran_ayah” functional
- New tool “search_hadith_commentary” functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 4 Nov 2026 · Probed https://hadithunlocked.com/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=hadithunlocked.com | CN=WE1,O=Google Trust Services,C=US | 31 Oct 2026 | 29 Jan 2027 | ECDSA 256 | ECDSA-SHA256 | 787e904408ebe26d139792425167e6b6 |
| SANs: hadithunlocked.com, *.hadithunlocked.com | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of hadithunlocked.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| hadithunlocked.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=31536000; includeSubDomains |
| x-content-type-options | nosniff |
| x-frame-options | SAMEORIGIN |
| referrer-policy | strict-origin-when-cross-origin |
| permissions-policy | camera=(), microphone=(), geolocation=(), payment=(), usb=() |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://hadithunlocked.com/mcp | Verified | 200 | |
| http (plaintext) | http://hadithunlocked.com/mcp | HTTPS enforced | 301 | https://hadithunlocked.com/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
get_quran_audio Get Quran passage audio ~185
Get an audio URL and exact ayah timing segments for a Quran passage by a selected reciter (default: Juhani). Returns playback data, not a command that starts playback. Use surah, ayah_from, and optionally ayah_to for an inclusive range. For portions spanning surahs, call once per surah and play in order. Use list_quran_reciters for available names and aliases. Clients must seek to start_ms and stop at end_ms; the URL points to the full surah.
| Name | Type | Req | Description |
|---|---|---|---|
| ayah_from | integer | yes | – |
| ayah_to | integer | – | Inclusive last ayah; defaults to ayah_from. For a whole surah, specify its first and last ayah. |
| reciter | string | – | Reciter alias or exact catalog name. Defaults to Juhani. |
| surah | integer | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| audio_url | string | – | Full surah audio file; use the supplied timing boundaries for the requested passage. |
| end_ms | integer | – | – |
| error | string | – | Error message when the tool could not complete the request. |
| playback_url | string | – | Audio URL with a temporal media fragment in seconds. Client support varies. |
| reciter | object | – | – |
| reference | string | – | – |
| segments | array | – | – |
| start_ms | integer | – | – |
No examples provided.
list_hadith_commentaries List hadith commentaries ~77
Use this to discover available hadith commentary works (shuruh), authors and aliases before selecting a source. These are commentary works, not the underlying hadith collections. Catalog presence does not guarantee coverage of a particular report.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| offset | integer | – | – |
| query | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| error | string | – | Error message when the tool could not complete the request. |
| next_offset | integer|null | – | – |
| sources | array | – | – |
| total | integer | – | – |
No examples provided.
list_quran_reciters List Quran reciters ~37
List available Quran audio reciters and their aliases. Use this to resolve a requested reciter. Juhani is the default.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| default_reciter | string | – | – |
| error | string | – | Error message when the tool could not complete the request. |
| reciters | array | – | – |
No examples provided.
list_quran_sections List Quran sections ~130
List a surah’s passage (level 2) and subsection (level 3) headings in hierarchy order, with exact section identities, Arabic/English titles, stored introductions, ayah ranges, and URLs. These editorial headings and introductions are distinct from Quran text. Follow next_offset for more results.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| offset | integer | – | – |
| response_profile | string | – | Per-heading introduction limits: compact 1000 characters per language, default 6000, full all stored text. Titles and ranges are always preserved. |
| surah | integer | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| error | string | – | Error message when the tool could not complete the request. |
| has_more | boolean | – | – |
| headings | array | – | – |
| next_offset | integer|null | – | – |
| offset | integer | – | – |
| surah | integer | – | – |
| total | integer | – | – |
| url | string | – | – |
No examples provided.
list_tafsirs List tafsirs ~79
Find available HadithDB tafsir sources and aliases. Use this to resolve an author or title before a tafsir lookup.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | Opaque cursor returned by the previous page. Do not modify it. |
| limit | integer | – | – |
| query | string | – | Optional author, title, language, or alias filter. |
| Name | Type | Req | Description |
|---|---|---|---|
| error | string | – | Error message when the tool could not complete the request. |
| has_more | boolean | – | – |
| next_cursor | string|null | – | – |
| query | string|null | – | – |
| tafsirs | array | – | – |
| total | integer | – | – |
No examples provided.
lookup_blog_post Look up blog post ~70
Retrieve a published blog article by its ID from search_blog. Preserves its author, canonical URL and public Markdown. Editorial interpretation is not independently authenticated scripture. Default bounds text to 6000 characters; full returns the complete article.
| Name | Type | Req | Description |
|---|---|---|---|
| id | integer | yes | – |
| response_profile | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| error | string | – | Error message when the tool could not complete the request. |
| post | object | – | – |
No examples provided.
lookup_hadith_commentary Look up hadith commentary ~69
Retrieve an exact scholarly commentary entry by ID from commentary search or a hadith’s research inventory. Preserve its author and work attribution. Default bounds each language to 6000 characters; full retrieves all indexed text.
| Name | Type | Req | Description |
|---|---|---|---|
| id | integer | yes | – |
| response_profile | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| commentary | object | – | – |
| error | string | – | Error message when the tool could not complete the request. |
No examples provided.
lookup_hadith_detail Look up hadith detail ~202
Retrieve the core Arabic and English text, chain, headings, grades, and canonical URL for a hadith reference. If the exact numbered reference is absent, tries the unsuffixed number and letter-suffixed variants before reporting not found; returned records retain their actual references. Complete scholarly metadata and provenance are available with response_profile: "full". Every profile includes all stored grader opinions, narrators with reliability and death information, attached commentary identities, and related report references only (no narration text). For worship instructions or scholarly explanations, use research_islamic_topic and the commentary tools before answering.
| Name | Type | Req | Description |
|---|---|---|---|
| reference | string | yes | Reference such as bukhari:1, muslim:1907, or ahmad:1.6. |
| response_profile | string | – | Compact returns the core record plus research metadata and is the default. Default adds bounded attribution, narrator, grading, reference, and commentary metadata. Full explicitly returns all stored… |
| Name | Type | Req | Description |
|---|---|---|---|
| canonical_url | string | – | – |
| error | string | – | Error message when the tool could not complete the request. |
| records | array | – | – |
| requested_reference | string | – | – |
| response_profile | string | – | – |
No examples provided.
lookup_quran_ayah Look up Quran ayah ~105
Retrieve the exact Arabic text, English translation, headings, and canonical URL for one Quran ayah. For explanations of its meaning, use research_quran_ayah to consult major available tafsirs and research its concepts in hadith and shuruh before synthesizing.
| Name | Type | Req | Description |
|---|---|---|---|
| ayah | integer | yes | Ayah number. Ayah 0 is valid only for Surah 1. |
| surah | integer | yes | Surah number, 1 through 114. |
| Name | Type | Req | Description |
|---|---|---|---|
| ayah | object | – | A normalized Quran, hadith, sirah, or history record. |
| error | string | – | Error message when the tool could not complete the request. |
No examples provided.
lookup_quran_page Look up Quran page ~142
Get a Mushaf page by page number, or find the first page containing a surah and ayah. Returns edition information, ayah/word boundaries, all overlapping passage and subsection headings, stored introductions, and a page overview assembled from those headings. The overview is not a separately authored summary or Quran text. Ayahs and passages may continue across pages.
| Name | Type | Req | Description |
|---|---|---|---|
| ayah | integer | – | – |
| page | integer | – | – |
| response_profile | string | – | Per-heading introduction limits: compact 1000 characters per language, default 6000, full all stored text. Titles and ranges are always preserved. |
| surah | integer | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| ayahs | array | – | – |
| error | string | – | Error message when the tool could not complete the request. |
| headings | array | – | – |
| mushaf | object | – | – |
| next_page | integer|null | – | – |
| page | integer | – | – |
| page_boundary_note | string | – | – |
| previous_page | integer|null | – | – |
| ranges | array | – | – |
| summary | object | – | – |
| url | string | – | – |
No examples provided.
lookup_quran_passage Look up Quran passage ~165
Get an exact Quran passage by surah and section number, optionally subsection; or find the passage containing a surah and ayah. Returns stored bilingual headings/introductions, exact ayah ranges, parent/subsection relationships, and Mushaf links. A section number is an editorial passage identifier, not an ayah number. Use list_quran_sections to discover section IDs.
| Name | Type | Req | Description |
|---|---|---|---|
| ayah | integer | – | Ayah 0 is valid only in surah 1. |
| response_profile | string | – | Per-heading introduction limits: compact 1000 characters per language, default 6000, full all stored text. Titles and ranges are always preserved. |
| section | integer | – | – |
| subsection | integer | – | – |
| surah | integer | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| error | string | – | Error message when the tool could not complete the request. |
| first_page | integer|null | – | – |
| last_page | integer|null | – | – |
| mushaf_url | string|null | – | – |
| parent | – | – | – |
| passage | object | – | – |
| subsections | array | – | – |
No examples provided.
lookup_tafsir Look up tafsir ~129
Retrieve commentary from a named HadithDB tafsir source for one Quran ayah.
| Name | Type | Req | Description |
|---|---|---|---|
| ayah | integer | yes | – |
| language | string | – | Preferred output language when available. |
| max_chars | integer | – | Optional explicit character cap per language, overriding the selected response profile. |
| response_profile | string | – | Controls response size. Compact shortens long commentary, default balances context and size, and full returns all stored text. |
| surah | integer | yes | – |
| tafsir | string | yes | Alias, author, short name, or title, such as ibn-kathir. |
| Name | Type | Req | Description |
|---|---|---|---|
| availability | object | – | – |
| commentary | array | – | – |
| error | string | – | Error message when the tool could not complete the request. |
| reference | string | – | – |
| response_profile | string | – | – |
| source | object | – | A normalized local tafsir source. |
| url | string | – | – |
No examples provided.
research_islamic_topic Research an Islamic topic ~220
Use this before answering substantive Islamic topic or practical worship questions, such as what istikharah is and how to pray it. Collects Quran/tafsir discovery candidates, verified hadith records, explanations from distinct shuruh, explicitly linked related reports, and published blog articles as attributed editorial context. Supply short Arabic/English queries and known principal hadith_references when available to anchor the research. Inspect coverage and fetch omitted/truncated sources as needed within the same turn; do not treat topic matches as direct evidence or claim exhaustive research.
| Name | Type | Req | Description |
|---|---|---|---|
| depth | string | – | Research breadth, independent of the final answer length. All depths have time and source limits. |
| hadith_references | array | – | Known exact principal report references to prioritize and verify, e.g. bukhari:1166. Do not invent references or translate source numbers across collections. |
| queries | array | yes | Short concept search phrases, preferably including Arabic equivalents. Do not pass the entire natural-language question as a search phrase. |
| question | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| coverage | object | – | – |
| depth | string | – | – |
| error | string | – | Error message when the tool could not complete the request. |
| evidence | array | – | – |
| interpretation_note | string | – | – |
| next_steps | array | – | – |
| queries | array | – | – |
| question | string | – | – |
| scope | string | – | – |
No examples provided.
research_quran_ayah Research a Quran ayah and its concepts ~265
Use this for explanations of Quran ayahs. Retrieves the exact ayah and major available tafsirs (default Tabari, Ibn Kathir, Qurtubi; more at deep depth), then searches supplied concepts in Quran, tafsir, hadith, shuruh and published blog articles (editorial context). If concepts are omitted, read the returned ayah/tafsirs, derive short grounded concept phrases, and call again with concepts without asking the user. Search matches are conceptual candidates, not proof a hadith directly explains this ayah. Verify relevant source text before synthesis. Respect explicitly requested tafsir sources.
| Name | Type | Req | Description |
|---|---|---|---|
| ayah | integer | yes | – |
| concepts | array | – | Short concept search phrases, preferably including Arabic equivalents. Do not pass the entire natural-language question as a search phrase. |
| depth | string | – | Research breadth, independent of the final answer length. All depths have time and source limits. |
| hadith_references | array | – | Known exact principal report references to prioritize and verify, e.g. bukhari:1166. Do not invent references or translate source numbers across collections. |
| surah | integer | yes | – |
| tafsirs | array | – | Optional requested source names/aliases; overrides the default source selection. |
| Name | Type | Req | Description |
|---|---|---|---|
| coverage | object | – | – |
| depth | string | – | – |
| error | string | – | Error message when the tool could not complete the request. |
| evidence | array | – | – |
| interpretation_note | string | – | – |
| next_steps | array | – | – |
| queries | array | – | – |
| question | string | – | – |
| scope | string | – | – |
No examples provided.
search_blog Search blog ~85
Search published HadithDB blog articles by words or phrases in their public titles and text. Results are editorial discovery candidates, distinct from Quran, hadith, tafsir and shuruh. Verify any cited reports with the source lookup tools. Use lookup_blog_post for complete article text.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | – |
| limit | integer | – | – |
| query | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| error | string | – | Error message when the tool could not complete the request. |
| pagination | object | – | – |
| query | string | – | – |
| results | array | – | – |
No examples provided.
search_hadith Search hadith ~152
Search Arabic or English hadith, sirah, and history text, optionally within selected book aliases or virtual book groups. Use the sirah or history scope to search every book whose type is sirah or history.
| Name | Type | Req | Description |
|---|---|---|---|
| books | array | – | Optional HadithDB book aliases or groups such as sahihayn, sixbooks, ninebooks, sirah, or history. Either sirah or history searches all books of both historical types. |
| cursor | string | – | Opaque cursor returned by the previous page. Do not modify it. |
| limit | integer | – | – |
| offset | integer | – | Deprecated numeric pagination offset. Prefer cursor. |
| query | string | yes | Words or phrase to search for. |
| Name | Type | Req | Description |
|---|---|---|---|
| books | array | – | – |
| error | string | – | Error message when the tool could not complete the request. |
| offset | integer | – | – |
| pagination | object | – | – |
| query | string | – | – |
| results | array | – | – |
No examples provided.
search_hadith_commentary Search hadith commentary ~125
Use this for scholarly explanations, procedural details and disagreements, including when answering how to perform worship or researching Quranic concepts. Searches shuruh across collections. Results preserve the commentary work and associated hadith separately. Retrieve exact entries with lookup_hadith_commentary and verify reports with lookup_hadith_detail.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | – |
| limit | integer | – | – |
| query | string | yes | – |
| reference | string | – | Optional exact associated hadith reference. |
| source | string | – | Optional exact commentary alias from list_hadith_commentaries. |
| Name | Type | Req | Description |
|---|---|---|---|
| error | string | – | Error message when the tool could not complete the request. |
| pagination | object | – | – |
| query | string | – | – |
| results | array | – | – |
No examples provided.
search_quran Search Quran ~93
Search Quran Arabic text and English translations by words or phrases. Use lookup_quran_ayah for an exact reference.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | Opaque cursor returned by the previous page. Do not modify it. |
| limit | integer | – | – |
| offset | integer | – | Deprecated numeric pagination offset. Prefer cursor. |
| query | string | yes | Words or phrase to search for. |
| sort | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| error | string | – | Error message when the tool could not complete the request. |
| offset | integer | – | – |
| pagination | object | – | – |
| query | string | – | – |
| results | array | – | – |
No examples provided.
search_tafsir Search tafsir ~107
Search HadithDB tafsir commentary, optionally restricting results to one named source.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | Opaque cursor returned by the previous page. Do not modify it. |
| limit | integer | – | – |
| offset | integer | – | Deprecated numeric pagination offset. Prefer cursor. |
| query | string | yes | Words or phrase to search for. |
| sort | string | – | – |
| tafsir | string | – | Optional tafsir alias, author, short name, or title. |
| Name | Type | Req | Description |
|---|---|---|---|
| error | string | – | Error message when the tool could not complete the request. |
| offset | integer | – | – |
| pagination | object | – | – |
| query | string | – | – |
| results | array | – | – |
| source | – | – | – |
No examples provided.
How do I install the HadithDB MCP server?
HadithDB is a hosted endpoint at https://hadithunlocked.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · hadithunlocked.com
claude mcp add --transport http iadnanmukhtar-hadithdb 'https://hadithunlocked.com/mcp'
What is the HadithDB MCP server?
HadithDB is an MCP server listed in the public MCP registry as io.github.iadnanmukhtar/hadithdb. Search and retrieve Quran ayahs, tafsir commentary, hadith, and detailed hadith records. This page covers its hosted endpoint (https://hadithunlocked.com/mcp).
Is the HadithDB MCP server safe to use?
HadithDB scores 85 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the HadithDB MCP server expose?
HadithDB exposes 19 tools: search_blog, lookup_blog_post, list_hadith_commentaries, search_hadith_commentary, lookup_hadith_commentary, and 14 more. Their descriptions and schemas cost roughly 2,437 tokens of context every time the server is loaded.
Does the HadithDB MCP server require authentication?
No. We connected to HadithDB without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the HadithDB MCP server still maintained?
HadithDB is still listed as active in the MCP registry. We last reached this channel on 4 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.