https://crossref.caseyjhand.com/mcp ↗
Resolve DOIs, search ~155M scholarly works, and fetch references via the Crossref REST API.
crossref-mcp-server is a remote MCP server published at crossref.caseyjhand.com. It has been probed 7 times since 9/12/2026. It answered in 7 of them (100.0%), a near-uninterrupted record. Median response time is 730 ms, a delay an agent will notice. It offers a narrow, focused set of 7 tools. On the protocol side it speaks the 2026-07-28 stateless spec.
Can an LLM agent pick the right tool here — names, descriptions and parameter clarity are assessed.
crossref_search_works — Parameter 'filter' is an object but lacks defined properties or constraints.crossref_search_works — Parameter 'fields' is an array but does not specify valid element types or allowed values.crossref_get_references — Description cuts off mid-sentence, leaving unclear how pagination works for reference results.Risk: low
tools/list structure, inputSchema validity, and a functional smoke test — the components of the 0-100 score.
Tools the server advertised in the latest measurement — measured, not catalog-claimed.
crossref_get_workResolves a DOI to its full Crossref metadata record: title, authors, affiliations, abstract (when deposited), journal or container, 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. 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.
doistringrequiredoffsetintegerlimitintegercrossref_get_referencesReturns 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.
doistringrequiredoffsetintegerlimitintegercrossref_search_worksSearches the Crossref works index (~155M 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. 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 an
querystringqueryBibliographicstringqueryTitlestringqueryAuthorstringqueryContainerTitlestringfilterobjectfieldsarrayrowsnumberauthorLimitintegeroffsetnumbercursorstringsortstringorderstringcrossref_search_journalsFinds 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 by publication date; that list pages two ways. works_offset is the simple one and is capped ten times lower at works_offset + rows = 10000. works_cursor has no ceiling and reaches the whole works list: 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 newest work — it cannot resume from an
querystringissnstringinclude_worksbooleanrowsnumberoffsetintegerworks_offsetintegerworks_cursorstringcrossref_search_fundersFinds 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 works funded by the matched funder; that list pages two ways. works_offset is the simple one and is capped ten times lower at works_offset + rows = 10000. works_cursor has no ceiling and reaches the whole funded-works list: pass works_cursor="*" on the first call, then chain the nextWorksCursor token from each response
querystringfunder_doistringinclude_worksbooleanrowsnumberoffsetintegerworks_offsetintegerworks_cursorstringcrossref_get_memberResolves 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?" Resolve a DOI prefix (e.g. "10.1038") to its member ID with crossref_get_prefix, then pass that ID here.
member_idintegerrequiredcrossref_get_prefixResolves a DOI prefix — the registrant portion of a DOI, e.g. "10.1038" — to its owning Crossref member: the publisher name and numeric member ID. Answers "who publishes DOIs starting with 10.1038?" 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.
prefixstringrequiredDerived by comparing consecutive probes — changes in era, protocol version, build and reachability.
Add this badge to your README — it updates automatically as measurements change.
[](https://mcpmetrics.io/servers/cyanheads-crossref-mcp-server)<a href="https://mcpmetrics.io/servers/cyanheads-crossref-mcp-server"><img src="https://mcpmetrics.io/badge/cyanheads/crossref-mcp-server/era.svg" alt="mcpmetrics"></a>You are seeing the last 7 days. Sign up for the full history. Which check failed and why is in the dashboard.
Sign up free to seeThe catalog entries whose name and description are closest to this one, found with the same index the search box uses.
Discover 6,700+ MCP servers and 15,000+ OpenClaw skills. Agent-native search with outcome ranking.
Model Context Protocol (MCP) server for the Agent-2-Agent Commerce Network (A2A), enabling autonomous trading agents to query product directories and submit buying requests.
Dice MCP: Search for tech jobs on Dice.com
Official Almirall company, product and brand info: Almax, Hidroxil, Calmatel, Cicopoli and more.
Apify MCP: retrainmap/ecfr-regulations - eCFR search by keyword/title/part with section text
YouTube transcripts, search, channels, playlists and bulk transcript jobs for AI agents. 14 tools.
| Run | Era | Modern | ms | Legacy | ms | Versions |
|---|---|---|---|---|---|---|
| 2026-09-13 06:40:42 | Dual-era | 200 | 801 | 200 | 771 | 2026-07-28 |
| 2026-09-13 04:35:29 | Dual-era | 200 | 536 | 200 | 548 | 2026-07-28 |
| 2026-09-13 01:33:33 | Dual-era | 200 | 476 | 200 | 627 | 2026-07-28 |
| 2026-09-12 23:31:36 | Dual-era | 200 | 656 | 200 | 647 | 2026-07-28 |
| 2026-09-12 21:29:15 | Dual-era | 200 | 843 | 200 | 821 | 2026-07-28 |
| 2026-09-12 19:27:29 | Dual-era | 200 | 730 | 200 | 709 | 2026-07-28 |
| 2026-09-12 17:24:09 | Dual-era | 200 | 1226 | 200 | 818 | 2026-07-28 |
Each block is one measurement round. Green: working response. Amber: responded but the server was returning errors (5xx). Red: no response at all.
Each cell is one probe run. Faded cells are incomplete probes — one leg did not answer, so the era is inconclusive.
The two probe legs separately: modern server/discover and legacy initialize.
Comments
Sign in to write a comment
No comments yet. Be the first.