Citehound
REMOTE · GETCITEHOUND.COM
Scan any domain for AI readiness and generate llms.txt, robots.txt and schema. Free, read-only.
Available components
Last scanned (8 hours ago)
Scores higher than 84% of remote servers
Reachable. Last reached 5 Nov 2026.
Category Marketing and SEO
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 Usability82
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 2283 tokens (~175/item across 13 items; 13 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 Management47
- Stability observed for 14 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 13 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 14 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (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.
- 4 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 40 to 43. That category is still filling its 30-day observation window: 12 days of observed history at the previous scan, 13 at this one. The score rises as the window fills, whether or not the server changes.
- 2 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 33 to 37. That category is still filling its 30-day observation window: 10 days of observed history at the previous scan, 11 at this one. The score rises as the window fills, whether or not the server changes.
- 30 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.
- 28 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.
- 26 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 10 to 13. That category is still filling its 30-day observation window: 3 days of observed history at the previous scan, 4 at this one. The score rises as the window fills, whether or not the server changes.
- 24 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.
- 23 Oct 26 0
- Stability: unverified → 0.03 ▲ functional
- 22 Oct 26 75
First indexed and scored.
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 5 Nov 2026 · Probed https://getcitehound.com/api/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=getcitehound.com | CN=YR1,O=Let's Encrypt,C=US | 8 Oct 2026 | 6 Jan 2027 | RSA 2048 | SHA256-RSA | 65842f3ceb731963707d899b71898595c6b |
| SANs: getcitehound.com | ||||||
| CN=YR1,O=Let's Encrypt,C=US (CA) | CN=Root YR,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | RSA 2048 | SHA256-RSA | a20253f15f2691c05dc1ce13b9bcca4e |
| CN=Root YR,O=ISRG,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | RSA 4096 | SHA256-RSA | f24b6d17f9d9ad7cb1c9fea78782699f |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of getcitehound.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| getcitehound.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=63072000 |
| content-security-policy | default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self'; connect-src 'self'; frame-ancestors 'none'; base-uri 'self'; form-action 'self' |
| x-content-type-options | nosniff |
| x-frame-options | DENY |
| referrer-policy | strict-origin |
| permissions-policy | camera=(), microphone=(), geolocation=() |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://getcitehound.com/api/mcp | Verified | 200 | |
| http (plaintext) | http://getcitehound.com/api/mcp | HTTPS enforced | 308 | https://getcitehound.com/api/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 →
compare_sites Compare two sites ~88
Scans two domains — one after the other, not in parallel — and reports both scores plus every check where they differ. Useful for comparing your site against a named competitor.
| Name | Type | Req | Description |
|---|---|---|---|
| domain_a | string | yes | The first bare domain, e.g. "example.com". |
| domain_b | string | yes | The second bare domain, e.g. "competitor.com". Must differ from domain_a. |
No output schema declared.
No examples provided.
generate_llms_txt Generate an llms.txt file ~114
Builds an llms.txt file — an optional convention for describing a site and its key pages, with no demonstrated effect on Google — from a name, a one-sentence description and a list of key pages. Pure text generation — fetches nothing.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | yes | A one-sentence summary of what the site is. |
| key_pages | array | – | Pages worth pointing an AI system to, most important first. |
| name | string | yes | The site or product name for the llms.txt header. |
No output schema declared.
No examples provided.
generate_robots_txt Generate an AI-crawler robots.txt ~156
Builds a robots.txt file that explicitly allows or blocks named AI crawlers from Citehound’s tracked list of 10, plus an optional Sitemap line. Pure text generation — fetches nothing. Call list_ai_crawlers first if you need the exact tracked crawler names.
| Name | Type | Req | Description |
|---|---|---|---|
| allow | array | – | Crawler names to explicitly allow, e.g. ["GPTBot", "ClaudeBot"]. Must be names from the tracked list. |
| block | array | – | Crawler names to explicitly block. Must be names from the tracked list, and must not overlap with "allow". |
| sitemap_url | string | – | Optional absolute sitemap URL to add as a Sitemap: line, e.g. "https://example.com/sitemap.xml". |
No output schema declared.
No examples provided.
generate_schema Generate JSON-LD for a site ~130
Fetches a domain’s homepage for its real title, meta description and declared language, then returns ready-to-paste JSON-LD structured data of the requested type. Fields the scan cannot know — a FAQ’s actual questions, a product’s real price — come back as clearly bracketed placeholders, never invented values.
| Name | Type | Req | Description |
|---|---|---|---|
| domain | string | yes | A bare domain, e.g. "example.com". |
| type | string | yes | "organization" returns Organization + WebSite schema as an @graph; the others (faqpage, article, product, localbusiness) each return one schema of that @type. |
No output schema declared.
No examples provided.
get_benchmark Get category benchmark data ~122
Returns Citehound’s own archived scan data for one category — average, median and range of scores, pillar breakdowns, per-crawler blocked, limited and open counts, and the most common failed checks, with sample size and scan date — or a ranked summary across every category when called with no argument. This is archived data, not a live scan, and fetches nothing external.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | Optional. One of: crm, cybersecurity, devtools, dtc-brands, consumer-apps, hospitality. Omit to get every category. |
No output schema declared.
No examples provided.
get_citation_prompts Get citation questions for a vertical ~329
Returns the set of buying-intent questions Citehound uses to test whether an AI assistant names a brand, for one vertical, plus a short protocol a person can run in their own assistant: ask each question in a separate conversation three to five times, note whether the brand is named and whether it appears in a heading, list label, table or bold text, and judge the spread rather than one answer. The questions don’t name any brand in the category being measured. A few mention an integration platform such as Slack or Google Workspace, because that is how buyers ask. Read-only: it reads a content file and queries no model. There is deliberately no tool that runs the check for you: a run is about 90 model calls at about five seconds each, far past this server’s time limit, and it would spend a quota anyone could drain. Question sets exist for: consumerapps, crm, cybersecurity, devtools, ecommerce, fintech, health, hospitality, hrtech, legal, localservices, marketplaces, martech, realestate. Use when the user asks how to check whether an assistant names their brand, or wants the questions for their category.
| Name | Type | Req | Description |
|---|---|---|---|
| vertical | string | yes | A vertical slug. Valid: consumerapps, crm, cybersecurity, devtools, ecommerce, fintech, health, hospitality, hrtech, legal, localservices, marketplaces, martech, realestate. Question sets exist for:… |
No output schema declared.
No examples provided.
get_citation_sample Get the anonymised citation sample ~155
Returns Citehound’s anonymised sample citation run as readable text: the model, the date, how many times each question was asked, the questions in three groups (named in every try, unstable, never named), the overall rate of being named with its range across sweeps, and a note on the limits. It is one model on one date, so it is not a ranking, says nothing about other assistants and is not a forecast of traffic. It names no brand in the category being measured, no domain and no competitor. Read-only: it reads a content file and queries no model. Use when the user wants to see what a citation result looks like, or asks how much the same question varies between tries.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_methodology Get the scoring methodology ~217
Explains how the Citehound AI readiness score is built, read from the scanner’s own check registry so it matches what runs. With no argument it returns the three pillars with their weights (they add up to 100), every check with its category, points, what it tests and why it matters, and the limits of the scan: it measures readiness and not whether any assistant names a brand; it gives half credit for a crawler with any applicable Disallow rule, usually an ordinary path; and it reads the homepage only. With a check label it returns that one check in detail. An unknown label returns an error listing the valid labels. Read-only, fetches nothing external. Use when the user asks how a score is calculated, why a check carries the points it does, or what the scan cannot tell them.
| Name | Type | Req | Description |
|---|---|---|---|
| check | string | – | Optional. A check label exactly as scan_site reports it, e.g. "Page title" or "AI crawler access". Case does not matter. Omit for the whole methodology. |
No output schema declared.
No examples provided.
get_playbook Get a vertical playbook ~210
Returns the full GEO/AEO playbook for one of Citehound’s fourteen verticals, as plain readable text: the strategic shift, three actionable strategies, outdated pitfalls to avoid, and an expert-tip placeholder. Called with no argument it returns the list of the fourteen verticals with their track (B2B SaaS, consumer and e-commerce brands, local and independent professionals), so call it with no argument first when you do not know which vertical fits. Read from this project’s own content file, so it matches what a visitor to the site sees. Fetches nothing external. Use after scan_site to turn a failed check into the strategy that applies to the site’s category.
| Name | Type | Req | Description |
|---|---|---|---|
| vertical | string | – | Optional. A vertical slug. B2B SaaS: crm, martech, hrtech, fintech, cybersecurity, devtools. Consumer brands: ecommerce, consumerapps, hospitality, marketplaces. Professionals: health, localservices,… |
No output schema declared.
No examples provided.
get_research Get Citehound research ~167
Returns Citehound’s published research: with no argument, the list of reports (the llms.txt and crawler study, the AgaOne case study and the benchmark data) with title, date, one-line finding and URL; with a slug, the key findings, the method limits, the URL and a ready line for citing it. Findings are checked against the published pages and data files. Every study measures readiness inputs, not whether any assistant names a brand. Read-only, fetches nothing external. Use when the user wants evidence for a claim about AI crawler access or llms.txt, a statistic to cite, or the reports behind the benchmarks.
| Name | Type | Req | Description |
|---|---|---|---|
| slug | string | – | Optional. A report slug from the list this tool returns with no argument. Omit to list the reports. |
No output schema declared.
No examples provided.
get_sample_report Get the sample full-site report ~171
Returns the sample Pro report as readable text: a real crawl of Citehound’s own site on a stated date, with the results shown as recorded. It gives the whole-site score beside the homepage score, the pillar averages, the priorities from the executive summary with the label saying what wrote it, the checks failing by number of pages, and the link to the full report, which also lists every page alphabetically and gives an estimated score if the fixes are applied. It shows what a full-site crawl adds to a one-page scan. It is our own site, not a customer’s, and it measures readiness, not whether any assistant names the site. Read-only, fetches nothing external. Use when the user asks what a full-site report looks like or what a crawl shows that a homepage scan cannot.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_ai_crawlers List tracked AI crawlers ~64
Lists the 10 AI crawlers Citehound tracks: which company runs each, what allowing or blocking it means, and this project’s robots.txt generator’s default for it. Use before generate_robots_txt if you need the exact tracked names. Fetches nothing.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
scan_site Scan a site for AI readiness ~261
Scans a domain’s public robots.txt, llms.txt, sitemap declaration and homepage, and scores it out of 100 across three pillars: discoverability (can AI crawlers reach it), technical foundation (can machines parse it), and content & trust (does it look like a credible source). Returns the score, the three pillar scores, access state for the 10 tracked AI crawlers, every failed check with its fix, and how the score compares to Citehound’s own benchmark data. If the site looks like a store (two or more of five signals), it also reports a separate agentic-commerce sub-score: whether a UCP merchant profile exists at /.well-known/ucp, whether one product page has Product schema with name, price, availability and image, and whether the llms.txt looks like a platform default. That sub-score is never part of the 100. Call this first for any domain. It fetches the live site (a store scan reads up to one extra product page), so avoid calling it in a tight loop for the same domain.
| Name | Type | Req | Description |
|---|---|---|---|
| domain | string | yes | A bare domain, e.g. "example.com". No scheme (https://) and no path — the scan always targets the domain root. |
No output schema declared.
No examples provided.
How do I install the Citehound MCP server?
Citehound is a hosted endpoint at https://getcitehound.com/api/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 · getcitehound.com
claude mcp add --transport http andacuzel-citehound 'https://getcitehound.com/api/mcp'
What is the Citehound MCP server?
Citehound is an MCP server listed in the public MCP registry as io.github.andacuzel/citehound. Scan any domain for AI readiness and generate llms.txt, robots.txt and schema. Free, read-only. This page covers its hosted endpoint (https://getcitehound.com/api/mcp).
Is the Citehound MCP server safe to use?
Citehound scores 81 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 Citehound MCP server expose?
Citehound exposes 13 tools: scan_site, compare_sites, generate_schema, generate_robots_txt, generate_llms_txt, and 8 more. Their descriptions and schemas cost roughly 2,184 tokens of context every time the server is loaded.
Does the Citehound MCP server require authentication?
No. We connected to Citehound without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the Citehound MCP server still maintained?
Citehound is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.