Visibility Readiness
Server Details
Checks if search engines and AI tools can read your site; evidence plus fixes for your builder.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 6 tools
The three get_* tools all return artifacts from an audit, but their descriptions clearly separate them: get_findings is run results/progress, get_report is an evidence workbook download, and get_fix_pack is remediation guidance per builder. The run_audit → get_findings (via run_id) and recheck handoff is explicitly documented, leaving little chance of misselection.
All names are snake_case with verb-first construction (run_audit, get_findings, get_fix_pack, get_report, list_profiles). Only 'recheck' breaks the verb_noun pattern as a bare verb, which is a minor deviation rather than a convention clash.
Six tools is well-scoped for a visibility audit service: one entry action, one async result fetch, one re-check, plus report, fix-pack, and profile discovery. Each tool has a distinct role and none appear redundant.
The core lifecycle is covered: launch an audit, poll progress/findings, re-check a prior run, and retrieve both evidence and remediation outputs. Gaps are minor — no way to list past runs/history or cancel an in-flight audit — but agents can work around these with run_ids they already hold.
Available Tools
6 toolsget_findingsARead-onlyInspect
Return the result of an audit or re-check you started: progress if it is still running, the findings when complete.
| Name | Required | Description | Default |
|---|---|---|---|
| run_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds genuine value by disclosing that the response varies by run state (progress vs. findings), but it says nothing about polling frequency, retention, or what happens for an unknown run_id.
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?
A single front-loaded sentence with no wasted words; the primary action comes first and the state-dependent return is expressed compactly in the trailing clause.
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?
For a one-parameter read-only polling tool with annotations covering safety and no output schema, the description covers the essential behavior: it is a retrieval call tied to a previously started run and returns either progress or findings. The only missing piece is how the run_id is sourced and any polling guidance.
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 description coverage is 0% for the single run_id parameter, so the schema supplies only the name and type. The description indirectly characterizes run_id as identifying a run 'you started', which gives it meaning as a handle from a previous launch, but it never explains the parameter or where to obtain the value.
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?
The description states a specific verb ('Return') and resource ('the result of an audit or re-check'), and it distinguishes retrieval from the starting actions implied by siblings run_audit and recheck. It could be sharper by explicitly naming those siblings, but an agent can still tell what it fetches.
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 phrase 'you started' establishes the prerequisite—this is a follow-up call after launching an audit or re-check—and it clarifies the two usage states (polling while running vs. collecting results when complete). It does not state when not to use it or name alternatives explicitly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_fix_packARead-onlyInspect
Builder-specific, copy-paste fix pack for a run's failures. builder: emergent, lovable, nextjs or generic. Paid plans. Returns fix_pack text plus fill_in: values only the site owner knows. Ask the user for them and substitute [[NAME]] before handing the pack over.
| Name | Required | Description | Default |
|---|---|---|---|
| run_id | Yes | ||
| builder | No | generic |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true and destructiveHint=false, so safety is covered. The description still adds value beyond them by disclosing the return shape ('fix_pack text plus fill_in') and the required post-processing step of asking the user and substituting [[NAME]]. It does not cover size, pagination, or what happens for a run with no failures.
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 short sentences, front-loaded with the deliverable, followed by the return contract and the post-processing instruction. Fragmentary style is efficient, though 'builder: emergent, lovable, nextjs or generic' reads as schema notation rather than prose.
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 correctly covers the return shape and the fill_in placeholder workflow, plus the paid-plan prerequisite. An agent could call this and hand over the result correctly; only the no-failure case and the meaning of run_id remain unstated.
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 description coverage is 0%, so the description carries the burden and largely does: it enumerates the accepted builder values (emergent, lovable, nextjs, generic) that the schema leaves as an unconstrained string with a default. run_id's meaning is only implied by 'a run's failures', so it is not fully spelled out.
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 deliverable (a builder-specific, copy-paste fix pack) scoped to 'a run's failures', which is clearly distinct from the sibling get_findings, get_report, and recheck tools. It stops short of naming those siblings, so differentiation is inferred from the resource rather than made 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?
Implies the trigger condition (a run that has failures) and adds a real gating constraint ('Paid plans'), but never says when to prefer this over get_findings or get_report, or what to do if the plan is unpaid. Usage context is present but not comparative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_reportBRead-onlyInspect
Download link for the evidence workbook (every check, every URL, raw evidence). Paid plans.
| Name | Required | Description | Default |
|---|---|---|---|
| run_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, non-destructive, open-world), so the description's added value is the entitlement constraint ('Paid plans') and the fact that the tool returns a link rather than inline data — both genuinely useful for planning a call. It omits link lifetime/expiry and what happens on an unpaid plan, which keeps it from a 5.
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 tight fragments with the payload described first and the entitlement constraint second; nothing is padded. It is arguably too terse for the information an agent needs, but as a structural matter it is well front-loaded and waste-free.
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?
For a single-parameter tool with annotations and no output schema, the description covers what is returned and the plan requirement but leaves run_id semantics, link expiry, and failure behavior undocumented. Adequate to attempt a call, not complete enough to call it confidently.
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?
There is one required parameter, run_id, with 0% schema description coverage, and the description never mentions it — no indication of where a run_id comes from (presumably run_audit) or what scoping it applies. With the schema carrying no documentation, the description fails to compensate for the gap.
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?
The description names the concrete artifact returned — a download link for the 'evidence workbook' containing every check, URL and raw evidence — which lets an agent distinguish it from get_findings (summarized results) and get_fix_pack (remediation). It stops short of an explicit verb+resource framing or a direct sibling callout, so it sits at a clear 4 rather than a 5.
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?
'Paid plans' signals an entitlement precondition and the parenthetical implies the use case (wanting raw evidence rather than findings). However, there is no explicit when-to-use vs. when-not-to-use guidance and no named alternative such as get_findings for agents that only need summarized results.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_profilesBRead-onlyInspect
Explain the site-type profiles that add checks to an audit.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already state readOnlyHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is covered. The description adds that the profiles relate to audit checks, but it does not disclose return format, ordering, completeness, or whether the explanation is static or dynamic.
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?
The description is a single short sentence with no filler, making it appropriately sized. The wording is slightly ambiguous because 'Explain' rather than 'List' may mislead about whether the result is a list or prose, but the structure is front-loaded and efficient.
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?
The tool is a zero-parameter, read-only listing operation with low complexity, and the description conveys the domain object being listed. It does not fully describe what each profile entry contains or whether all profiles are returned, but for a simple listing tool with no output schema the core context is present.
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 tool has zero input parameters, so there are no parameter semantics to document beyond the schema. The baseline score for zero-parameter tools is 4, and the description does not need to compensate for any schema gaps.
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?
The description names the specific resource—site-type profiles that add checks to an audit—and indicates it explains or lists them. However, the verb 'Explain' is not fully aligned with the tool name 'list_profiles', and it does not distinguish this tool from siblings such as run_audit or get_report.
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?
There is no explicit guidance on when to use this tool versus alternatives like run_audit or get_report, nor are there prerequisites or exclusions. Usage can only be inferred from the phrase about profiles that add checks to an audit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recheckARead-onlyInspect
Re-run a previous audit (same site and profiles) and return only the checks whose status changed. Paid plans. Like run_audit, it may return status "running": then call get_findings with the new run_id.
| Name | Required | Description | Default |
|---|---|---|---|
| run_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint/openWorldHint/destructiveHint=false), it discloses that the payload is restricted to changed checks and that execution may be asynchronous with a 'running' status, which is the key behavioral trait an agent needs. It does not state whether the prior run is preserved or superseded, which matters for an operation that produces a new run.
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 short sentences, front-loaded with purpose, then the paid-plan gate, then the async follow-up. No filler and every sentence carries information needed to invoke it correctly.
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 correctly explains the return value (only checks whose status changed, possibly a 'running' status). It is nearly complete for a one-parameter tool; the only gap is provenance of the input run_id.
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 0% for the single run_id parameter, so the description must compensate. It implicitly clarifies that run_id refers to the previous audit while the returned run_id is a new one, which is genuinely useful disambiguation, but it never says how to obtain a valid run_id or its format.
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 ('re-run a previous audit') plus the two defining constraints (same site and profiles, delta-only output). This clearly separates it from run_audit, which starts a fresh audit, and from get_findings, which fetches results.
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?
Gives a prerequisite ('Paid plans') and an explicit follow-up branch: if status is 'running', call get_findings with the new run_id. It does not explicitly say to use run_audit instead when no prior run exists, so the when-not case is only implied by 'previous audit'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_auditARead-onlyInspect
Audit a public website for search, AI-crawler and AI-agent readiness.
Only audit sites the user owns or is allowed to check (our terms require it). If it's unclear whose site it is, ask first.
url: the site's homepage, e.g. https://example.com
profiles: optional site types that add checks: saas, health, mental-wellness, commerce, local (paid plans).
Only pass a profile when you know what the site is (read its homepage or ask the user). "saas" means
self-serve software with plans; do not use it for agencies, consulting or services firms. If unsure, omit.
Returns findings with evidence, worst first. If the audit needs longer than about 40 seconds it returns
status "running" with a run_id: call get_findings with that run_id about 30 seconds later.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| profiles | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, but the description adds behavior those annotations cannot convey: the ~40 second synchronous window, the fallback of returning status 'running' with a run_id, the recommended polling delay, and the ordering of results (worst first). The authorization/terms constraint is also surfaced, which is meaningful for an open-world tool.
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?
The content is front-loaded with purpose, then preconditions, then parameter guidance, then return/polling behavior — a sensible order with no filler sentences. It is slightly dense, with the profiles guidance wrapped across several indented lines, which costs a little scannability but nothing is redundant.
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 still tells the agent what comes back (findings with evidence, worst first) and how to handle the async case. Combined with the ownership precondition and the full profile vocabulary, an agent has everything needed to call this correctly and handle both return shapes.
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 description coverage is 0% and there are no enums, so the description carries the full burden — and it does: url is defined as the site's homepage with a format example, and profiles is described as optional site types with the actual allowed values enumerated (saas, health, mental-wellness, commerce, local), the paid-plan caveat, and a default-to-omit rule when unsure. This is materially more than the schema provides.
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?
The first line gives a specific verb (audit) plus the resource and scope (a public website, for search / AI-crawler / AI-agent readiness), which is distinct from the read-side siblings like get_findings, get_report, and recheck. An agent can tell immediately that this is the entry point that produces findings rather than retrieving or re-running them.
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?
It states an explicit precondition (only audit sites the user owns or is allowed to check, and ask first if ownership is unclear) and gives a clear when-to-use / when-not-to-use rule for profiles, including the concrete exclusion of agencies, consulting, and services firms from 'saas'. It also routes the agent onward: if the result is 'running', call get_findings with the run_id about 30 seconds later.
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.
6 tool updates
- First observed
get_findings - First observed
get_fix_pack - First observed
get_report - First observed
list_profiles - First observed
recheck - First observed
run_audit
Related MCP Connectors
Finds why Google and AI cannot read your site, gives the exact fix, applies it once you approve.
Reads a site as search engines and AI assistants do, ranks its fixes, and checks them live.
Reads a site as search engines and AI assistants do, ranks its fixes, and checks them live.
Scan any public website and see how ready it is for AI agents and AI search, explained plainly.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEvaluates any website's AI visibility with 15 checks across crawlability, structure, content, and connectivity, and provides actionable fixes.4 npmMIT
- AlicenseAqualityCmaintenanceCheck whether a website is visible to AI search engines (ChatGPT, Perplexity, Claude, Google AI Overviews). Returns a 0-100 readiness score, a grade, and a specific fix for each gap. Dependency-free, no API keys.25 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables checking whether a page or domain can be found and cited by AI assistants and search engines, covering page-level fixes, AI-crawler access via robots.txt, llms.txt validity, and backlink strength. It is free, read-only, and requires no account.MIT
- AlicenseNot gradedqualityBmaintenanceEnables checking websites' readiness for AI crawlers and generative search, scoring GEO factors and generating copy-paste robots.txt, Schema.org, FAQ, and llms.txt assets. Includes tools for fixes, new-site setup, monitoring suggestions, and site reports.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.