Skip to main content
Glama
AutomateLab-tech

Citation Intelligence MCP

citations_check

Idempotent

Check which URLs AI engines like Perplexity, Claude, ChatGPT, Gemini, or Bing cite for a search query, showing the sources grounding their answers.

Instructions

Return URLs cited by an AI engine (Perplexity, Claude, ChatGPT, Gemini, or Bing) for a query. Use this when an agent or user wants to see what sources an AI search engine grounds answers on. Requires at least one engine API key; auto-picks the first available.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryYesThe search query to test (what would a user ask an AI?)
engineNoEngine to query. • perplexity / google_ai_mode — consumer_scrape: closest to real product behavior. • claude / openai / gemini — api_proxy: API-tier call, may differ from consumer product. • bing_serp / brave_serp — web_rank: traditional SERP rank, NOT LLM citation. 'auto' prefers SerpAPI (google_ai_mode) → Perplexity → LLM adapters → web_rank.auto
max_resultsNoMaximum citations to return.
perplexity_modelNoPerplexity model override (e.g. 'sonar', 'sonar-pro', 'sonar-reasoning'). Only used when engine='perplexity'. Defaults to 'sonar-pro'.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryYesThe query that was executed.
cachedYesWhether the result was served from the local cache.
engineYesEngine used for this response.
surfaceYesEngine surface type: consumer_scrape, api_proxy, or web_rank.
citationsYesCited URLs ordered by rank.
fetched_atYesUTC ISO-8601 timestamp of the fetch.
raw_answerNoRaw answer text from the engine, if available. Absent for web_rank engines (bing_serp, brave_serp) that return ranked URLs without a synthesized answer.
interpretation_noteYesGuidance on how to interpret results from this engine.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.1.2

TDQS

A4/5.0
Behavior4/5

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

Annotations cover the safety profile (openWorldHint, idempotentHint, destructiveHint=false), so the bar is lower. The description still adds genuine operational context beyond the structured fields: an engine API key is required and the tool auto-picks the first available engine, which affects setup and failure modes.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with zero padding; the output is described first and the usage condition and prerequisite follow. Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present and full parameter coverage, the description need not explain return values. It covers purpose, usage trigger, and the API-key prerequisite, leaving only sibling disambiguation as a gap.

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?

Schema description coverage is 100% and the enum, defaults, max_results bounds, and perplexity_model override are all fully documented in the schema. The description adds no parameter-level detail beyond naming the engines, so the baseline 3 applies.

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 and resource: 'Return URLs cited by an AI engine ... for a query', and enumerates the engines covered. It does not distinguish itself from the many citations_* siblings (evidence, provenance, freshness, predict), so an agent cannot tell from the description alone which citation tool to pick.

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 use condition: 'Use this when an agent or user wants to see what sources an AI search engine grounds answers on.' There is no when-not guidance and no explicit routing to alternative sibling tools such as citations_evidence or citations_provenance.

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