mcpbeat Sign in

Biorxiv MCP Server

answering

Biorxiv MCP Server is answering right now. Last checked 1 min ago. 1 422 installs a week from npm. It exposes 7 tools. Last commit 29 Oct 2026.

Search and retrieve bioRxiv and medRxiv preprints — by DOI, date interval, or keyword — via MCP.

Installs per day peak 419 · avg 78 · +271% w/w
a month agotoday
Uptime history 44 days of history · worst day 92%
44 days agonow
100.0%
Uptime 24h
92 of 92 checks
7
Tools
read from the server
598 ms
Response time
average over 24h
1 422
Installs / week
npm and PyPI

What changed 41

Every tool that appeared, vanished or quietly changed what it asks for. Recorded since 23 September 2026. No other catalogue keeps this.

29 Oct a tool changed version
28 Oct a tool changed the parameters it asks for biorxiv_search_preprints
28 Oct a tool changed version
25 Oct a tool changed version
23 Oct 5 tool descriptions were rewritten biorxiv_get_fulltext, biorxiv_get_preprint, biorxiv_get_published_version and 2 more
23 Oct 3 tools changed the parameters they ask for biorxiv_get_published_version, biorxiv_list_published_versions, biorxiv_list_recent
23 Oct a tool changed version
18 Oct 3 tools changed the parameters they ask for biorxiv_get_preprint, biorxiv_list_published_versions, biorxiv_search_preprints
18 Oct 2 tool descriptions were rewritten biorxiv_get_preprint, biorxiv_list_published_versions
18 Oct a tool changed version
and 22 more, back to 23 September 2026

Nothing serious here today

Today is the operative word: we check Biorxiv MCP Server every 15 minutes and re-read its code on every release. Watch it and you find out the day that stops being true.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 1 min ago.

run in your terminal
claude mcp add biorxiv-mcp-server --transport http https://biorxiv.caseyjhand.com/mcp
Settings → Connectors → Add custom connector, then paste this address
https://biorxiv.caseyjhand.com/mcp
~/.codex/config.toml
[mcp_servers.biorxiv-mcp-server]
url = "https://biorxiv.caseyjhand.com/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "biorxiv-mcp-server": {
      "url": "https://biorxiv.caseyjhand.com/mcp"
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "biorxiv-mcp-server": {
      "type": "http",
      "url": "https://biorxiv.caseyjhand.com/mcp"
    }
  }
}

Available tools 7

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

biorxiv
biorxiv_get_fulltext
Retrieve a preprint's full text as best-effort Markdown, extracted from its rendered HTML article page. Reads the latest version unless one is requested (the version input, or a vN suffix on the DOI), confirms it via the details API, then fetches and extracts the body — abstract, sections, inline citation labels, and the reference list. Table cells are not on the article page: each table appears as its caption, and omittedTables names it with the URL that serves its cells. bioRxiv and medRxiv share the 10.1101/ DOI prefix, so server="both" (the default) resolves the DOI against both in parallel and the response reports which server answered. This is HTML-to-Markdown extraction, not structured JATS: section structure is approximate and not guaranteed. Long articles exceed a single response, so use offset and limit to page through them (the response reports totalChars, remainingChars, and hasMore); paging is cheap because the extracted article is cached per version for an hour after the first read, so only the first chunk pays for a fetch. Not every preprint has an extractable HTML page — some are PDF-only and some origins block programmatic access — in which case a fulltext_unavailable error routes you to biorxiv_get_preprint for the title, metadata, and current abstract. For a preprint that has been published in a journal, the journal's version may have richer full text elsewhere.
biorxiv_get_preprint
Fetch full metadata, the abstract, all revision history, JATS XML full-text links, and published-journal DOI for one or more preprints by DOI. Each DOI returns all revisions in one response, with the abstract on the latest revision only — the API keeps one abstract per preprint. Each call looks up the first 10 distinct DOIs and returns the rest, never looked up, in unprocessed[] — pass that list as dois in another call to continue; a repeated DOI is looked up once and an unparseable entry is reported in failed[], so neither counts toward the 10. When server="both" (default), each DOI is checked against both bioRxiv and medRxiv; the response includes which server the preprint was found on. Failed lookups are reported per-DOI in failed[] rather than aborting the batch, each carrying a reason (not_found, invalid_doi_format, upstream_unavailable, rate_limited) and a retryable flag; a rate_limited entry also carries the wait in seconds the origin asked for. preprints[], failed[], and unprocessed[] follow input order. DOIs must match the pattern 10.NNNN/…; a doi.org or article URL, a doi: label, and a trailing vN / .full suffix are stripped first, and results report the bare DOI.
biorxiv_get_published_version
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.
biorxiv_list_categories
List valid subject category strings for bioRxiv and medRxiv — the categories the listing API actually filters on. Use these strings as the `category` filter in biorxiv_list_recent to narrow results to a specific field; case, and "_" or "-" in place of a space, do not matter there. Run this tool before filtering to get the current valid values.
biorxiv_list_published_versions
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.
biorxiv_list_recent
List preprints posted or revised within a date interval, optionally scoped to one server or a subject category. Returns 30 preprints per page (fixed by the API); pass `cursor` as an integer offset (0, 30, 60, …) to step through additional pages. Abstracts are omitted by default to keep the page small — pass include_abstract: true for the whole page (each row carries the latest-revision abstract of its preprint, whichever revision the row is), or call biorxiv_get_preprint (up to 10 DOIs per call) for a few. When server="both" (default), per-server pagination state is returned separately — use each server's `cursor` field for independent advancement. 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[]`, marking the result set as partial rather than complete. Every attempted server failing is a different case and does abort the call, with a retryable upstream_unavailable (or rate_limited) error — an empty page would otherwise be indistinguishable from an interval that genuinely holds nothing. Call biorxiv_list_categories for valid category strings; a server that answers a category filter with its unfiltered listing is left out with a notice, and invalid_category is raised when no server applied it. `funder` limits the listing to bioRxiv preprints funded by that organization, given its ROR ID; an ID api.biorxiv.org has no funder record for raises invalid_funder rather than returning an empty page.
biorxiv_search_preprints
Search preprints by keyword and/or author using EuropePMC for relevance ranking, then enrich matching DOIs with full bioRxiv/medRxiv metadata. Provide a keyword query, an author name, or both — author maps to an EuropePMC AUTH: field query and is ANDed with the keyword query. Covers both servers by default. EuropePMC indexes new preprints within 1–2 days of posting; for preprints posted within the last day, prefer biorxiv_list_recent. Abstracts are included by default; include_abstract: false omits them from every result for a response about a third the size, and biorxiv_get_preprint returns the abstract for up to 10 DOIs per call. A EuropePMC rate limit (HTTP 429) fails the call with a retryable rate_limited error carrying the wait in seconds — a rate-limited metadata enrichment does not, and instead marks the affected record enrichment_error: "rate_limited".

Endpoints

URLTransportStateLatencyChecked
https://biorxiv.caseyjhand.com/mcp streamable-http answering 538 ms 1 min ago

Alternatives to Biorxiv MCP Server

same job, measured the same way
H
HubSpot Integrations MCP
by centrify-internal

MCP server for the HubSpot Integrations Center HubDB: search and retrieve integration data.

2 tools answering
Bing News
by pipeworx-io

Bing News MCP — keyword news search via Bing News RSS, keyless.

15 installs/wk 45 tools answering
Project Gutenberg MCP
by bobbyhouse

Read Project Gutenberg books via MCP. Search, fetch metadata, and retrieve text in passages.

local only
JSON MCP Lite
by scoretracker4321

Serve any JSON file as read-only list, keyword search and get-by-id MCP tools.

local only
Preprint Fulltext
by genecell

bioRxiv/medRxiv/arXiv preprint full text as structured sections for AI agents + search.

51 installs/wk local only
Google Ads Intent MCP
by davidmosiah

Dry-run-first Google Ads search-term intent analyzer and negative-keyword MCP for agents.

158 installs/wk local only
Lancelot
by ayers-software-repair

An MCP server for search and retrieval over a local LanceDB database

262 installs/wk 4 tools answering
lanternkb
by ankitb073

Private, local search over your own files, by meaning and keywords, with secrets redacted.

75 installs/wk local only

Biorxiv MCP Server — questions

Answers built from our own checks of this server.

What can Biorxiv MCP Server do?
It exposes 7 tools, read directly from the server on our last check. Among them: biorxiv_get_fulltext, biorxiv_get_preprint, biorxiv_get_published_version, biorxiv_list_categories, biorxiv_list_published_versions, biorxiv_list_recent and 1 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
Is Biorxiv MCP Server working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 92 of 92 checks got a reply (100.0%), average response time 598 ms. The bar chart above shows every period we have measured.
How do I connect Biorxiv MCP Server?
Copy the ready config from this page. We generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each in the form that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does Biorxiv MCP Server need an API key?
No. Biorxiv MCP Server completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 7 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is Biorxiv MCP Server?
It answers our handshake in 598 ms on average, which is faster than 18% of all working MCP servers we measure. That is on the slow side — worth knowing if the tool sits inside an interactive loop. The comparison comes from our own checks across the whole registry, every 15 minutes.
How many people use Biorxiv MCP Server?
The npm package @cyanheads/biorxiv-mcp-server was installed 1 422 times in the last week. Week over week that is +271%. We show installs rather than GitHub stars on purpose: a star is a bookmark, an install is someone actually running it.
Is Biorxiv MCP Server open source?
The code is open source: it is published under the Apache-2.0 licence, written in TypeScript and 4 stars on GitHub. The licence covers the code in the repository, not the hosted service at biorxiv.caseyjhand.com, which runs on its operator's own terms.