Skip to main content
Glama

CanAIReadMe

Audit a website's AI visibility

audit_ai_visibility
Idempotent

Checks whether AI assistants and AI agents can understand and act on a business from its public website, and explains what gets in the way. Use it when the user asks things like: "Does AI understand my website?", "What would an AI think this company does?", "Why doesn't ChatGPT know what my company sells?", "Is my site ready for AI agents?", "Audit this site for machine readability", "Can an AI figure out the pricing and how to buy or become a customer?", "What information is missing for AI to understand this business?", or after they changed their site and want to check the result.

Returns a deterministic 0-100 AI Visibility Score across 8 dimensions (crawl access, business identity, offerings, pricing, structured data, trust, agent actionability, recommendation confidence), how AI would likely describe the business, what it could not determine, and the highest-impact issues, each with evidence (quotes and source URLs) and a one-line fix summary.

Free. It never changes the website: it reads public pages the way AI crawlers do (raw HTML, robots.txt, structured data, llms.txt). When no recent analysis exists it runs one and stores the report on CanAIReadMe. It reuses an analysis up to 7 days old unless fresh=true (free re-analysis once per 24 hours per site). A site it has not seen takes about 10 to 40 seconds; if the result has status "running", call again with the returned scan_id.

Do not use it to explain concepts (SEO, GEO, schema.org), for general SEO or marketing advice, to write content or build websites, to track brand mentions or rankings in AI answers (it does not measure those), or when no specific website is involved. To answer what a company does, sells or costs, use get_business_profile instead.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYesWebsite address or domain, for example acme.com or https://acme.com/.
freshNoRe-read the site now instead of reusing a recent analysis. Free tier: once per 24 hours per site.
detailNosummary (default): top 5 issues. full: every issue.
scan_idNoReturn a specific earlier analysis (the scan_id from a previous result), for example to poll a running one.
purchase_idNoWith access_token from get_fix_package: fresh requests use one of the purchase's private re-scans.
access_tokenNo
wait_secondsNoHow long to wait for a new analysis before returning status running. Default 25.
max_age_hoursNoOldest analysis you accept, in hours. Default 168 (7 days).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
cacheYes
errorYes
notesYes
domainYes
statusYes
scan_idYes
analysisYes
progressYes
freshnessYes
report_urlYes
next_actionsYes
content_noticeYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only declare safety profile (readOnlyHint=false, destructiveHint=false, openWorldHint=true, idempotentHint=true); the description goes well beyond them. It discloses that the site is never modified, what is read (raw HTML, robots.txt, structured data, llms.txt), that a report is stored on CanAIReadMe, the 7-day reuse window, the 24-hour free re-analysis cap, 10-40s latency, and the polling contract when status is 'running'. readOnlyHint=false is consistent with server-side report storage rather than a contradiction.

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: purpose, then return summary, then behavioral mechanics, then anti-patterns. Each block earns its place, though the long run-on list of example user questions is slightly bloated and could be trimmed without loss.

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?

For an 8-parameter, open-world audit tool with an output schema, the description covers everything the agent needs to invoke it correctly: cost, latency, non-mutation guarantee, caching behavior, the asynchronous polling path, and scope boundaries. Return-value detail is appropriately left to the output schema.

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 88%, so the baseline is 3, but the description adds real meaning: fresh is tied to the once-per-24-hours free re-analysis rule, scan_id is tied to polling a 'running' result, and the default reuse window (7 days, matching max_age_hours) is restated in prose. purchase_id/access_token and wait_seconds get no prose treatment, which keeps it out of the top band.

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 states a specific verb and resource: it checks whether AI assistants/agents can understand and act on a business from its public website, and explains what blocks that. It also names the sibling it is not (get_business_profile) for the adjacent question of what a company does, sells or costs, so the agent can separate the two without opening either schema.

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

Usage Guidelines5/5

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

It provides explicit trigger phrasing mapped to real user questions, an explicit exclusion list (no concept explanations, no SEO/marketing advice, no content writing, no AI brand-mention tracking, no site-less requests), and a named alternative tool for a neighboring intent. When-to-use, when-not-to-use, and the alternative are all present.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources