Skip to main content
Glama

Get AI Visibility Score

get_visibility_score
Read-onlyIdempotent

Get a site's AI Visibility Score (0–100 + letter grade) and competitive rank — how findable the site is across AI search engines. score is null until at least one unbranded (discovery) question has been measured: the site audit alone is readiness (get_geo_audit), not visibility, and is never reported as this score. shareOfVoicePct is a rounded integer, so a share above zero can read 0: shareOfVoiceSample.note carries the bounded form (<1%, >99%) — quote the note, not the integer. shareOfVoicePct comes with shareOfVoiceSample: the answer slots it was counted on (n), the measured discovery questions those slots came from (questions), a 95% Wilson interval, tooThin when the sample cannot carry the share — fewer than 10 questions — and earlyReading from 10 up to 32 questions, where the share is shown but is provisional and firms up as more questions are measured (say 'early reading' when you quote it): one answer names many businesses, so its slots are not independent and the sample size is the questions, not n. Quote the share as over its questions (the note says 'over N questions') with the interval, never the rate alone. The score itself is a weighted index, not a count out of a count, so scoreBasis says it carries no confidence interval; do not invent one. When score.thinBasis is present, fewer than its threshold of the questions have an answer naming the site and one answer can move the score by many points: say so whenever you quote the score. score.modelVersion names the formula; do not compare scores across versions. rivals answers 'who is ahead?' in the same call: the top five businesses by share of voice over the same answer slots (the dashboard's own ranking), plus your own row (you: true) with its real rank when it is not among the five, each with its rank, shareOfVoicePct and shareOfVoiceSample (counts and 95% interval). A competitor known only by a name has domain null and its name in name; your own rank is null while you hold no answer slot. Quote each share with its interval. When two businesses' intervals overlap it is a statistical tie, not a lead: versusYou says 'tied', and only 'ahead'/'behind' when the intervals are clear of each other — decided on interval95PctFine, the same interval to two decimals, because whole-percent bounds of small shares touch after rounding. rivalsBasis states the denominator. rivals is empty until a check has completed.

Input Schema

NameRequiredDescriptionDefault
siteIdNoOptional on a connected app: the site chosen with select_site is used. If given, it must be that site. With an API key it is required: a site id from list_sites.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / siteId / description
      Previous value: -"A Promvia site id. Get one from list_sites."New value: +"Optional on a connected app: the site chosen with select_site is used. If given, it must be that site. With an API key it is required: a site id from list_sites."
    • removedInput schema / required
      Removed value: -[
      -  "siteId"
      -]
  2. First observed

TDQS

A4.3/5.0
Behavior5/5

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

Annotations only declare readOnly/idempotent/non-destructive, and the description adds substantial non-obvious behavior: null-score preconditions, integer rounding that can turn a positive share into 0, note-bounded forms, sample-size and Wilson-interval semantics, early-reading thresholds, thinBasis fragility, and modelVersion non-comparability. It also defines the statistical-tie rule and the interval rounding pitfall. This is well beyond what the annotations convey.

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?

The purpose is front-loaded in the first sentence, but the body is a dense, run-on sequence of caveats covering rounding, sampling, intervals, ties, and versioning. Much of it is genuinely useful for interpreting output, yet the volume and lack of structural breaks (no lists, heavy clause chaining) make it harder to scan than it needs to be.

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 full burden of explaining return values, and it does: score, scoreBasis, thinBasis, modelVersion, shareOfVoicePct, shareOfVoiceSample (n, questions, interval, tooThin, earlyReading), and rivals with versusYou/rivalsBasis. It also covers edge cases like null rank and name-only competitors, making it complete for a complex scoring tool.

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?

With schema description coverage at 100% and a single optional siteId fully documented in the schema, the baseline of 3 applies. The description adds no further meaning to siteId beyond what the schema already states about select_site and API-key requirements.

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 opening sentence gives a specific verb and resource ('Get a site's AI Visibility Score (0–100 + letter grade) and competitive rank') and defines the concept in one phrase ('how findable the site is across AI search engines'). It also explicitly separates itself from a sibling: 'the site audit alone is readiness (get_geo_audit), not visibility,' so an agent can tell the two apart 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 Guidelines4/5

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

It clearly routes the agent away from get_geo_audit and states the precondition for a non-null score ('until at least one unbranded (discovery) question has been measured') plus when rivals is empty. It also frames what the tool answers ('who is ahead?'). It stops short of a full use-when/use-when-not matrix against every sibling, but the alternative and conditions are explicit.

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.