Skip to main content
Glama
vantagemcp

vantage-mcp

Analyze a winning AI answer

analyze_citation_structure
Read-onlyIdempotent

Inspect how AI answers cited for a keyword are structured—list-first openings, opening length, cited sources and domains—to guide content that earns citations.

Instructions

Analyze the structural shape of the AI-generated answer actually cited for a keyword: does it lead with a list, how long is the opening passage, how many sources does it cite and from which domains. Use this to understand what a winning AI-search answer looks like for a topic, e.g. before writing content meant to get cited.

Read-only: no side effects, safe to retry. Costs 1 quota unit per sample (1 by default; free tier is 30 units/month shared across every metered tool, so up to 30 single-sample calls to this tool alone if nothing else is used that period).

Returns: {"keyword", "engine", "model" (the answering model's version, as the provider reports it), "checked_at" (when the answer was fetched, UTC), "leads_with_list" (bool), "opening_word_count" (int), "opening_has_number" (bool), "outline" (list of up to 12 section heads, in order: the answer's headings, or its top-level list items when it has fewer than two headings; heads only, never the text under them), "has_table" (bool), "num_sources_cited" (int), "source_domains" (list of up to 10 domain strings), "source_urls" (the exact cited page URLs, up to 30, so you can see which page of a domain was cited), "source_mix" ({"community_pct" (share of those sources that are community sites such as Reddit, YouTube, X, Quora), "community_domains", "other_domains"}), "country", "language"}. With samples above 1 the shape fields describe the first answer, plus "samples_ok" (answers that came back) and "source_frequency" (list of {"domain", "runs"}: how many of the answers cited each domain, most often first). Answers change from run to run, so a domain cited in every sample is a far stronger signal than one sample.

Args: keyword: the topic/query to analyze, e.g. "how to reduce churn". country: market to read the answer in, e.g. "Italy". Defaults to "United States". For perplexity a 2-letter code also works. language: language code, e.g. "it". Defaults to "en". Write the keyword in that language too. engine: "chat_gpt" (default), "gemini" or "perplexity". chat_gpt and gemini are the answers a person sees in those apps; perplexity is Perplexity's sonar API with web search. samples: how many independent answers to read, 1 to 5. Default 1.

Input Schema

NameRequiredDescriptionDefault
engineNochat_gpt
countryNoUnited States
keywordYes
samplesNo
languageNoen

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv1.8.0
    • addedInput schema / properties / engine
      Added value: +{
      +  "default": "chat_gpt",
      +  "title": "Engine",
      +  "type": "string"
      +}
    • addedInput schema / properties / samples
      Added value: +{
      +  "default": 1,
      +  "title": "Samples",
      +  "type": "integer"
      +}
  2. Changed2 schema fields changedv1.7.0
    • addedInput schema / properties / country
      Added value: +{
      +  "default": "United States",
      +  "title": "Country",
      +  "type": "string"
      +}
    • addedInput schema / properties / language
      Added value: +{
      +  "default": "en",
      +  "title": "Language",
      +  "type": "string"
      +}
  3. Addedv1.3.0

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), so the description is free to add genuinely new behavioral context: cost (1 quota unit per sample, 30 free units/month shared across metered tools), retry safety, and the critical caveat that answers vary run-to-run so cross-sample domain frequency is the stronger signal. This is exactly the kind of operational information annotations cannot carry.

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-loads purpose before the cost note and the long Returns block, and the Args section is scannable. The Returns enumeration is necessarily detailed given there is no output schema, though it is verbose and could be tightened.

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?

With no output schema, the description fully documents the return shape (all fields, the samples>1 additions like samples_ok and source_frequency), cost model, and per-parameter meaning. An agent has everything needed to call it correctly and interpret the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must carry all parameter meaning, and it does: it documents keyword with an example, country/language defaults plus the perplexity 2-letter-code special case and the instruction to write the keyword in that language, the exact engine enum values with their semantics, and the 1-5 range for samples. Strong compensation for a bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('analyze the structural shape of the AI-generated answer actually cited for a keyword') and enumerates the concrete dimensions examined (list-leading, opening length, source count/domains). It clearly differs in scope from coverage/gap siblings, though it never names or contrasts those siblings explicitly, and the existence of analyze_citation_structure_batch makes the singular scope only implicitly clear.

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?

Gives a clear motivating context ('understand what a winning AI-search answer looks like for a topic, e.g. before writing content meant to get cited'), which orients the agent on when this tool is appropriate. It lacks any explicit when-not or pointer to the batch sibling for multi-keyword work.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.