Skip to content
RankX AI
RankX AI Docs
MCP serverTool reference

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.

These tools cover both halves of Google: what RankX AI measures itself, which is your position on tracked keywords and whether an AI Overview appeared, and what Google reports about you, which is Search Console and Analytics once those are connected.

The two halves are deliberately separate. Tracked rank is RankX AI checking a keyword; Search Console's average position is Google's own aggregate. They measure different things and must never read as interchangeable.

ToolScopeWhat it does
get_ai_overview_presencereadHow often Google AI Overviews appeared for a Website's tracked keywords, and whether the brand was named or cited inside them. Unknown is a real third state, never zero.
get_aio_citationsreadThe domains and pages Google's AI Overviews cited for a Website's tracked keywords, ranked by how often each was cited.
get_analytics_trafficreadGoogle Analytics sessions, page views and active users for a Website, by page viewed or by session landing page. It refuses rather than reporting zero when Analytics is not connected.
get_google_integration_statusreadWhether Search Console and Analytics are connected for a Website, which property each points at, when each last synced, and what to do about it. This is how an assistant explains missing figures instead of guessing.
get_index_coveragereadGoogle's index status across the pages of a Website that have been inspected, plus the findings that follow from it. The response states its own denominator, because it describes pages inspected rather than every page on the site.
get_rank_trackingreadTracked keywords with their latest search positions to depth 20. It distinguishes not in the top 20 from never checked, and reports why a scheduled check was skipped.
get_realtime_visitorsreadHow many people are on the Website right now, from Analytics realtime. This is the only tool that calls Google live; every other Google read serves already-synced data.
get_search_console_drilldownreadThe link between queries and pages: which search terms bring people to one page, or which pages Google shows for one term. The second mode is how you find two pages competing for the same query.
get_search_console_opportunitiesreadTwo analytical views: how many queries sit in each position band with the clicks each earns, and the measured click difference on queries where Google shows an AI Overview. It refuses to conclude on a sample too small to support one.
get_search_console_performancereadClicks, impressions, click-through rate and average position for a Website, broken down by query, page, country, device, search surface or rich-result appearance.
get_search_console_trendreadThe same figures per day, plus a comparison with the equal-length window before it. The most recent day or two are marked provisional, because Google has not finalised them.
inspect_urlreadWhat Google itself says about one page: indexed or not, its own reason if not, which canonical it chose, and when it last crawled. This is the only way to see a page that is not indexed at all.
list_sitemapsreadThe sitemaps Search Console holds for a Website, when Google last read each one, and any errors it reports. Read only: submitting a sitemap is done in Search Console itself.
run_rank_checkspendRuns a live search-position check for one tracked keyword, including AI Overview capture.
save_keywordswriteStarts rank tracking for up to twenty keywords. Per-keyword results: a duplicate or a plan-limit refusal is reported on its own row and never fails the batch.
untrack_keywordwriteStops rank tracking a keyword and frees its slot against the plan limit. Reversible: the history is kept and re-adding the phrase resumes tracking.
update_keywordwriteChanges a tracked keyword's device, market, language or check frequency. The phrase itself cannot be changed; untrack it and add the new phrase instead.

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.

Tracked rankings

get_rank_tracking returns tracked keywords with their most recent positions, to depth 20, and it distinguishes three states that are never merged:

StateMeaning
RankedFound, position 1 to 20
Not in the top 20Checked, and not present in the first twenty results
Never checkedNo check has run for this keyword

Collapsing the last two into "no position" turns an unmeasured keyword into a failing one. The tool also reports why a scheduled check was skipped when one was, so a gap in a series has an explanation.

save_keywords starts tracking up to twenty keywords in one call and returns per-keyword results: a duplicate or a plan-limit refusal is reported on its own row and never fails the batch. untrack_keyword is reversible, keeps the history and frees the slot against the plan limit. update_keyword changes device, market, language or frequency, but not the phrase: to change the phrase, untrack it and add the new one.

run_rank_check is the spend tool here. It runs a live position check for one keyword, including AI Overview capture.

AI Overviews

get_ai_overview_presence reports how often an AI Overview appeared for your tracked keywords, and whether your brand was named or cited inside it.

"Unknown" is a real third state: an overview was detected but not captured. It is not "you were not mentioned", and treating it as one manufactures absences that were never measured.

get_aio_citations returns the domains and pages Google's AI Overviews cited, ranked by citation count. These are not the same as AI Answer Citations, which come from the assistants: different engine, different collection, different cadence. Citations, two kinds is the page that settles it, and it is worth reading before reporting either.

Both are collected by the rank tracker on tracked keywords, so adding keywords widens them and adding prompts does not.

Search Console

Four tools, and they answer four different questions:

  • get_search_console_performance answers "which queries and pages", broken down by query, page, country, device, search surface or rich-result appearance. Its totals are the totals Google itself reports, so they match Search Console.
  • get_search_console_trend answers "is this growing or falling, and when did it change", day by day, with a comparison against the equal-length window before it.
  • get_search_console_drilldown answers "what brings people to this page" or "which pages compete for this term". The second mode is how you find two of your own pages fighting over one query.
  • get_search_console_opportunities gives two analytical views: how many queries sit in each position band with the clicks each band earns, and the measured click difference on queries where Google shows an AI Overview.

Three properties matter when reporting any of them.

Position improves as the number falls, so get_search_console_trend reports it as a delta rather than a percentage change. A 20% "increase" in average position is a phrase that means nothing.

The most recent day or two are provisional. Search Console publishes on a two to three day delay at source, so those days are marked, counted separately, and must never be reported as a decline. They will rise.

The opportunities tool refuses to conclude on a small sample. Its AI Overview comparison needs enough queries on both sides, and below that it says so rather than dressing a two-query gap as a finding.

Analytics

get_analytics_traffic reads already-synced Analytics data by page viewed or by session landing page. Those are different concepts, synced from different reports: a landing page is where a session entered, and it carries engaged sessions where the page dimension does not.

Its user figure is summed per row, so it is not a count of unique visitors to the site. Reporting it as one is the easiest mistake to make with this tool.

get_realtime_visitors is the only tool on the whole server that calls Google live. Everything else reads stored data, which is fast, free and survives an upstream outage, and going live would not make Search Console fresher because the delay is Google's rather than the sync's. Realtime is live because no stored aggregate can answer "who is on the site right now" at any sync frequency.

Index coverage

Clicks and impressions only exist for pages Google has already indexed, so a page left out of the index is invisible in every other Google tool here. Two tools close that gap.

get_index_coverage reports index status across the pages that have been inspected, plus the findings that follow: pages not indexed that still earn impressions, pages where Google chose a different canonical than the page declares, pages blocked by robots or a noindex tag, and pages that changed after Google last crawled them. Its counts describe the pages inspected, not every page on the site, and the response states its own denominator.

inspect_url is the one page view, and it is the only way to see a page that is not indexed at all. Verdicts are cached, and a per-Website daily allowance set by Google applies, which the response reports.

list_sitemaps is the third piece of the same story: a sitemap that was never submitted, or that Google has not re-read in weeks, stops new pages being discovered and is invisible in traffic data. It is read-only, because submitting a sitemap is done in Search Console itself.

Both Google tools refuse rather than reporting zero

This is the most important behaviour in the group. A Google connection is in one of four states and only one yields figures:

StateWhat the tool does
Not connectedRefuses, and says to connect it
Reconnect requiredRefuses, and says to reconnect it, with the last successful sync date
Never syncedRefuses, and says to wait for the first sync
ReadyReturns figures. An empty range now genuinely means a quiet period

get_google_integration_status exists so an assistant asked "why is there no traffic data" can answer precisely instead of guessing. It is free to call, and calling it before reporting an absence is the difference between a useful answer and a wrong one. It also covers the case where a connection is healthy but no property has been selected, which otherwise looks exactly like "wait for the sync" and never resolves.

Example prompts

"Show me tracked keyword positions for my main site, and separate the ones that have never been checked from the ones outside the top 20."

"Did my Search Console traffic fall this month? Compare against the previous equal window and tell me if the last days are provisional."

"Which queries sit in positions 4 to 10, and how many clicks does that band earn? Then tell me whether an AI Overview is showing on them."

"Which pages does Google show for the term 'ai visibility tracking', on my site? I want to know if two of my pages are competing."

"Why is there no Analytics data for this website?"

"Which of my pages are not indexed but still earning impressions?"

Where to go next