Skip to main content
Glama

Read AI visibility

read_visibility_overview
Read-onlyIdempotent

Read the headline AI visibility of one run: how often answers mention the brand and cite its site, the visibility score, rankings of the brand against each competitor (mention rate, citation rate, share of voice, average position), a breakdown per engine, and the run's status and answer counts. It defaults to the latest completed run in the default market; pass baseline_id to compare two runs. Each market is measured separately: pass market_id for another market, and never pool markets. unavailable no_completed_run means no run has finished yet; unavailable metrics_pending means the latest run has finished but its results are still being written, so try again later rather than report that nothing was measured. Use read_visibility_trends for change over time, read_visibility_results for the answers themselves, and read_visibility_sources for what was cited.

Input Schema

NameRequiredDescriptionDefault
cohortNocore is the scored prompts (the default); comparison is the prompts that also name a competitor, reported separately; all is both.core
engineNoRead one engine only; omit for every engine.
audit_idNoA run id (audit_id); omit for the latest run.
market_idNoA market id from get_project_business_context; omit for the default market. Markets are never pooled.
project_idYesA project id that list_projects returned.
baseline_idNoAn earlier run id (audit_id) to compare audit_id against.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changed
    • addedInput schema / properties / audit_id / description
      Added value: +"A run id (audit_id); omit for the latest run."
    • addedInput schema / properties / baseline_id / description
      Added value: +"An earlier run id (audit_id) to compare audit_id against."
    • addedInput schema / properties / cohort / description
      Added value: +"core is the scored prompts (the default); comparison is the prompts that also name a competitor, reported separately; all is both."
    • addedInput schema / properties / engine / description
      Added value: +"Read one engine only; omit for every engine."
    • addedInput schema / properties / market_id / description
      Added value: +"A market id from get_project_business_context; omit for the default market. Markets are never pooled."
    • addedInput schema / properties / project_id / description
      Added value: +"A project id that list_projects returned."
  2. Changed1 schema field changed
    • changedInput schema / properties / cohort / enum
      Previous value: -[
      -  "core",
      -  "comparison"
      -]New value: +[
      +  "core",
      +  "comparison",
      +  "all"
      +]
  3. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so the bar is lower, but the description still adds real behavioral context: default selection of the latest completed run, the market-never-pooled measurement rule, and the meaning of two specific error states (unavailable no_completed_run vs metrics_pending) with guidance to retry rather than misreport. It stops short of defining how the score or share of voice are computed, which is the only remaining behavioral gap.

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 what is returned, then defaults, then error semantics, then sibling routing — a sensible ordering with no filler sentences. It is dense and long-ish for a single paragraph, but each clause carries distinct information; a slightly tighter split would aid scanning.

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 six-parameter read with no output schema, the description carries return-value burden well by enumerating the headline metrics and per-engine breakdown, plus default and error-state behavior. It does not describe the response structure or field names, which leaves a small gap an agent must discover at call time.

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 baseline is 3; the description earns an extra point by stating the operational intent behind baseline_id (compare two runs) and market_id (switch market; markets never pooled), which the schema documents only as types. It adds no commentary on cohort or engine, which the schema already explains.

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 ("Read the headline AI visibility of one run") and then enumerates the exact payload: mention/citation rates, visibility score, competitor rankings with four named sub-metrics, per-engine breakdown, and run status. The scope (one run, one market) is explicit, so an agent can distinguish it from read_visibility_trends or read_visibility_results 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.

Usage Guidelines5/5

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

Explicitly names the defaults (latest completed run, default market), the two overriding conditions (pass baseline_id to compare two runs, pass market_id for another market), a hard constraint (never pool markets), and three named alternatives with their selection conditions (trends for change over time, results for answers, sources for citations). Nothing is left to inference.

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