Updated September 24, 2026

Vantage tools reference

Vantage is a remote MCP server at https://vantagemcp.dev/mcp. It exposes nine tools that check whether ChatGPT, Gemini, Perplexity and Google's AI Overview cite a domain, for which questions, and how that changes. This page lists what each tool does, its arguments, what it returns and what it costs.

Connect it

If your client supports MCP sign-in (many do, for example Claude's custom connectors), addhttps://vantagemcp.dev/mcp with no key: it opens a Vantage page where you create a free account with your email, or sign in with a key you already have. Otherwise get afree API key (30 units a month, no card) and add this to your MCP client's config, often a file named mcp.json. Setup for each client is in the install section.

{
  "mcpServers": {
    "vantage": {
      "url": "https://vantagemcp.dev/mcp",
      "headers": { "Authorization": "Bearer YOUR_API_KEY" }
    }
  }
}

Units and plans

Every plan is a monthly allowance of units, and one unit is one check. The allowance restarts each calendar month. Free is 30 units, Pro is 500 ($29 USD a month) and Scale is 1,500 ($49 USD a month). If the data provider fails on a call, the unit is handed back. Which tool costs what:

ToolCostPlatforms
check_prompt_coverage1 unit per keyword, per sampleChatGPT, Gemini or Perplexity
analyze_citation_gap1 unitChatGPT, Gemini or Perplexity
find_citation_leaders10 unitsChatGPT or Google AI Overview
analyze_citation_trend1 unitChatGPT or Google AI Overview
analyze_citation_structure1 unit per sampleChatGPT, Gemini or Perplexity
analyze_citation_structure_batch1 unit per keywordChatGPT, Gemini or Perplexity
find_cited_questions10 unitsChatGPT or Google AI Overview
get_check_historyfree (0 units)none
get_usagefree (0 units)none

Perplexity and Gemini are not covered: the data provider does not offer them for these checks. The keyword-based tools (check_prompt_coverage, the two analyze_citation_structure tools and analyze_citation_gap) look at ChatGPT's live answer for the United States, in English.

Which tool to use

check_ai_visibility was removed in version 1.6.0. Use check_prompt_coverage, find_citation_leaders with compare_domain, or analyze_citation_trend instead.

Not sure what to ask? The guide to checking whether ChatGPT cites your website walks through it, and the free check shows the shape of ChatGPT's answer for any keyword without a key.

check_prompt_coverage

1 unit per keyword, per sampleChatGPT, Gemini or Perplexity

Checks which of up to 10 keywords cite a domain in an AI answer, and which do not. This is usually the first question in an audit: out of everything you care about, where do you already show up, and where are you invisible. Each result is remembered, so the next check says what changed.

ArgumentTypeDescription
domainstringBare domain, for example example.com (no https://, no www).
keywordslist of stringsUp to 10 prompts or topics to check the domain against.
brandstring, optionalBrand name to look for in the answer text. Without it the domain's first label is used, which can match an ordinary word by accident, so pass the real brand when you know it.
countrystring, optionalMarket to read the answer in, for example Italy. Default United States.
languagestring, optionalLanguage code, for example it. Default en. Write the keyword in that language too.
enginestring, optionalchat_gpt (default), gemini or perplexity. ChatGPT and Gemini are read the way a person sees them in those apps; Perplexity through its sonar API with web search.
samplesinteger, optionalIndependent answers to read, 1 to 5. Default 1. Answers change from run to run, so use 3 before telling someone they are or are not cited. Each sample costs a unit.

Returns. Per keyword: whether the domain is cited (in at least half the samples), in how many of the sampled answers, its best rank among the sources, the domains that are cited when it is not, how much of that is community sites such as Reddit and YouTube (source_mix), whether the answer names it without linking to it, the model and time of the answer, and previous and change: your last check of the same domain and keyword, and whether the citation rate went up, down or stayed the same. Overall: keywords checked, keywords cited, coverage percentage, the keywords where the domain is not cited, and the keywords newly cited or no longer cited since your last check.

Note. "Cited" and "mentioned" are reported separately and never merged: a keyword where the answer names you but does not link to you is listed under mentioned_not_cited. A keyword the provider fails on carries an error field instead of failing the whole call. Results are kept for 180 days against your API key and only your key can read them.

Example arguments

{
  "domain": "example.com",
  "keywords": ["best project management software", "asana alternatives"],
  "brand": "Example"
}

analyze_citation_gap

1 unitChatGPT, Gemini or Perplexity

Compares one of your own pages with the answer an AI engine actually cites for a keyword, and returns a fix brief: ordered rewrite instructions your agent can carry out on the page. Use it on a keyword that check_prompt_coverage says you are missing.

ArgumentTypeDescription
keywordstringThe topic or query, for example best project management tool.
your_urlstringFull URL of your own page to compare.
countrystring, optionalMarket to read the answer in, for example Italy. Default United States.
languagestring, optionalLanguage code, for example it. Default en. Write the keyword in that language too.
enginestring, optionalchat_gpt (default), gemini or perplexity. ChatGPT and Gemini are read the way a person sees them in those apps; Perplexity through its sonar API with web search.

Returns. The structure of the winning answer and of your page, each with its section outline; the plain-English gaps; the winning answer's points your page does not appear to cover (word matching, so check each); and fix_brief, the changes to make, most important first. The brief always ends with one step beyond the page: which community sites the cited answer relies on, or which other sites to get mentioned on, because being cited is decided mostly by what other sites say about you. The brief never contains the cited answer's text. If either side cannot be fetched or parsed you get an error instead.

Note. This is the tool to use for "what should I change on this page". For only the winner's shape, use analyze_citation_structure.

Example arguments

{
  "keyword": "best project management tool",
  "your_url": "https://example.com/best-project-management-tools"
}

find_citation_leaders

10 unitsChatGPT or Google AI Overview

Finds which domains dominate AI-answer citations for a topic, and optionally whether a specific domain is among them. Use it for "who is winning AI search for this" or "is my competitor cited more than me".

ArgumentTypeDescription
keywordstringThe topic or query to check.
platformstring, optionalchat_gpt (default) or google (Google's AI Overview).
compare_domainstring, optionalA bare domain to look up in the results. It must match the registrable domain exactly.
countrystring, optionalMarket to check, for example Italy. Default United States. chat_gpt only has United States data, so use platform google for any other country.
languagestring, optionalLanguage code, for example it. Default en, the only option for chat_gpt.

Returns. The most-cited domains with their mention counts, the provider's own cap on that list, source_mix (the share of those mentions that go to community sites such as Reddit, YouTube and X), and, when compare_domain was given, that domain's rank or null.

Note. Absence from the list is not proof of zero citations, only that the domain did not rank within the provider's cap. This tool reads the provider's tracked mentions, which is a different measurement from the single live answer that analyze_citation_structure reads, so the two can disagree.

Example arguments

{
  "keyword": "best project management tool",
  "platform": "chat_gpt",
  "compare_domain": "example.com"
}

analyze_citation_trend

1 unitChatGPT or Google AI Overview

Tracks a domain's AI-citation count month by month, so you can see whether visibility is growing or fading. Use it for "is our AI visibility improving".

ArgumentTypeDescription
domainstringBare domain to check.
platformstring, optionalchat_gpt (default) or google.
monthsinteger, optionalHow many recent months to return. Default 6, capped at 13, because the provider's history starts on 2025-08-01.
countrystring, optionalMarket to check, for example Italy. Default United States. chat_gpt only has United States data, so use platform google for any other country.
languagestring, optionalLanguage code, for example it. Default en, the only option for chat_gpt.

Returns. A list of months, oldest to newest, each with its citation count (a month with no tracked mentions comes back as 0), and a trend: up, down, flat or no_data.

Note. The current month is returned but left out of the trend comparison while it is still in progress. Read isolated zeros with care: in September 2026 checks, July 2026 came back as 0 for all three large domains we tried while June and August were high, which looks like a gap in the provider's history rather than a real drop.

Example arguments

{
  "domain": "example.com",
  "platform": "chat_gpt",
  "months": 6
}

analyze_citation_structure

1 unit per sampleChatGPT, Gemini or Perplexity

Describes the shape of the answer an AI engine actually gives for a keyword: does it open with a list, how long is the opening, how many sources does it cite, and which domains. Use it to see what a winning answer looks like before you write content meant to be cited.

ArgumentTypeDescription
keywordstringThe topic or query to analyze, for example how to reduce churn.
countrystring, optionalMarket to read the answer in, for example Italy. Default United States.
languagestring, optionalLanguage code, for example it. Default en. Write the keyword in that language too.
enginestring, optionalchat_gpt (default), gemini or perplexity. ChatGPT and Gemini are read the way a person sees them in those apps; Perplexity through its sonar API with web search.
samplesinteger, optionalIndependent answers to read, 1 to 5. Default 1. Answers change from run to run, so use 3 before telling someone they are or are not cited. Each sample costs a unit.

Returns. Whether the answer leads with a list, the opening word count, whether the opening contains a number, the section outline, whether it has a table, the number of sources cited, up to 10 source domains, source_mix (how many of those sources are community sites such as Reddit, YouTube and X), and the model and time of the answer. With more than one sample, also source_frequency: how many of the answers cited each site.

Note. For more than one keyword use analyze_citation_structure_batch. For a comparison against your own page use analyze_citation_gap.

Example arguments

{
  "keyword": "how to reduce churn"
}

analyze_citation_structure_batch

1 unit per keywordChatGPT, Gemini or Perplexity

The same shape check across up to 10 related keywords in one call, for planning a cluster of content together.

ArgumentTypeDescription
keywordslist of stringsUp to 10 topics or queries.
countrystring, optionalMarket to read the answer in, for example Italy. Default United States.
languagestring, optionalLanguage code, for example it. Default en. Write the keyword in that language too.
enginestring, optionalchat_gpt (default), gemini or perplexity. ChatGPT and Gemini are read the way a person sees them in those apps; Perplexity through its sonar API with web search.

Returns. One result per keyword, in the order given, plus a summary: topics analyzed, topics requested, how many lead with a list, the average number of sources cited, and the average share of community sources.

Note. A keyword the provider fails on carries an error field; the rest of the batch still returns.

Example arguments

{
  "keywords": ["how to reduce churn", "churn rate benchmarks", "reduce customer churn saas"]
}

find_cited_questions

10 unitsChatGPT or Google AI Overview

Starts from your domain instead of a keyword: finds the questions people ask where the tracked AI answers already cite your site, most asked first. Use it for "what does ChatGPT already cite us for", or to pick the keywords to feed check_prompt_coverage.

ArgumentTypeDescription
domainstringBare domain. Subdomains are included.
platformstring, optionalchat_gpt (default) or google.
limitinteger, optionalHow many questions, 1 to 20. Default 20.
countrystring, optionalMarket to check, for example Italy. Default United States. chat_gpt only has United States data, so use platform google for any other country.
languagestring, optionalLanguage code, for example it. Default en, the only option for chat_gpt.

Returns. The total number of tracked questions citing the domain, and up to 20 of them, most asked first, each with its estimated monthly AI search volume, your position among that answer's sources, the other sites it cites, and when the answer was last recorded.

Note. Reads the provider's tracked answers, like find_citation_leaders, not a live answer. An empty list means the tracked answers do not cite you, not that no answer anywhere does. Re-check a question live with check_prompt_coverage.

Example arguments

{
  "domain": "example.com",
  "platform": "chat_gpt"
}

get_check_history

free (0 units)none

Reads back your own earlier check_prompt_coverage results for a domain, newest first, so an agent can show progress over time or confirm whether a change moved anything.

ArgumentTypeDescription
domainstringThe bare domain the checks were run for.
keywordstring, optionalOnly this keyword's history.
limitinteger, optionalHow many rows, 1 to 200. Default 50.

Returns. Each saved check: keyword, engine, market, samples, how many answers cited you, best rank, how many named you, and when.

Note. Kept 180 days per API key, visible only to that key. It never touches the data provider.

Example arguments

{
  "domain": "example.com"
}

get_usage

free (0 units)none

Shows how much of this month's allowance is left before you spend any of it. It never touches the data provider.

Returns. Your tier, the billing period (YYYY-MM), units used, units limit and units remaining.

Note. Use it before a large batch to see whether the batch will fit.

Example arguments

{}