CitedBy
Server Details
Check a page, AI-crawler access, llms.txt and backlinks of a site. Free, read-only.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- resaleiq/citedby-mcp
- GitHub Stars
- 0
- Server Listing
- CitedBy
TDQS
Scored across 4 tools
backlinks targets the domain-level link graph; check_ai_crawler_access targets robots.txt and live crawler access; check_llms_txt targets the llms.txt file; check_page targets on-page SEO/AI-readiness. The purposes are clearly separated, and the descriptions make the boundaries explicit.
Three tools use the check_<object> pattern (check_ai_crawler_access, check_llms_txt, check_page), while backlinks is a bare noun. This is a minor inconsistency but still readable and predictable.
Four tools is a tight, well-scoped surface for a specialized site-audit server. Each tool covers a distinct audit dimension: links, crawler access, llms.txt, and page quality.
The surface covers key AI/search readiness checks: backlink data, crawler access, llms.txt, and page-level audit. Minor gaps remain, such as site-wide crawling or sitemap checks, but core workflows are covered.
Available Tools
4 toolsbacklinksReferring domains of a domain (open data)ARead-onlyIdempotentInspect
How many other domains link to a domain, and the strongest referrers, from the Common Crawl domain web graph. Covers domains with 100 or more referring domains under .eu, EU and UK country domains, plus the 5,000 most-linked sites; says plainly when a domain is not in the data.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Domain, for example example.com |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent and non-destructive behavior, and the description adds meaningful context beyond that: the underlying data source, its coverage thresholds, and that a missing domain is reported explicitly rather than silently. It stops short of describing result shape in detail or any freshness/caching behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with what the tool returns before moving to coverage limits. Every clause conveys information an agent would otherwise have to guess at; nothing is redundant with the name or annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does the work of explaining what comes back (a count and the strongest referrers) and how absence is signalled. Coverage limitations are disclosed in a way that prevents misinterpretation of empty results. Only minor gaps remain, such as whether results are ordered or limited.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter has full schema coverage with its own description and an example, so the schema carries the burden. The description does not add format constraints (e.g. whether subdomains or URLs are accepted) beyond what the schema already supplies, so the baseline applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource and what it returns: the number of referring domains plus the strongest referrers, sourced from the Common Crawl domain web graph. This is clearly distinct from the sibling tools (check_page, check_llms_txt, check_ai_crawler_access), which are page-level checks rather than link-graph queries.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description defines the data's coverage envelope (.eu, EU/UK country domains with 100+ referring domains, plus the 5,000 most-linked sites), which tells an agent when results will be available versus empty. It does not explicitly name an alternative tool or state a 'use this instead of X' rule, so it stops short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_ai_crawler_accessWhich AI crawlers can read this siteARead-onlyIdempotentInspect
Read a site's robots.txt and test the server for GPTBot, OAI-SearchBot, ChatGPT-User, PerplexityBot, ClaudeBot, Google-Extended, Bingbot and Googlebot. Returns, per crawler, whether robots.txt allows it and whether the server answers it, so you can see who is blocked and by what.
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Domain or address of the site, for example example.com |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnlyHint, destructiveHint=false, idempotentHint, openWorldHint), so the lower bar applies. The description still adds real value by disclosing that it performs live server requests in addition to reading robots.txt, and by explaining the dual result shape (robots.txt verdict vs. server response) even though no output schema exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler, with the primary action front-loaded and the payoff ('who is blocked and by what') closing it. The crawler list is dense but each name earns its place by defining scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does the necessary work of explaining the return shape and what is compared. Minor unresolved gaps remain — behavior when robots.txt is absent, and any latency or rate-limit expectation for the live server tests — but nothing that would cause a misinformed call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter and schema description coverage is 100%, with the schema already giving a format example ('example.com'). The description contributes nothing about the site argument itself, so the baseline 3 applies; an explicit note on whether schemes/paths are accepted would have raised it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb and resource ('Read a site's robots.txt and test the server') and enumerates exactly which eight crawlers are probed. The stated output ('per crawler, whether robots.txt allows it and whether the server answers it') makes the tool's contract unmistakable and clearly distinct from a generic page check.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The outcome clause 'so you can see who is blocked and by what' implies the diagnostic use case, but there is no explicit when-to-use, no exclusions, and no reference to the closely related sibling check_llms_txt, which an agent could easily confuse with this tool for AI-crawler questions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_llms_txtCheck a site's llms.txtARead-onlyIdempotentInspect
Fetch /llms.txt of a site and report whether it exists, whether its links work, and whether /llms-full.txt exists. When there is none, the full report holds a draft built from the site's own pages.
| Name | Required | Description | Default |
|---|---|---|---|
| site | Yes | Domain or address of the site, for example example.com |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, openWorld, idempotent, and non-destructive, so the safety profile is covered. The description adds genuinely new behavior: it validates that the file's links work and, when no llms.txt exists, returns a draft generated from the site's own pages — context an agent could not get from annotations alone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler: the action and outputs are front-loaded, and the fallback-draft note follows as a dependent clause. Nothing restates the title or the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description must carry the return shape, and it does — existence, link validity, /llms-full.txt presence, and the draft fallback. Only minor gaps remain, such as fetch cost/timeouts or how link failures are reported.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Single parameter with 100% schema coverage that already explains the domain/address format (example.com). The description implies the same but adds no syntax, normalization, or protocol-handling details, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (fetch /llms.txt of a site) plus exactly what it reports: existence, link health, and presence of /llms-full.txt. That scope is clearly distinct from siblings like check_page, backlinks, and check_ai_crawler_access, so an agent can route on it without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the name and description — you call it to audit a site's llms.txt — but there is no explicit when-to-use/when-not and no alternative tool is named. The sibling check_ai_crawler_access in particular is never contrasted, leaving the agent to infer the boundary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_pageCheck one page for AI-search and SEO problemsARead-onlyIdempotentInspect
Fetch one public web page as CitedBot (robots.txt respected) and return what is wrong with it for AI answers and search: title, description, headings, structured data, canonical, language, links and more. Each finding has why it matters and the exact fix. Deterministic checks only; says so when the page cannot be fetched.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Full page address, for example https://example.com/pricing |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive and open-world, so the safety profile is covered. The description still adds real behavior beyond that: it fetches under a named agent identity, obeys robots.txt, performs deterministic (not LLM-judged) checks, and degrades gracefully by reporting when a page cannot be fetched.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences: what it fetches, what it returns, and the reliability caveat. The payload (the audit output) is front-loaded and no sentence is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does the work of enumerating returned findings (title, description, headings, structured data, canonical, language, links) and noting each carries a rationale and a fix. That is effectively complete for invocation; minor gaps remain on limits (page size, timeouts) and whether JS-rendered content is covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and there is only one parameter, so the schema already carries the syntax with a concrete example URL. The description contributes only the qualifier 'public' page, which mildly constrains acceptable values but adds little beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Fetch one public web page as CitedBot') plus the exact deliverable ('what is wrong with it for AI answers and search'), with the 'one page' scope setting it apart from bulk-oriented siblings. It stops short of naming backlinks / check_llms_txt / check_ai_crawler_access, so the boundary is implied rather than explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied — you call it to audit a single page — and the 'deterministic checks only' line sets a useful expectation about what kinds of findings come back. There is no explicit when-to-use/when-not framing, no prerequisite (e.g. page must be publicly reachable) and no routing to sibling tools for crawler access or llms.txt.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
- First observed
backlinks - First observed
check_ai_crawler_access - First observed
check_llms_txt - First observed
check_page
Related MCP Connectors
Check which AI crawlers a site allows and see pages the way AI crawlers do. Free, read-only.
Free check whether a website is technically open to AI assistants (AI crawlers, llms.txt, JSON-LD).
Audit webpage access for AI crawlers. API key and Premium or Partner plan required.
Check one web page for broken links, redirect chains hop by hop and mixed content. Free, no key.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables inspection of any website's AI-search readiness, checking AI crawler blocks, llms.txt, schema markup, and indexing directives from MCP clients like Claude.422 npmMIT

Agundur GEO Scannerofficial
AlicenseNot gradedqualityDmaintenanceChecks whether a website is readable and citable by AI search engines — llms.txt, Schema.org structured data, AI-bot access in robots.txt, content freshness, answer directness, E-E-A-T signals, plus a LocalBusiness Rich Results validator. Free, no API key, remote Streamable HTTP.1MIT
agentbuiltofficial
AlicenseNot gradedqualityCmaintenanceEnables AI agents to run a free AI-readiness audit of any URL, checking AI crawler rules, JavaScript-free page text, JSON-LD, llms.txt, sitemap, meta description, FAQ schema, and returning a score with findings and fixes. Also exposes the same capability via an A2A agent endpoint.MIT- AlicenseNot gradedqualityDmaintenanceEnables AI agents to perform instant SEO audits, check robots.txt, sitemaps, and AI crawler access for any URL without API keys.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.