Skip to main content
Glama

download_public_paper

Downloads a public paper from Publisher, Google Scholar, or Sci-Hub by DOI or session reference, using page fallback and local PDF validation to save a verified PDF.

Instructions

Download a public paper from Publisher, Google Scholar, or Sci-Hub using bounded page fallback and local PDF validation

Input Schema

NameRequiredDescriptionDefault
paperIdYesDOI for Publisher/Sci-Hub, or a current-session Google Scholar reference
platformYesCanonical public-paper platform
savePathNoValidated download directory; the output filename is derived internally./downloads

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are supplied, so the description carries the full behavioral burden. It adds real value by disclosing two mechanisms — bounded page fallback and local PDF validation — but omits the operation's most consequential traits: that it writes a file to disk (savePath default ./downloads), what happens when validation fails, whether Sci-Hub access is a legal/policy concern, and any auth or rate-limit behavior.

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?

A single front-loaded sentence with no boilerplate or repetition. It is dense to the point of jargon ('bounded page fallback') but every clause carries information an agent would otherwise have to guess.

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?

For a three-parameter read-then-write tool with no annotations and no output schema, the description covers the retrieval strategy but leaves gaps around the produced artifact (filename is derived internally, but what happens on failure or partial download is unstated) and around the platform/paperId pairing rule.

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 schema already documents paperId as DOI-or-session-reference and savePath as a validated directory. The description's platform list slightly reinforces the enum, but it adds no new meaning — no note that paperId format must match platform, which is the one semantic an agent could get wrong.

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

Purpose4/5

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

Specific verb (download) plus specific resource (public paper) and the three supported platforms, which map directly onto the platform enum. It is distinguishable from search_* siblings and from get_paper_by_doi, but it never states how it differs from the sibling download_paper, so sibling differentiation is only implied by the word 'public'.

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

Usage Guidelines2/5

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

There is no explicit when-to-use statement: nothing explains when to pick this over download_paper, get_paper_by_doi, discover_paper_access, or get_paper_markdown. The only guidance is the implicit constraint that the paper must be publicly accessible, and even that is not spelled out as a precondition.

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