Skip to main content
Glama

check_citation

Check whether a cited paper really exists (catch hallucinated or mistyped references) and whether it has been retracted. Give a doi, or a title with optional year and first_author. Returns exists, verdict (verified | found | doi_exists_metadata_mismatch | uncertain | not_found), confidence (high/medium/low) with a note on what matched, is_retracted (OpenAlex is_retracted + Crossref/Retraction Watch notices) and the best match. Data: OpenAlex (CC0, openalex.org) with Crossref REST (crossref.org) for retraction notices and as fallback. Upstream errors are not charged. Costs $0.002 USDC per check via x402.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
doiNoDOI of the cited work (preferred if known)
yearNoPublication year as cited (optional)
titleNoTitle of the cited work (used when no DOI is given; also cross-checked against a DOI)
first_authorNoFirst author's name or surname as cited (optional)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so: it enumerates return fields (exists, verdict with its five possible values, confidence, is_retracted, best match), names the upstream data sources and their licenses, states the payment model ($0.002 USDC via x402), and clarifies that upstream errors are not charged. That is unusually rich behavioral disclosure for an unannotated tool.

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?

The core purpose and input modes are front-loaded in the first sentence, followed by return values and then provenance/cost. The sourcing and cost sentences are dense but each earns its place for a paid, external-data tool; nothing is redundant.

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 no output schema and no annotations, the description must explain both behavior and returns, which it largely does via the verdict enum and is_retracted explanation. Minor gaps remain around rate limits or what 'uncertain' practically means for the caller, but the essential contract is complete.

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%, so every parameter is already documented, including the 'preferred if known' precedence for doi and the 'used when no DOI is given' role of title. The description restates the same precedence without adding format, matching, or fallback semantics beyond what the schema provides.

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?

States a specific verb and resource ('Check whether a cited paper really exists') plus the motivating failure mode ('catch hallucinated or mistyped references') and the retraction dimension. This is clearly distinguishable from siblings like get_paper (fetch a paper) and search_papers (find papers).

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 concrete invocation guidance ('Give a doi, or a title with optional year and first_author'), implying the citation-verification use case and the DOI-preferred path. It does not name alternative siblings or state when not to use it (e.g., versus get_paper when the DOI is already known to be valid), so it stops short of explicit routing.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources