Skip to main content
Glama

Manusights

Check references

check_references
Read-only

Use this when the user wants to check references or citations from any source: a manuscript, a bibliography, a literature review, or citations an AI assistant gave earlier in the conversation. It reports whether each one exists, points to the right paper, or has been retracted, corrected or flagged, for questions like "are these references real?", "is this paper retracted?" or "is this DOI right?". Send citations from earlier in the conversation exactly as given, without correcting them first. Send every reference in the list as its own item, with or without a DOI (one without a DOI is matched by title and first author), with the full text as written, plus its DOI and title when you can read them, and any authors, journal, link, identifier or cite key you can read (the title lets a broken DOI be told apart from a missing work); up to 100 per call. For a whole reference list, such as the References section of an attached paper or a bibliography, send it as written, one reference per line, in reference_list instead of items: every reference in it is checked, in parts when it is long; call again with start_at as the result says until the whole list is done. When the whole original list's count is known, send it as expected_reference_count on every part; do not send a sample or reduce that count to fit a shortened input. Results come from Crossref, the DOI registry and Retraction Watch, and for references without a DOI also Semantic Scholar, PubMed, arXiv and, for books, Open Library; the manuscript itself is not sent. Do not use it to find new sources, to format citations, or to judge whether a source supports a claim. Report as the result's how_to_report says: each status as returned (for example "resolves" or "not found"), explained with the row detail; do not describe results as verified, fabricated or safe to cite. A reference with a DOI is compared by DOI and title only; one without a DOI must match a work by title and author.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
start_atNoFor reference_list only: the list position to continue from, as the previous result's progress.next_start_at says.
referencesNoThe references to check, one item each. Leave out when sending reference_list.
reference_listNoA whole reference list as written, one reference per line, keeping any numbers: numbered, author-year, BibTeX, RIS or CSL-JSON, for example a paper's whole References section.
expected_reference_countNoThe number of references in the whole original list, when known, not the current part. A differing parsed count stops the check before lookup; resend the complete input rather than lowering this count.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
rowsYes
countsYes
progressNo
checked_atYes
licensed_byYes
how_to_reportNo
retraction_data_as_ofYes
retraction_data_completeYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Beyond the annotations (readOnly, openWorld, non-destructive), it discloses the data sources (Crossref, DOI registry, Retraction Watch, Semantic Scholar, PubMed, arXiv, Open Library), that the manuscript itself is not sent, that DOI-bearing refs are matched by DOI+title only, and that a mismatched expected_reference_count halts the check before lookup.

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 use case and every sentence carries operational content, but it is delivered as a single dense block mixing calling instructions, data-source disclosure, and reporting rules, which would read better split into short sections.

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?

For a read-only, paginated batch lookup with an output schema, the description covers input shaping, batching/continuation, source coverage, input privacy, and reporting discipline; return values are correctly delegated to the output schema's how_to_report.

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 coverage is already 100%, but the description adds rationale the schema lacks: send citations verbatim without correcting them, include title so a broken DOI can be distinguished from a missing work, up to 100 per call, one reference per line for reference_list, and never shrink expected_reference_count to fit a shortened input.

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 precise verb+resource (check references/citations) and enumerates the input source types it accepts (manuscript, bibliography, literature review, earlier AI answers). It also names the outcomes it reports (exists, points to right paper, retracted/corrected/flagged), which no sibling tool covers.

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?

Gives explicit triggers with example user questions ('are these references real?', 'is this DOI right?') and explicit exclusions: 'Do not use it to find new sources, to format citations, or to judge whether a source supports a claim.' It also routes between the two input modes (items vs reference_list) and prescribes the start_at continuation loop.

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.