mcpbeat Sign in

Crossref MCP Server

answering

Crossref MCP Server is answering right now. Last checked 9 min ago. 813 installs a week from npm. It exposes 7 tools. Last commit 4 Nov 2026.

Resolve DOIs, search ~188M scholarly works, and fetch references via the Crossref REST API.

Installs per day peak 468 · avg 115 · -53% w/w
a month agotoday
Uptime history 49 days of history · worst day 93%
49 days agonow
100.0%
Uptime 24h
91 of 91 checks
7
Tools
read from the server
569 ms
Response time
average over 24h
813
Installs / week
npm and PyPI

What changed 30

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

4 Nov 6 tools changed the parameters they ask for crossref_get_member, crossref_get_references, crossref_get_work and 3 more
4 Nov 5 tool descriptions were rewritten crossref_get_member, crossref_get_prefix, crossref_get_work and 2 more
4 Nov a tool changed version
28 Oct a tool changed version
24 Oct a tool changed version
23 Oct 5 tools changed the parameters they ask for crossref_get_references, crossref_get_work, crossref_search_funders and 2 more
23 Oct 2 tool descriptions were rewritten crossref_search_journals, crossref_search_works
23 Oct a tool changed version
8 Oct a tool changed version
24 Sep 3 tool descriptions were rewritten crossref_get_work, crossref_search_funders, crossref_search_journals
and 4 more, back to 24 September 2026

Nothing serious here today

Today is the operative word: we check Crossref 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 9 min ago.

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

crossref
crossref_get_member
Resolves a Crossref member ID to its publisher/organization record: primary name, alternate imprint names, owned DOI prefixes, registered DOI counts, a per-work-type breakdown, and per-category metadata deposit coverage. Members are the organizations that register DOIs with Crossref, so this answers "what does this publisher publish, and how completely do they deposit metadata?" The member that holds a DOI now is the memberId crossref_get_work or crossref_search_works returns for it — pass that ID here. crossref_get_prefix returns the member a DOI prefix record names, the prefix's registrant, which for a transferred title is a former publisher rather than the DOI's current one.
crossref_get_prefix
Resolves a DOI prefix — the registrant portion of a DOI, e.g. "10.1038" — to the Crossref member its prefix record names: the publisher name and numeric member ID. That member is the prefix's registrant, so for a title transferred to another publisher it is not the member holding the DOI now — crossref_get_work's memberId names that one. The Crossref prefix record carries only these three facts (no counts, coverage, or flags); the returned memberId chains directly into crossref_get_member for the full publisher record.
crossref_get_references
Returns the outgoing reference list for a DOI — the works cited by this paper. Each reference includes the deposited citation string and, where Crossref has resolved it, a DOI you can look up with crossref_get_work. Results are paged: referenceCount is the full deposited total, and when more remain the response carries a nextOffset to pass back as offset. Reference list coverage varies by publisher; many older works and non-participating publishers have no indexed references. Incoming citations — the works that cite this paper — are not available through Crossref; use OpenAlex for that.
crossref_get_work
Resolves a DOI to its full Crossref metadata record: title, authors, editors, affiliations, abstract (when deposited), journal or container with the volume, issue, pages, and article number that locate the work in it, ISSNs and ISBNs, publication date, type, license, full-text links, and funder acknowledgements. The author list is paged: authorCount is the full deposited total, offset and limit select the page (25 authors by default), and when authors remain the response carries a nextOffset to pass back as offset — large-collaboration papers deposit thousands. Post-publication updates are relayed as Crossref records them: updatedBy names each correction, retraction, expression of concern, or new version issued against this work, with its notice DOI and whether the publisher or Retraction Watch recorded it, and updateTo names the works this record is itself a notice for. An absent updatedBy does not mean the work was never updated — coverage depends on those deposits. relations lists related identifiers, such as a preprint and its published version, grouped by relation type; only the Crossref-registered DOIs among them resolve through crossref_get_work. memberId is the Crossref member that holds the DOI now — pass it to crossref_get_member for the publisher record and its deposit coverage; the prefix of the DOI names the member that registered the prefix, which for a transferred title is a former publisher. Outgoing references are reported as a count in referencesCount; the reference entries themselves come from crossref_get_references. The isReferencedByCount field reports the total incoming citation count from Crossref; the citing works themselves are not available through Crossref — use OpenAlex for citation graphs.
crossref_search_funders
Finds funders registered in the Crossref Funder Registry by name or funder DOI. Provide funder_doi for an exact single-funder lookup — the full DOI ("10.13039/100000001"), the bare registry ID ("100000001"), or either behind a doi: or https://doi.org/ prefix — or query for name-based search. Name-query results page with offset — the nextOffset enrichment carries the value for the following page, up to offset + rows = 100000. Set include_works to true to also return a page of the most recent works funded by the matched funder; that list pages two ways, in two orders. works_offset is the simple one: newest published first, capped ten times lower at works_offset + rows = 10000. works_cursor has no ceiling and reaches the whole funded-works list, newest registered first — ordered by the date each DOI was registered with Crossref, since Crossref does not walk a publication-date sort by cursor: pass works_cursor="*" on the first call, then chain the nextWorksCursor token from each response. The two cannot be combined, and a cursor walk always starts at the most recently registered work — it cannot resume from an offset. This list also counts works funded by the funder's registry descendants, which a crossref_search_works filter on {"funder": "10.13039/<id>"} does not; a funder_doi lookup returns those descendants' registry IDs as descendants, and the funder's own ID OR'd with each of them in the funder filter ({"funder": "<id>,funder:<descendant>,…"}) counts the same scope with date, type, or other filters. Returns funder name, registry ID, country, and alternate names, plus the work count of the ID alone on a funder_doi lookup. The Funder Registry supersedes entries, and a deprecated one answers to the same names as its successor while carrying only a fraction of its works: such a record carries replacedBy with the superseding registry ID and the response carries a notice naming it. The replacement is never followed automatically — re-run with funder_doi set to that ID to get the current entry.
crossref_search_journals
Finds Crossref journal records by ISSN or title query. Provide issn for an exact single-journal lookup, or query for title-based search returning up to rows results. Title-query results page with offset — the nextOffset enrichment carries the value for the following page, up to offset + rows = 100000. Set include_works to true to also return a page of the matched journal's most recent works — the works deposited under any of its ISSNs, whichever one you passed; that list pages two ways, in two orders. works_offset is the simple one: newest published first, capped ten times lower at works_offset + rows = 10000. works_cursor has no ceiling and reaches the whole works list, newest registered first — ordered by the date each DOI was registered with Crossref, since Crossref does not walk a publication-date sort by cursor: pass works_cursor="*" on the first call, then chain the nextWorksCursor token from each response. The two cannot be combined, and a cursor walk always starts at the most recently registered work — it cannot resume from an offset. Returns journal metadata: title, publisher, ISSNs with their print or electronic form, subject areas, DOI counts (total, current, backfile), and per-category metadata deposit coverage — how completely the journal deposits abstracts, references, ORCIDs, funders, licenses, and similar metadata. An issn lookup also returns DOI counts by issued year.
crossref_search_works
Searches the Crossref works index (~188M records) by free text and/or structured filters. The generic query matches loosely across all fields; scope precisely with the field-specific parameters queryTitle, queryAuthor, and queryContainerTitle, or resolve a known citation to its DOI with queryBibliographic — all combine with each other and with query. Use the filter parameter for structured filtering (object with hyphen-separated Crossref keys). Sort options: relevance, score, is-referenced-by-count, published, deposited, indexed, created. Each work returns at most authorLimit authors (25 by default) with authorCount reporting the full deposited total, since a single page of large-collaboration papers can carry tens of thousands of author entries; crossref_get_work pages the whole author list for any DOI whose list was cut. Post-publication updates ride each work as Crossref records them: updatedBy names each correction, retraction, expression of concern, or new version issued against it, and updateTo the works it is itself a notice for — an absent updatedBy does not mean the work was never updated. Offset-based paging is capped at ~10K results; use cursor="*" to start cursor-based deep paging, then pass the nextCursor value from each response to continue. A walk with a query term and no sort runs by relevance, one with filters only in Crossref registration order. The walk ends on the page where nextCursor is absent — that page also carries a notice saying the list is exhausted. Cursor and offset cannot be combined.

Endpoints

URLTransportStateLatencyChecked
https://crossref.caseyjhand.com/mcp streamable-http answering 595 ms 9 min ago

Alternatives to Crossref MCP Server

same job, measured the same way
Crossref MCP
by mrfentmen

Search scholarly works and resolve DOIs through Crossref. No key required.

105 installs/wk local only
Crossref
by smaboundless

Search and retrieve scholarly metadata from the Crossref REST API

106 installs/wk local only
Crossref Scholarly Data
by taru0208

Search 150M+ academic works, journals, and funders via Crossref API.

answering
UK Data: Research papers
by co-reliness

Search 250M scholarly works (OpenAlex, Crossref, arXiv, PubMed) and resolve any DOI

4 tools answering
Crossref MCP
by jtl-neo

MCP server wrapping the Crossref REST API for scholarly metadata.

121 installs/wk local only
Druxt docs
by druxtjs

Search and read the Druxt documentation and API reference.

3 tools answering
DONVI108 Free Research Beta
by ho11-bit

Free scholarly paper and DOI discovery via Crossref. Self-service registration; no invitation.

answering
DeepSeek Search Everywhere
by radoxtech

Web search, page fetching and multi-source research via the DeepSeek Search & Fetch API.

4 227 installs/wk local only

Crossref MCP Server — questions

Answers built from our own checks of this server.

What can Crossref MCP Server do?
It exposes 7 tools, read directly from the server on our last check. Among them: crossref_get_member, crossref_get_prefix, crossref_get_references, crossref_get_work, crossref_search_funders, crossref_search_journals 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 Crossref MCP Server working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 91 of 91 checks got a reply (100.0%), average response time 569 ms. The bar chart above shows every period we have measured.
How do I connect Crossref 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 Crossref MCP Server need an API key?
No. Crossref 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 Crossref MCP Server?
It answers our handshake in 569 ms on average, which is faster than 19% 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 Crossref MCP Server?
The npm package @cyanheads/crossref-mcp-server was installed 813 times in the last week. Week over week that is -53%. We show installs rather than GitHub stars on purpose: a star is a bookmark, an install is someone actually running it.
Is Crossref MCP Server open source?
The code is open source: it is published under the Apache-2.0 licence, written in TypeScript, 4 stars on GitHub and 8 open issues. The licence covers the code in the repository, not the hosted service at crossref.caseyjhand.com, which runs on its operator's own terms.