Websites, brand and AI visibility
The MCP tools that resolve a Website, read its brand profile and competitors, manage tracked prompts, and read AI visibility and AI Shopping.
These tools are where every RankX AI session starts. list_projects resolves a
Website id that almost every other tool takes, get_brand_profile and
list_competitors say who the business is and who it competes with, and the
prompt tools are the measurement panel that produces the AI visibility numbers.
| Tool | Scope | What it does |
|---|---|---|
create_prompt | write | Adds an AI visibility prompt to a Website's tracked set. It is active immediately, so it joins the nightly run and counts against the plan's per-Website prompt cap. |
get_brand_profile | read | The Website's brand profile: who the business is, where it operates, its audience, its positioning and its services. The location fields here are the authoritative ones. |
get_product_shopping_detail | read | One product: the shopper questions it appears on, the merchants that shared those answers, and the cards the surface actually showed. |
get_project | read | One Website by id. Note the explicit-market flag: when it is false, the country and currency are defaults rather than facts about the business. |
get_prompt_visibility | read | Brand mention rates across the five tracked AI assistants, per assistant, over a chosen window. Rates divide by checks with a known verdict, so a null rate means unknown rather than zero. |
get_shopping_visibility | read | Whether a Website's products are recommended when a shopper asks an AI assistant, per surface. Every figure carries its denominator, and a null means no answer showed products at all. |
list_competitors | read | The Website's saved competitors with their domains and aliases, which is the set RankX AI compares against in visibility and ranking reports. |
list_projects | read | Lists the Websites in the workspace. Call this first: every other Website-scoped tool takes an id returned here. |
list_prompts | read | The AI visibility prompts tracked for a Website, which are the questions RankX AI asks the assistants on your behalf. |
list_shopping_competitors | read | The merchants whose products were recommended instead of yours. It is built from product cards that did not match your catalogue, so an incomplete catalogue inflates the list. |
run_prompt_check | spend | Runs a live AI visibility check for one tracked prompt across every assistant enabled for the Website. Priced per assistant checked, and a failed assistant is refunded. |
set_prompt_status | write | Pauses or resumes a tracked prompt. Only active prompts run in the nightly check, so this is the reversible way to stop one costing credits. Nothing is deleted. |
The table above is generated from RankX AI itself rather than written by hand, as at 19 August 2026 (source 377ef780). When the product changes, this page changes with it.
Always resolve the Website first
list_projects is the entry point, and RankX AI instructs every connected
assistant to call it before anything else. Every other tool here takes a
projectId it returns.
Do not guess an id. An id outside your credential's scope answers "not found" rather than telling you whether it exists, so guessing produces a confusing error rather than a useful one.
get_project carries one field worth reading: whether the customer explicitly
chose a market. When they did not, the country and currency on the Website are
defaults rather than facts about the business, and an assistant should treat them
as such rather than reporting them as the market the business trades in.
Reading visibility correctly
get_prompt_visibility returns a mention rate per assistant, over a 7, 30 or
90 day window, with the number of checks behind it.
Three rules for reading what comes back, and each of them changes the answer:
The rate divides by checks with a known verdict. A check that ran but could
not be analysed is excluded from both halves of the fraction and counted
separately. If nothing has a known verdict, the rate is null, and null means
unknown. Reporting it as 0% tells the customer they are invisible when nothing
has been measured.
Per-assistant is the real figure. The five assistants disagree with each other by design. A 40% rate on one and 10% on another is two findings, not an average of 25%.
One run is not a measurement. Assistants are non-deterministic: two runs of the same prompt frequently return different brand lists. The reliable unit is a rate across a panel of prompts over several runs.
Managing the prompt panel
list_prompts reads the panel, create_prompt adds to it, and
set_prompt_status pauses and resumes.
A prompt is a recurring cost. Every active prompt is checked on every
assistant enabled for the Website, on every run, and each of those pairs is
charged. So adding a prompt is a spending decision even though create_prompt
carries the write scope rather than spend.
Pausing is the reversible way to stop that cost. set_prompt_status moves a
prompt to inactive, which takes it out of the scheduled run and stops it costing
credits, while keeping its history. Nothing is deleted to achieve this, and there
is no delete tool: that is the product's rule, not an omission.
Plans cap prompts per Website, and the cap is enforced by the database rather than by the interface, so an add over the limit is refused with a limit reason rather than silently trimmed.
run_prompt_check is the one tool here that spends. It refreshes a single prompt
across every assistant enabled for the Website, and it is priced per assistant
checked. An assistant whose check fails is refunded, and failed assistants are
reported by name only, never with the upstream error text.
AI Shopping
Three tools cover the shopping surfaces, and they measure products rather than the brand. That distinction is why AI Shopping is its own group in the product and not a fold of AI visibility: an AI-visibility item is brand-level, and this is a catalogue.
get_shopping_visibility divides by answers that showed products at all. An
answer with no product carousel has no opinion about your catalogue, so counting
it against you would be inventing a loss. A null here means nothing showed a
carousel in the window, and it is never rendered as zero.
list_shopping_competitors is built from product cards that did not match
your catalogue, so an incomplete catalogue inflates the list. Worth saying out
loud when reporting it, because it is a real source of a wrong conclusion.
get_product_shopping_detail goes one level down: which shopper questions a
product appears on, which merchants shared those answers, and what the surface
actually showed. Every share divides by that prompt's own carousels rather than
by a site total.
Example prompts
"List my websites, then show me AI visibility for the first one over 30 days, broken down by assistant. Tell me the number of checks behind each rate."
"Which competitors get named in answers where my brand does not? Use my saved competitor set."
"Show me my tracked prompts and flag any that have never produced a known verdict."
"Pause the five prompts with the lowest mention rate, and tell me what that saves per run."
"Are my products recommended in AI shopping answers? If not, is it a catalogue problem or a visibility problem?"
Where to go next
- Rankings and Google data for the search side.
- Metrics defined for what each figure means.
- Null is not zero for the rule these tools all obey.
Tool reference
Every tool the RankX AI MCP server exposes, with its required scope and its inputs. Generated from the product's own contract rather than typed by hand.
Rankings and Google data
The MCP tools for tracked keywords, AI Overviews, Search Console, Analytics and index coverage, and the refusals that stop a missing connection reading as zero.