Skip to main content
Glama

ai_visibility

Read-only

Audit whether AI assistants (ChatGPT, Claude, Perplexity, Google AI Overview, Bing Copilot) can read and cite a page, and optionally ask them. On-page pass (always): the live robots.txt resolved for 24 AI crawlers per RFC 9309 with the deciding line, Content-Signal, a fetch that identifies as GPTBot to catch WAFs filtering on user-agent, noindex/nosnippet/noai/data-nosnippet, text present without JavaScript, JSON-LD types and resolvable Organization/Person entities, heading outline, question-shaped headings, answer-first paragraph, lists/tables, numeric facts and quotes, chunk-sized sections, dateModified with age, author, outbound sources. Also readability grade, paragraph length, definitional openers, named-entity density, keyword stuffing, first-hand content, images/video, paywall and retired robots tokens. Retrievability first: where Google ranks the page for its own H1 question and whether it is indexed (2 SERPs) — a page that is not retrievable is not cited whatever its on-page score. Google AI Overview and Bing Copilot report brand MENTIONS only: their no-JS SERP exposes no sources. Returns a 0-100 score per pillar (retrievability, access, readability, structure, answerability, trust, plus offsite when requested), blockers that cap the score, every check with evidence and fix, and topFixes. Citation panel (when queries is set): asks each engine, reports cited / mentioned / rank per (query × engine), share of voice across all cited domains, and the domains winning the questions where the page is absent. Use this instead of seo_audit when the question is AI answers rather than Google rankings.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYesThe page URL to audit
brandNoBrand name to look for in the answer text ('mentioned' even when not cited). Defaults to the page's og:site_name / Organization name.
contextYesExplain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as "a user", "the customer", or "an account". Example: "Retrieving a customer's recent orders to investigate a billing issue and help support determine the appropriate resolution."
countryNoISO country code for the proxy exit, e.g. 'us' — also the locale of the AI Overview / Copilot SERP
enginesNoEngines to ask (default: all). aio = Google AI Overview read from a live SERP, copilot = Bing's generative answer, openai/anthropic = the vendors' APIs with web search (an approximation of ChatGPT/Claude search), deepseek = our own Google top-10 handed to DeepSeek to answer and cite (cheapest; measures whether a model picks your page from the same results).
offsiteNoAlso measure the brand OFF the page with five searches ("brand" site:youtube.com / reddit.com / wikipedia.org / linkedin.com / review sites) — the signals studies rank above anything on-page for whether a brand gets named. Adds an `offsite` pillar; billed as 5 SERP calls.
queriesNoQuestions to ask the AI engines (max 10). Omit for the on-page audit only — each (query × engine) pair is a billed engine call.
llm_modelYesThe exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model identifier with certainty, pass "unknown" — never guess.
no_renderNoSkip the rendered pass (cheaper — the two JS-parity checks are reported as skipped)
competitorsNoCompetitor domains to flag in the share of voice, e.g. ['brightdata.com']
no_bot_fetchNoSkip the extra request that identifies itself as GPTBot
no_retrievalNoSkip the retrievability probe (2 SERPs: Google rank of the page for its own H1 question, and whether it is indexed). On by default — it is the strongest single predictor of citation and a blocker when the page is not indexed.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.4/5.0
Behavior4/5

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

Annotations declare readOnlyHint=true and openWorldHint=true, and the description consistently describes a read/audit (not a mutation). It adds valuable behavioral context beyond annotations: the GPTBot-identifying fetch to catch WAFs, the no-JS nature of AI Overview/Copilot SERPs being mentions-only, the retrievability-first blocker semantics, and per-(query×engine) billing. These are non-obvious operating characteristics.

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

Conciseness3/5

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

Front-loaded with the single-sentence purpose and the seo_audit routing, which is strong. But the middle is a very long run-on enumeration of every check (robots.txt, JSON-LD, headings, readability, paywall tokens, etc.) that reads as a spec dump rather than earning each phrase; it inflates the description well past what an agent needs to select and invoke the tool.

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 a complex 12-parameter, open-world audit tool with no output schema, the description covers the pillars returned, blocker semantics, the citation panel behavior, and the distinction from seo_audit. Nothing essential to invoking it correctly (or interpreting that a not-indexed page caps the score) is missing.

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

Parameters5/5

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

Schema description coverage is 100%, so baseline is 3; the description goes well beyond by explaining the semantics of key optional params: `queries` triggers the citation panel and is billed per (query×engine), `offsite` adds a pillar and costs 5 SERP calls, `engines` values are explained (aio/copilot/API approximations/deepseek), and `no_retrieval` is described as the strongest predictor that is on by default. This meaningfully supplements the schema.

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 (audit) and resource (AI assistants' ability to read/cite a page), lists the actual engines, and enumerates the pillars measured. It explicitly distinguishes itself from the sibling seo_audit ('Use this instead of seo_audit when the question is AI answers rather than Google rankings'), so an agent can route correctly without opening the schema.

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 clear context and the key branch: on-page only when `queries` is omitted, citation panel when `queries` is set, and it names the alternative (seo_audit) with the distinguishing condition. However, no explicit when-NOT-to-use beyond the seo_audit contrast, and no guidance on whether to pre-fetch the URL.

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.