Skip to main content
Glama

Verify references

verify_references
Read-onlyIdempotent

Check every reference in a list against Crossref, PubMed and OpenAlex and report, for each one, whether the paper really exists and whether the details are right. Works on lists written by a person or generated by an AI model. Input: a pasted reference list in any common style (APA, Vancouver, numbered, mixed), BibTeX, RIS, CSL-JSON, or one DOI per line. Each reference gets exactly one status: verified, verified_with_corrections (real paper, some details wrong; corrected metadata included), likely_fabricated (no such paper exists), not_found (could not be confirmed either way), retracted, or ambiguous (several papers fit). likely_fabricated, not_found and ambiguous mean the reference could not be confirmed as a real paper; retracted means the paper exists but has been withdrawn. Retractions, expressions of concern and corrections are already checked here, so there is no need to call check_retractions on the same references afterwards. At most 50 references per call.

Input Schema

NameRequiredDescriptionDefault
referencesYesThe reference list exactly as written: any citation style, BibTeX, RIS, CSL-JSON, or DOIs one per line.

Output Schema

NameRequiredDescriptionDefault
quotaYes
summaryYes
referencesYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedOutput schema / properties / quota / properties / hint
      Added value: +{
      +  "enum": [
      +    "low",
      +    "intro"
      +  ],
      +  "type": "string"
      +}
  2. Changed1 schema field changed
    • addedOutput schema / properties / quota / properties / upgrade
      Added value: +{
      +  "type": "string"
      +}
  3. Changed1 schema field changed
    • changedOutput schema / properties / quota / properties / plan / enum
      Previous value: -[
      -  "anon",
      -  "free"
      -]New value: +[
      +  "anon",
      +  "free",
      +  "pro"
      +]
  4. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already cover readOnly/idempotent/openWorld/non-destructive, so the description only needs to add beyond that — and it does, with the full status taxonomy, the meaning of each ambiguous status, and the per-call limit. It does not mention latency or how conflicting sources are resolved, which keeps it below a 5.

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?

Front-loaded with the core action, then input formats, then status semantics, then the sibling-routing note. Long but every sentence carries distinct information with no repetition or filler.

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 an output schema present, return structure is covered; the description still supplies the status vocabulary's meaning, the input breadth, and the throughput limit. An agent has everything needed to call this correctly and to route retraction checks appropriately.

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?

Only one parameter at 100% schema coverage, so the schema already documents the accepted formats. The description restates the same format list (APA, Vancouver, BibTeX, RIS, CSL-JSON, DOIs) with no new syntax or structural detail, so it adds little beyond the 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?

Specific verb (verify) plus resource (references) with explicit scope: checks against Crossref, PubMed and OpenAlex and reports existence and correctness per item. It explicitly distinguishes itself from the sibling check_retractions by stating retraction checks are already included.

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

Usage Guidelines5/5

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

States when to use it (pasted lists, human- or AI-written), what input forms are accepted, and gives an explicit exclusion: 'no need to call check_retractions on the same references afterwards.' It also states the 50-reference ceiling, which bounds invocation.

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.