Skip to main content
Glama

Server Details

Free AI-readiness audit: can ChatGPT, Claude and Perplexity read and cite a site? Fix snippets.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.3/5.0

Scored across 5 tools

Disambiguation4/5

The three analysis tools (audit_ai_readiness, check_ai_crawlers, check_llms_txt) all fetch site files, and crawler access / llms.txt are plausibly sub-checks of the main audit, so an agent could hesitate about which to call. The descriptions do resolve this by framing the narrower tools as targeted drill-downs ('Use when the question is specifically whether...'), and get_fix_snippet / get_free_visibility_check_link are clearly distinct.

Naming Consistency5/5

All five names follow a consistent verb_noun pattern (audit_*, check_*, get_*), with snake_case throughout and descriptive nouns. get_free_visibility_check_link is long but still predictable and unambiguous.

Tool Count5/5

Five tools is tightly scoped to a single narrow domain (AI/GEO readiness auditing) and each one has a distinct role: full audit, crawler drill-down, llms.txt drill-down, fix generation, and measurement handoff. Nothing feels padded or missing at the count level.

Completeness4/5

The lifecycle is well covered: diagnose (audit + focused checks), remediate (get_fix_snippet), and verify real visibility (get_free_visibility_check_link). Minor gaps exist — no re-run/cache-bypass option, no multi-site or historical comparison, and no tool to check a specific URL's raw content outside the full audit.

Available Tools

5 tools
audit_ai_readinessAudit AI readiness of a websiteA
Read-onlyIdempotent
Inspect

Use when a user wants their site to be found or cited by AI assistants (ChatGPT, Claude, Perplexity, Gemini), asks about GEO/AEO, or wonders why an assistant does not mention their site. Fetches up to 5 URLs of the public site (page, robots.txt, sitemap, llms.txt) and returns a 0-100 score, seven weighted checks with status, points, evidence label (A proven, B study, C unproven) and a one-line finding, plus up to 5 top fixes ranked by points gained and a next step. Deterministic, no LLM; results are cached for 24 hours. Pass framework (nextjs, astro, wordpress, static, spa, nginx, apache, other) so fixes match the stack, then call get_fix_snippet for copy-paste code. Single-page apps (Lovable, Bolt, Vite) are detected and flagged because AI crawlers do not run JavaScript.

NameRequiredDescriptionDefault
urlYesPublic http(s) URL or bare domain of the page to audit, for example https://example.com
frameworkNoThe site's stack, so fixes match. Omit to auto-detect.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the readOnly/idempotent annotations: discloses that it makes up to 5 network fetches of public files, that it is deterministic with no LLM call, that results are cached for 24 hours, and that SPAs are detected and flagged because AI crawlers do not run JavaScript. That last caveat materially affects how an agent should interpret the result.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Dense but front-loaded: trigger conditions come first, then what is fetched and returned, then the framework/follow-up call, then the SPA caveat. The second sentence is long and carries three separate ideas, but almost every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, and the description compensates fully: it enumerates the return payload (score, seven checks with status/points/evidence grade, up to 5 ranked fixes, next step) and explains the provenance tiers A/B/C. An agent knows both what it will get and what to do next.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds the rationale for `framework` — fixes are matched to the stack and the value is reused downstream in get_fix_snippet — which the schema does not convey. The auto-detect behavior restates the schema's own note rather than adding to it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (audits a site's AI-readiness) plus concrete scope: fetches up to 5 URLs, returns a 0-100 score with seven weighted checks. The breadth is clearly distinguishable from the narrower siblings check_ai_crawlers and check_llms_txt, which cover only a subset of what is audited here.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit triggers: a user wanting to be cited by AI assistants, asking about GEO/AEO, or wondering why an assistant omits their site. It also sequences the follow-up ('then call get_fix_snippet'). It does not state when to prefer the narrower siblings (check_ai_crawlers, check_llms_txt) or any exclusion condition.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

check_ai_crawlersCheck which AI crawlers can reach a siteA
Read-onlyIdempotent
Inspect

Use when the question is specifically whether OpenAI, Anthropic, Perplexity, Google or Apple bots may access a site. Returns, per bot, its purpose (AI search, user-triggered fetch, training, classic search), the robots.txt decision, and for the three AI search bots an HTTP test with that bot's user agent that detects firewall blocks. Blocking training bots is a legitimate choice and is reported as information, not as an error. Fetches up to 5 URLs.

NameRequiredDescriptionDefault
urlYesPublic http(s) URL or bare domain, for example https://example.com

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only, idempotent, non-destructive and open-world, yet the description adds substantial context beyond them: the per-bot return shape (purpose category, robots.txt decision, HTTP test with that bot's user agent, firewall-block detection) and the important semantic that blocking training bots is reported as information, not an error. It also discloses the 'up to 5 URLs' fetch limit, which is real behavioral context an agent cannot get from the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences, front-loaded with the trigger condition, then return content, then the interpretive caveat, then the fetch limit — a logical and largely waste-free order. It is dense (purpose taxonomy and HTTP testing squeezed into one sentence) but nothing is redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description must carry the return-value burden, and it does: per-bot purpose, robots.txt decision, and HTTP firewall test results are all described. With a single required parameter and annotations covering the safety profile, an agent has everything needed to call it and interpret the result correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the url parameter is already documented with a format example, so the schema does most of the work. The description still adds meaningful semantics with 'Fetches up to 5 URLs', implying the single url argument can expand into multiple fetched targets (e.g. redirects/sitemap), which is not visible in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb+resource (check whether named AI crawler bots may access a site) and enumerates the exact bots covered, so the agent knows precisely what is inspected. It implicitly scopes itself away from the broader audit_ai_readiness via 'when the question is specifically whether...', but it never names a sibling tool, so sibling differentiation is only inferential.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Use when the question is specifically whether OpenAI, Anthropic, Perplexity, Google or Apple bots may access a site' gives a clear triggering condition and narrows the use case well. It does not state explicit exclusions or point to check_llms_txt / audit_ai_readiness as the alternative for adjacent questions, so routing between siblings is left partly to inference.

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.txtA
Read-onlyIdempotent
Inspect

Use when a user asks about llms.txt. Fetches /llms.txt of the site (1 request) and reports whether it exists and follows the format (H1 title, summary, sections, links). Also states the evidence honestly: llms.txt is unproven for AI visibility. Returns a minimal template when the file is missing.

NameRequiredDescriptionDefault
urlYesAny URL on the site, or a bare domain; /llms.txt is looked up at its origin

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-only, idempotent, open-world behavior, and the description still adds real substance: the request cost (1 request), what is inspected, the fallback behavior (returns a minimal template when the file is missing), and an honesty caveat that llms.txt is unproven for AI visibility. That last point is behavioral context an agent cannot infer from structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, each carrying distinct payload: trigger, action plus request cost, and result/fallback behavior. The trigger is front-loaded and there is no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description must convey return values — and it does, covering the existence verdict, format assessment, the missing-file template, and even an interpretive caveat. Nothing an agent needs to invoke or interpret this tool is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the url parameter already documents that any URL on the site or a bare domain is accepted with lookup at the origin. The description's "of the site" echoes rather than extends that, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description pairs a specific verb and resource — fetch /llms.txt, report existence and format compliance — and enumerates the format criteria checked (H1, summary, sections, links). This is clearly a single-file check, distinct from the broader audit_ai_readiness and check_ai_crawlers siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Use when a user asks about llms.txt" gives an explicit trigger condition. It does not name the sibling tools or state when to prefer the broader audit instead, so the routing guidance is clear but not fully comparative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_fix_snippetGet a copy-paste fixA
Read-onlyIdempotent
Inspect

Returns deterministic, copy-paste code for one audit check on one stack. No network access. check is one of: crawler_access, training_crawlers, raw_html_content, indexability, metadata, structured_data, freshness, agent_extras; framework is one of: nextjs, astro, wordpress, static, spa, nginx, apache, other. Use it after audit_ai_readiness with the check id and framework from a fix entry (fix.snippetId and fix.framework).

NameRequiredDescriptionDefault
checkYesCheck id from an audit result (fix.snippetId)
frameworkNoStack of the site. Defaults to other (generic).

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered and "No network access" largely restates openWorldHint=false. "Deterministic" is a genuinely useful trait beyond the annotations, but there is no note on behavior for unsupported check/framework combinations or fallback handling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the value proposition, then the allowed values, then the invocation rule — a sensible order. The inline re-enumeration of check and framework duplicates the schema and is the only expendable content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only, two-parameter, fully schema-documented tool this covers purpose, precondition, valid inputs and rough return shape (deterministic copy-paste code) with no output schema needed. Minor gap: nothing about what happens when the requested combination has no snippet.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the enum values themselves are already documented; the description adds provenance by tying check to fix.snippetId and framework to fix.framework, which tells the agent where to obtain valid values. Repeating the full enum lists is redundant with the schema, but the cross-tool linkage is real added meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource — returns copy-paste code for one audit check on one stack — and positions itself as the follow-up to audit_ai_readiness, which no sibling does. An agent can tell immediately that this is the snippet-retrieval tool rather than an audit or crawl-check tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Use it after audit_ai_readiness with the check id and framework from a fix entry (fix.snippetId and fix.framework)" gives an explicit ordering rule and names the exact source of the parameter values. It stops short of stating when not to call it (e.g., when no fix entry exists) or naming an alternative.

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.

  1. 5 tool updates
    • First observedaudit_ai_readiness
    • First observedcheck_ai_crawlers
    • First observedcheck_llms_txt
    • First observedget_fix_snippet
    • First observedget_free_visibility_check_link

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables auditing AI search visibility: checks site readiness for AI crawlers and measures whether ChatGPT, Gemini, and Perplexity recommend your site, including verbatim answers and citation gap analysis.
    79 npm
    4
    AGPL 3.0
  • A
    license
    A
    quality
    A
    maintenance
    Check 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.
    2
    3 npm
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Audits AI-bot visibility: robots.txt per-bot for 22 AI user-agents (GPTBot/ClaudeBot/PerplexityBot/etc), Cloudflare flags, JSON-LD, sitemap, llms.txt, SPA shell, plus cross-model brand mentions via Perplexity + OpenRouter. 0-100 score. SSRF-guarded, spend-capped.
    4
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Checks 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.
    1
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources