Skip to main content
Glama
geoseo-mcp

geoseo-mcp

by Rachit8484

snapshot_llm_citations

Run multi-LLM citation checks per question and persist results, building the dataset needed to track whether target domains are cited across engines.

Instructions

Run multi-LLM citation check and persist the per-question results.

Builds the dataset behind trend_llm_citations. engines defaults to every configured LLM (see geoseo_status). With samples > 1 a question is stored as cited when most samples cite you.

Input Schema

NameRequiredDescriptionDefault
enginesNo
samplesNo
questionsYes
target_domainYes

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.4.0
    • addedInput schema / properties / samples
      Added value: +{
      +  "default": 1,
      +  "type": "integer"
      +}
  2. First observedv0.3.0

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description must carry the full burden, and it does disclose the write side effect (results are persisted) plus the majority-vote aggregation rule when samples > 1. It omits whether an existing snapshot is overwritten, run cost/latency of multiple engines x samples, and auth requirements for the persistence layer.

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-loaded with the action and three compact sentences with zero filler. Minor noise from doubled-backtick RST markers that render as formatting artifacts rather than adding meaning.

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

Completeness3/5

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

An output schema exists, so return values need not be explained, and persistence plus sampling semantics are covered. Still missing for a 4-param, 0%-schema-coverage write tool: what questions/target_domain expect and the cost implications of fanning out across all engines.

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 0%, so the description carries real weight and it partially does: it explains engines defaulting to all configured LLMs (pointing at geoseo_status) and defines samples as a majority threshold, not just a repeat count. Questions array shape and target_domain meaning are left entirely to the bare schema.

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

Purpose5/5

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

A specific verb plus resource: 'Run multi-LLM citation check and persist the per-question results.' It separates itself from the non-persisting sibling multi_llm_citation_check and names the downstream consumer trend_llm_citations, so the snapshot-vs-check distinction is legible without reading schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It implies usage by naming the dataset it feeds ('Builds the dataset behind trend_llm_citations'), which tells the agent this is the sampling step before trending. But there is no explicit when-to-use vs multi_llm_citation_check or perplexity/aio_citation_check, and no prerequisites or exclusions.

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