Skip to main content
Glama
scholar-mcp

scholar-mcp

by pvliesdonk

Get Paper

get_paper
Read-only

Fetches full metadata for one paper by DOI, arXiv, ACM, or PubMed ID, returning cached records instantly and a job handle to poll when enrichment runs in the background.

Instructions

Fetch full metadata for a single paper.

A cached paper answers immediately. Otherwise the record is fetched and enriched; should that run long it continues in the background and returns a job handle to poll with get_job_result.

Input Schema

NameRequiredDescriptionDefault
identifierYesPaper identifier: DOI, S2 paper ID, arXiv ID (prefix with ``ARXIV:``), ACM ID (``ACM:``), or PubMed ID (``PMID:``).

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv3.1.1
    • changedInput schema / properties / identifier / description
      Previous value: -"Paper identifier — DOI, S2 paper ID, arXiv ID\n(prefix with ``ARXIV:``), ACM ID (``ACM:``), or PubMed ID\n(``PMID:``)."New value: +"Paper identifier: DOI, S2 paper ID, arXiv ID\n(prefix with ``ARXIV:``), ACM ID (``ACM:``), or PubMed ID\n(``PMID:``)."
  2. Changed4 schema fields changedv1.10.0
    • addedOutput schema / additionalProperties
      Added value: +true
    • removedOutput schema / properties
      Removed value: -{
      -  "result": {
      -    "type": "string"
      -  }
      -}
    • removedOutput schema / required
      Removed value: -[
      -  "result"
      -]
    • removedOutput schema / x-fastmcp-wrap-result
      Removed value: -true
  3. First observedv1.9.0

TDQS

A4.2/5.0
Behavior5/5

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

Annotations only declare readOnly/openWorld/non-destructive; the description adds the non-obvious behavioral facts that a cached paper returns immediately, that a miss triggers a fetch-plus-enrichment, and that the response can be a job handle instead of the paper. That last point is a return-type surprise an agent could not infer from the safety hints alone, and it is disclosed with the follow-up tool named.

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?

Three sentences, front-loaded with the operation, then the cached path, then the slow path and its escape hatch. Every sentence carries information the agent cannot get from structured fields.

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?

An output schema exists, so return-value explanation is not needed, and the description covers the async branch and its polling tool. It falls slightly short on two points the agent would still want: what "enriched" entails and why that differs from the separate enrich_paper tool, and whether the background path eventually yields the same metadata the direct path would.

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 the identifier parameter's accepted formats (DOI, S2, ARXIV:, ACM:, PMID:) are already documented in the schema. The description adds no format, casing, or resolution behavior beyond that, so the baseline of 3 applies.

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?

The description states a specific verb and resource ("Fetch full metadata") plus an explicit scope ("a single paper"), which cleanly separates it from search_papers, batch_resolve, and get_book in the sibling list. An agent can identify the operation without opening the schema.

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?

The description routes the agent to get_job_result when the fetch runs long, which is genuine usage guidance for the async case. However, it gives no guidance for the primary case: nothing explains when to call this versus resolve_standard_identifier (which likely normalizes the same identifier formats) or enrich_paper (whose purpose overlaps with the "enriched" record mentioned here).

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