Skip to main content
Glama

List Published Journal Versions

biorxiv_list_published_versions
Read-only

List preprints that appeared as journal articles within a journal publication-date interval, each with its journal DOI, journal name, publication date, and preprint metadata — the same record biorxiv_get_published_version returns for one DOI. The dates filter on journal publication, not preprint posting, so most rows were posted months or years earlier; use biorxiv_list_recent for preprints posted in an interval. publisher, a journal DOI prefix such as 10.7554 for eLife, limits the listing to the bioRxiv preprints published under it; those rows carry no journal name, authors, or abstract, and a prefix api.biorxiv.org does not recognize raises invalid_publisher. Returns limit publications per server (default 25, up to 100 — the page api.biorxiv.org serves; a larger limit returns 100 and says so). Continue at the nextCursor a page returns rather than stepping cursor by a fixed amount; limit: 100 walks an interval in the fewest calls. When server="both" (default), per-server pagination state is returned separately, since one cursor can be past the end of one server and inside the other — to continue a single server, pass its nextCursor with server set to that server. One server failing under server="both" does not abort the call: the other server's page is still returned and the failed one is named in failed[]. Every attempted server failing raises a retryable upstream_unavailable (or rate_limited) error rather than an empty page. Abstracts are omitted by default to keep the page small — pass include_abstract: true for the whole page. Every preprintDoi, 10.1101/ and 10.64898/ alike, is accepted by biorxiv_get_preprint and the other DOI tools.

Input Schema

NameRequiredDescriptionDefault
limitNoRows to return per queried server, starting at cursor. Defaults to 25. Up to 100, the page api.biorxiv.org serves: a larger value returns 100 rows per server and says so in the notice. limit: 100 walks an interval in the fewest calls.
cursorNoInteger row offset, applied to each queried server. Defaults to 0 (first page). To continue, pass the nextCursor the previous page returned for that server — it advances by the rows actually served.
serverNoPreprint server to list. "both" lists bioRxiv and medRxiv in parallel; their rows do not overlap.both
end_dateYesEnd of the journal publication-date interval (YYYY-MM-DD), inclusive.
publisherNoJournal publisher filter: the DOI prefix its journal articles share, the part before the slash — "10.7554" for eLife, "10.1016" for Elsevier. Lists only the bioRxiv preprints published under that prefix: medRxiv has no publisher listing, so server="both" queries bioRxiv alone and server="medrxiv" is rejected. Rows listed this way carry no journal name, authors, corresponding author, or abstract.
start_dateYesStart of the journal publication-date interval (YYYY-MM-DD), inclusive.
include_abstractNoInclude each preprint's abstract. Defaults to false: abstracts make up about three quarters of a page, and every other field is returned either way.

Output Schema

NameRequiredDescriptionDefault
capNoMost publications this page can hold: rows per server (limit, or 100 when limit asked for more) times the servers queried. Set with truncated.
errorNoPresent when the call failed. Absent on success.
shownNoPublications on this page, across every server queried. Set with truncated.
failedNoServers that did not answer, so their rows are missing from "publications" and they have no "pagination" entry. Non-empty means this result set is partial — retry to include them. Only populated under server="both", and never holding every attempted server: when none answered, the call fails with upstream_unavailable or rate_limited instead. Distinct from an exhausted pagination entry, where the server answered.
noticeNoGuidance on how to read this result set: which servers did not answer, that a publisher filter limited server="both" to bioRxiv and which fields its rows lack, a limit above the 100-row page, which cursors are past the end, which servers have rows past this page, and — when nothing came back — the interval and how to broaden it. All applicable qualifications are composed into one string.
truncatedNoTrue when at least one server has rows past this page — continue at that server's nextCursor. Absent when every server queried is on its last page.
paginationNoPer-server pagination state. Advance each server independently.
publicationsNoPublications in the interval, in upstream order: bioRxiv rows first, then medRxiv rows.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed9 schema fields changed
    • addedInput schema / properties / publisher
      Added value: +{
      +  "description": "Journal publisher filter: the DOI prefix its journal articles share, the part before the slash — \"10.7554\" for eLife, \"10.1016\" for Elsevier. Lists only the bioRxiv preprints published under that prefix: medRxiv has no publisher listing, so server=\"both\" queries bioRxiv alone and server=\"medrxiv\" is rejected. Rows listed this way carry no journal name, authors, corresponding author, or abstract.",
      +  "pattern": "^10\\.\\d{4,}$",
      +  "type": "string"
      +}
    • changedOutput schema / properties / error / properties / data / properties / reason / description
      Previous value: -"Machine-readable failure mode. Declared by this tool: `invalid_date_range`: start_date or end_date is not a real calendar date (2024-02-30, 2024-13-01), or end_date is before start_date. `upstream_unavailable`: Every attempted server failed against api.biorxiv.org, so no page was retrieved and an empty interval could not be established. `rate_limited`: Every attempted server failed and at least one 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: `invalid_date_range`: start_date or end_date is not a real calendar date (2024-02-30, 2024-13-01), or end_date is before start_date. `invalid_publisher`: publisher is combined with server=\"medrxiv\", or is a prefix api.biorxiv.org does not recognize. `upstream_unavailable`: Every attempted server failed against api.biorxiv.org, so no page was retrieved and an empty interval could not be established. `rate_limited`: Every attempted server failed and at least one was rejected with HTTP 429 by api.biorxiv.org. Other values are possible when a failure originates below the handler."
    • changedOutput schema / properties / error / properties / data / properties / reason / examples
      Previous value: -[
      -  "invalid_date_range",
      -  "upstream_unavailable",
      -  "rate_limited"
      -]New value: +[
      +  "invalid_date_range",
      +  "invalid_publisher",
      +  "upstream_unavailable",
      +  "rate_limited"
      +]
    • changedOutput schema / properties / notice / description
      Previous value: -"Guidance on how to read this result set: which servers did not answer, a limit above the 100-row page, which cursors are past the end, which servers have rows past this page, and — when nothing came back — the interval and how to broaden it. All applicable qualifications are composed into one string."New value: +"Guidance on how to read this result set: which servers did not answer, that a publisher filter limited server=\"both\" to bioRxiv and which fields its rows lack, a limit above the 100-row page, which cursors are past the end, which servers have rows past this page, and — when nothing came back — the interval and how to broaden it. All applicable qualifications are composed into one string."
    • changedOutput schema / properties / publications / items / properties / preprintAbstract / description
      Previous value: -"Preprint abstract. Present only when include_abstract is true."New value: +"Preprint abstract. Present only when include_abstract is true, and never under a publisher filter."
    • changedOutput schema / properties / publications / items / properties / preprintAuthorCorresponding / description
      Previous value: -"Corresponding author name."New value: +"Corresponding author name. Absent under a publisher filter."
    • changedOutput schema / properties / publications / items / properties / preprintAuthorCorrespondingInstitution / description
      Previous value: -"Corresponding author institution."New value: +"Corresponding author institution. Absent under a publisher filter."
    • changedOutput schema / properties / publications / items / properties / preprintAuthors / description
      Previous value: -"Preprint author list."New value: +"Preprint author list. Absent under a publisher filter."
    • changedOutput schema / properties / publications / items / properties / publishedJournal / description
      Previous value: -"Name of the publishing journal."New value: +"Name of the publishing journal. Absent under a publisher filter, whose rows carry none."
  2. Changed9 schema fields changed
    • changedInput schema / properties / cursor / description
      Previous value: -"Integer row offset (0, 100, 200, …), applied to each queried server. Defaults to 0 (first page)."New value: +"Integer row offset, applied to each queried server. Defaults to 0 (first page). To continue, pass the nextCursor the previous page returned for that server — it advances by the rows actually served."
    • addedInput schema / properties / limit
      Added value: +{
      +  "default": 25,
      +  "description": "Rows to return per queried server, starting at cursor. Defaults to 25. Up to 100, the page api.biorxiv.org serves: a larger value returns 100 rows per server and says so in the notice. limit: 100 walks an interval in the fewest calls.",
      +  "maximum": 1000,
      +  "minimum": 1,
      +  "type": "integer"
      +}
    • addedOutput schema / properties / cap
      Added value: +{
      +  "description": "Most publications this page can hold: rows per server (limit, or 100 when limit asked for more) times the servers queried. Set with truncated.",
      +  "type": "number"
      +}
    • changedOutput schema / properties / notice / description
      Previous value: -"Guidance on how to read this result set: which servers did not answer, which cursors are past the end, and — when nothing came back — the interval and how to broaden it. All applicable qualifications are composed into one string."New value: +"Guidance on how to read this result set: which servers did not answer, a limit above the 100-row page, which cursors are past the end, which servers have rows past this page, and — when nothing came back — the interval and how to broaden it. All applicable qualifications are composed into one string."
    • changedOutput schema / properties / pagination / properties / biorxiv / properties / nextCursor / description
      Previous value: -"Cursor for the next page, when rows remain past this one."New value: +"Cursor for the next page, when rows remain on bioRxiv past this one: this page's cursor plus the rows it served. Pass it as cursor to continue, at any limit."
    • changedOutput schema / properties / pagination / properties / medrxiv / properties / nextCursor / description
      Previous value: -"Cursor for the next page, when rows remain past this one."New value: +"Cursor for the next page, when rows remain on medRxiv past this one: this page's cursor plus the rows it served. Pass it as cursor to continue, at any limit."
    • changedOutput schema / properties / publications / items / properties / preprintDate / description
      Previous value: -"Date the preprint was first posted (YYYY-MM-DD). Not derivable from the DOI."New value: +"Preprint posting date (YYYY-MM-DD) as this row records it — the first posting for most preprints. medRxiv lists some 10.64898/ preprints on two rows that differ in this date, and sometimes in title or authors; both rows are returned. Not derivable from the DOI."
    • addedOutput schema / properties / shown
      Added value: +{
      +  "description": "Publications on this page, across every server queried. Set with truncated.",
      +  "type": "number"
      +}
    • addedOutput schema / properties / truncated
      Added value: +{
      +  "description": "True when at least one server has rows past this page — continue at that server's nextCursor. Absent when every server queried is on its last page.",
      +  "type": "boolean"
      +}
  3. Added

TDQS

A4.9/5.0
Behavior5/5

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

Well beyond the readOnlyHint/openWorldHint annotations, it discloses limit clamping to 100 with a notice, cursor semantics, per-server pagination state under server="both", partial-failure behavior via failed[], retryable upstream_unavailable/rate_limited when all servers fail, invalid_publisher on unrecognized prefixes, and that abstracts are omitted by default for page size.

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 purpose and alternatives, and nearly every sentence carries operational information, but it is a single very dense paragraph mixing purpose, filtering, pagination, error handling, and output shape. Light structure (e.g., separating pagination and error semantics) would improve scanability without losing content.

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 7-parameter tool with an output schema, it covers everything an agent needs: date semantics, server scope, publisher restrictions, page-size ceiling, continuation strategy, and failure modes. Return shape is summarized rather than restated, appropriate given the output schema exists.

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 100%, yet the description still adds meaning: publisher is a DOI prefix (10.7554 for eLife) and its rows carry no journal name, authors, or abstract; a larger limit returns 100 rather than the schema's 1000 maximum; and continue from nextCursor rather than stepping cursor by a fixed amount.

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 opening clause names a specific verb and resource — listing preprints that became journal articles within a journal publication-date interval — and immediately disambiguates from biorxiv_get_published_version (single DOI) and biorxiv_list_recent (preprint posting dates). An agent can pick the right tool without opening any schema.

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?

Explicit routing: 'The dates filter on journal publication, not preprint posting, so most rows were posted months or years earlier; use biorxiv_list_recent for preprints posted in an interval.' It also states when publisher is applicable (bioRxiv only, medrxiv rejected) and how to continue per server under server="both".

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.