Skip to main content
Glama

Get Published Journal Version

biorxiv_get_published_version
Read-onlyIdempotent

Resolve a DOI to its preprint-to-journal crosswalk record — preprint DOI, journal DOI, journal name, published date, and corresponding author details — from either side: a preprint DOI (10.1101/ or 10.64898/) finds the journal article it was published as, and any other DOI is read as a journal article's and finds the bioRxiv or medRxiv preprint it was posted as. Use when biorxiv_get_preprint shows a publishedJournalDoi and you need the journal details, or when you hold a journal article and want its preprint. bioRxiv and medRxiv share their DOI prefixes, so server="both" (the default) checks both in parallel and the response reports which server answered. When the crosswalk holds no record for a published preprint, the journal DOI still comes back from the preprint's own record, without journal name or date, and a notice says so. Returns a not-found error when no server holds the preprint, it lists no journal version, or no preprint is recorded for the journal DOI.

Input Schema

NameRequiredDescriptionDefault
doiYesDOI to resolve: a preprint DOI (e.g. 10.1101/2024.01.15.575123 or 10.64898/2026.05.07.723463) or a journal article DOI (e.g. 10.1016/j.cell.2020.01.001). A doi.org or biorxiv.org/medrxiv.org article URL or a doi: prefix is accepted and stripped to the bare DOI, as is a vN, .full, or .pdf suffix; a journal DOI keeps its own components (10.7554/eLife.55185.sa1 is not 10.7554/eLife.55185). Cold Spring Harbor Laboratory Press journal DOIs (10.1101/gr.…, 10.1101/gad.…, 10.1101/lm.…) share the preprint prefix and cannot be resolved by DOI.
serverNoServer the preprint was posted on. "both" (default) checks bioRxiv and medRxiv in parallel — use it when the DOI alone does not tell you which server holds the preprint.both

Output Schema

NameRequiredDescriptionDefault
errorNoPresent when the call failed. Absent on success.
noticeNoPresent when publishedDoi came from the preprint's own record because the crosswalk had none: says why publishedJournal and publishedDate are absent.
serverNoThe server that returned this published record — never "both".
preprintDoiNoThe preprint DOI, in bare form: the input itself when it was a preprint DOI, or the preprint the crosswalk links to the input when it was a journal DOI.
preprintDateNoPreprint posting date (YYYY-MM-DD) from the crosswalk record, or from the preprint's first revision when the crosswalk has none — the first posting for most preprints. medRxiv records some 10.64898/ preprints twice with different posting dates; this is the first record listed.
publishedDoiNoThe journal publication DOI.
preprintTitleNoTitle of the preprint.
publishedDateNoJournal publication date (YYYY-MM-DD). Absent when the crosswalk holds no record for this preprint — see notice.
preprintAuthorsNoPreprint author list.
preprintAbstractNoPreprint abstract.
preprintCategoryNoSubject category.
publishedJournalNoName of the publishing journal. Absent when the crosswalk holds no record for this preprint — see notice.
preprintAuthorCorrespondingNoCorresponding author name.
preprintAuthorCorrespondingInstitutionNoCorresponding author institution.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / properties / doi / description
      Previous value: -"Preprint DOI to resolve (e.g. 10.1101/2024.01.15.575123 or 10.64898/2026.05.07.723463). A doi.org or biorxiv.org/medrxiv.org article URL, a doi: prefix, or a vN / .full suffix is accepted and stripped to the bare DOI."New value: +"DOI to resolve: a preprint DOI (e.g. 10.1101/2024.01.15.575123 or 10.64898/2026.05.07.723463) or a journal article DOI (e.g. 10.1016/j.cell.2020.01.001). A doi.org or biorxiv.org/medrxiv.org article URL or a doi: prefix is accepted and stripped to the bare DOI, as is a vN, .full, or .pdf suffix; a journal DOI keeps its own components (10.7554/eLife.55185.sa1 is not 10.7554/eLife.55185). Cold Spring Harbor Laboratory Press journal DOIs (10.1101/gr.…, 10.1101/gad.…, 10.1101/lm.…) share the preprint prefix and cannot be resolved by DOI."
    • changedOutput schema / properties / error / properties / data / properties / reason / description
      Previous value: -"Machine-readable failure mode. Declared by this tool: `doi_not_found`: No attempted server holds the preprint, or neither the crosswalk nor its preprint record lists a journal version. `invalid_doi_format`: The input DOI does not match the 10.NNNN/ pattern, even after URL, doi:, and suffix stripping. `upstream_unavailable`: No published record was established and at least one crosswalk or preprint lookup failed against api.biorxiv.org. `rate_limited`: No published record was established and at least one crosswalk or preprint lookup was rejected with HTTP 429 by api.biorxiv.org. Other values are possible when a failure originates below the handler."New value: +"Machine-readable failure mode. Declared by this tool: `doi_not_found`: No attempted server holds the preprint, neither the crosswalk nor its preprint record lists a journal version, or the crosswalk links no preprint to the journal DOI given. `invalid_doi_format`: The input does not match the 10.NNNN/ DOI pattern, even after URL, doi:, and suffix stripping. `upstream_unavailable`: No published record was established and at least one crosswalk or preprint lookup failed against api.biorxiv.org. `rate_limited`: No published record was established and at least one crosswalk or preprint lookup was rejected with HTTP 429 by api.biorxiv.org. Other values are possible when a failure originates below the handler."
    • changedOutput schema / properties / preprintDoi / description
      Previous value: -"The preprint DOI that was resolved, in bare form."New value: +"The preprint DOI, in bare form: the input itself when it was a preprint DOI, or the preprint the crosswalk links to the input when it was a journal DOI."
  2. Changed1 schema field changed
    • changedOutput schema / properties / preprintDate / description
      Previous value: -"Date the preprint was first posted."New value: +"Preprint posting date (YYYY-MM-DD) from the crosswalk record, or from the preprint's first revision when the crosswalk has none — the first posting for most preprints. medRxiv records some 10.64898/ preprints twice with different posting dates; this is the first record listed."
  3. Changed6 schema fields changed
    • changedInput schema / properties / doi / description
      Previous value: -"Preprint DOI to resolve (e.g. 10.1101/2024.01.15.575123 or 10.64898/2026.05.07.723463)."New value: +"Preprint DOI to resolve (e.g. 10.1101/2024.01.15.575123 or 10.64898/2026.05.07.723463). A doi.org or biorxiv.org/medrxiv.org article URL, a doi: prefix, or a vN / .full suffix is accepted and stripped to the bare DOI."
    • changedOutput schema / properties / error / properties / data / properties / reason / description
      Previous value: -"Machine-readable failure mode. Declared by this tool: `doi_not_found`: Crosswalk endpoint returns an empty collection on every attempted server. `invalid_doi_format`: The input DOI does not match the 10.NNNN/ pattern. `upstream_unavailable`: No attempted server returned a record and at least one lookup failed against api.biorxiv.org. `rate_limited`: No attempted server returned a record and at least one lookup was rejected with HTTP 429 by api.biorxiv.org. Other values are possible when a failure originates below the handler."New value: +"Machine-readable failure mode. Declared by this tool: `doi_not_found`: No attempted server holds the preprint, or neither the crosswalk nor its preprint record lists a journal version. `invalid_doi_format`: The input DOI does not match the 10.NNNN/ pattern, even after URL, doi:, and suffix stripping. `upstream_unavailable`: No published record was established and at least one crosswalk or preprint lookup failed against api.biorxiv.org. `rate_limited`: No published record was established and at least one crosswalk or preprint lookup was rejected with HTTP 429 by api.biorxiv.org. Other values are possible when a failure originates below the handler."
    • addedOutput schema / properties / notice
      Added value: +{
      +  "description": "Present when publishedDoi came from the preprint's own record because the crosswalk had none: says why publishedJournal and publishedDate are absent.",
      +  "type": "string"
      +}
    • changedOutput schema / properties / preprintDoi / description
      Previous value: -"The preprint DOI that was resolved."New value: +"The preprint DOI that was resolved, in bare form."
    • changedOutput schema / properties / publishedDate / description
      Previous value: -"Journal publication date (YYYY-MM-DD)."New value: +"Journal publication date (YYYY-MM-DD). Absent when the crosswalk holds no record for this preprint — see notice."
    • changedOutput schema / properties / publishedJournal / description
      Previous value: -"Name of the publishing journal."New value: +"Name of the publishing journal. Absent when the crosswalk holds no record for this preprint — see notice."
  4. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only cover readOnly/openWorld/idempotent, but the description adds real operational context: server="both" queries both servers in parallel and the response reports which one answered, the degraded case where a journal DOI returns without journal name or date plus an explanatory notice, and the exact not-found conditions. It also flags a genuine edge case (CSHL Press 10.1101/gr., gad., lm. DOIs sharing the preprint prefix).

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 dense block, but front-loaded with the action and return shape before moving to usage, server behavior, and error semantics. Almost every clause carries information; the field enumeration is slightly redundant given an output schema exists.

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 two-parameter read tool with full schema coverage and an output schema, nothing an agent needs is missing: direction rules, default server behavior, partial-result semantics, and failure modes are all stated. The field list is a bonus rather than a necessity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description goes beyond it by explaining the direction semantics tied to DOI prefix (10.1101/ and 10.64898/ mean preprint, anything else means journal) and by explaining why the default server="both" exists and what the response reports. It doesn't restate the normalization rules, but the schema already owns those.

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 — 'Resolve a DOI to its preprint-to-journal crosswalk record' — and enumerates the returned fields (preprint DOI, journal DOI, journal name, published date, author details). It also clarifies the bidirectional resolution (preprint DOI → journal article, any other DOI → preprint), which makes it unmistakable versus the sibling list/search tools.

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?

Names an explicit trigger and its alternative: 'Use when biorxiv_get_preprint shows a `publishedJournalDoi` and you need the journal details, or when you hold a journal article and want its preprint.' That is a concrete when-to-use routed through a named sibling rather than an inference.

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.