Crossref MCP Server
概要
作者による説明(英語の原文)
Resolve DOIs, search ~188M scholarly works, and fetch references via the Crossref REST API.
PopNx MCPの3つの柱
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
- 利用者の声iレビューはまだありませんレビューは今後のステップで、アカウント機能と一緒に始まります
- 私たちの基本チェックi4項目中4項目に合格公開情報からチェック。コードはまだスキャンしていません
- 利用状況i成長中↓ 774/週 · ★ 4
できること
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
- 接続方法: パソコンでもクラウドでも
- トランスポート: stdio, Streamable HTTP
- カテゴリ: 検索・AIの記憶
インストール
使っているAIアプリを選んで、設定をコピーしてください。
インストールの前に
- 基本チェック:4項目中4項目に合格
- 作者のサーバーで動きます。あなたが頼んだ内容は、作者のサーバーを通ります。
- できること:7件(ツール) crossref_get_work, crossref_get_references, crossref_search_works, crossref_search_journals …
- 自分で入力するもの:
CROSSREF_MAILTO,CROSSREF_BASE_URL,CROSSREF_TIMEOUT_MS,MCP_LOG_LEVEL
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
ウェブ、デスクトップ、モバイルのClaudeで使えます:
- Settings → Connectors を開く
- Add custom connector を押す
- 下のアドレスを貼り付けて Add を押す
- サインインを求められたら、作者のサービスにサインインする
https://crossref.caseyjhand.com/mcpまたは、パソコンで動かす
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"crossref": {
"command": "npx",
"args": [
"-y",
"@cyanheads/crossref-mcp-server"
],
"env": {
"CROSSREF_MAILTO": "your-value",
"CROSSREF_BASE_URL": "your-value",
"CROSSREF_TIMEOUT_MS": "your-value",
"MCP_LOG_LEVEL": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add --transport http crossref https://crossref.caseyjhand.com/mcpまたは、パソコンで動かす
claude mcp add crossref --env CROSSREF_MAILTO=your-value --env CROSSREF_BASE_URL=your-value --env CROSSREF_TIMEOUT_MS=your-value --env MCP_LOG_LEVEL=your-value -- npx -y @cyanheads/crossref-mcp-server動かす前に、空欄の値を入力してください。
または、設定を自分でコピーする
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"crossref": {
"url": "https://crossref.caseyjhand.com/mcp"
}
}
}または、パソコンで動かす
または、設定を自分でコピーする
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"crossref": {
"command": "npx",
"args": [
"-y",
"@cyanheads/crossref-mcp-server"
],
"env": {
"CROSSREF_MAILTO": "your-value",
"CROSSREF_BASE_URL": "your-value",
"CROSSREF_TIMEOUT_MS": "your-value",
"MCP_LOG_LEVEL": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
または、設定を自分でコピーする
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"crossref": {
"type": "http",
"url": "https://crossref.caseyjhand.com/mcp"
}
}
}または、パソコンで動かす
または、設定を自分でコピーする
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"crossref": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@cyanheads/crossref-mcp-server"
],
"env": {
"CROSSREF_MAILTO": "your-value",
"CROSSREF_BASE_URL": "your-value",
"CROSSREF_TIMEOUT_MS": "your-value",
"MCP_LOG_LEVEL": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
ChatGPTがつなげるのは、インターネット上のサーバーだけです:
- ウェブ版のChatGPTを開き → Settings → Connectors (Apps)
- Create または Add を押す(プランによっては、先に Advanced で Developer mode をオンにする必要があります)
- 下のアドレスを貼り付け、名前を付けて保存する
- サインインを求められたら、作者のサービスにサインインする
https://crossref.caseyjhand.com/mcpメニューの名前は、プランや時期によって少し違うことがあります。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
自分で入力する値
CROSSREF_MAILTOenvEmail for polite-pool User-Agent header — optional. Without: anonymous pool with stricter rate limits.CROSSREF_BASE_URLenvOverride the Crossref API base URL. Defaults to https://api.crossref.org.CROSSREF_TIMEOUT_MSenvPer-request timeout in milliseconds.MCP_LOG_LEVELenvSets the minimum log level for output (e.g., 'debug', 'info', 'warn').
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
使えるアプリ
このサーバーのつなぎ方と、各アプリの公式ドキュメントに基づきます。2026年11月10日に確認。
インターネット経由でつなげるアプリ
ClaudeChatGPTGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatOpen WebUIRaycast
パソコン上で動かせるアプリ
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
できること
ツールの名前と説明は、サーバーが2026年11月10日に返したそのままの内容です。書いたのは作者で、私たちではありません。プレーンテキストとして表示しています。
crossref_get_workResolves 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 li
crossref_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, a
crossref_search_worksSearches 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 D
crossref_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 o
crossref_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-b
crossref_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 Cross
crossref_get_prefixResolves 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
基本チェックi
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月11日にチェック
- ✓ 合格
作者とリポジトリが一致
レジストリ名は、リポジトリを所有するGitHubアカウント cyanheads で確認済みです
- ✓ 合格
今もメンテナンスされている
コードの最終更新:7 日前
- … 未チェック
ライセンスがある
このリポジトリはまだGitHubから読み取っていません
- ✓ 合格
エンドポイントが応答する
138ミリ秒で応答(HTTP 200)
- – 対象外
OAuthでサインイン
サインイン不要
- ✓ 合格
ツールの説明に隠れた指示がない
7件のツールの説明を読み、AIへの隠れた指示は見つかりませんでした
検索・AIの記憶のほかのサーバーとの比較i
- このカテゴリのほかの5868件のうち86%よりスターが多い
- このカテゴリのほかの5868件のうち85%より最近レジストリに公開
- 基本チェックの結果が、このカテゴリのほかの5868件のうち100%と同じかそれ以上
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
よくある質問
Crossref MCP Serverは安全ですか?
当てはまる基本チェック4項目のうち4項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
どんなキーやコードが必要ですか?
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
パソコンで動きますか、それともクラウドですか?
どちらでも使えます。パソコンにインストールしても、クラウド版につないでもかまいません。
今もメンテナンスされていますか?
GitHubリポジトリの最終更新は7 日前、最新バージョン(0.5.1)がレジストリに届いたのは7 日前です。
どのアプリで使えますか?
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。URLでつながるので、リモートMCPサーバーに対応したアプリ(開発者モードのChatGPTなど)でも使えます。
代わりに使えるものは?
同じカテゴリには:Ruflo, Context7, Metabase
代わりの候補
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
作者のREADME
READMEを開く
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
@cyanheads/crossref-mcp-server Resolve DOIs, search ~188M scholarly works, fetch references, and look up publishers via the Crossref REST API. STDIO or Streamable HTTP. 7 Tools • 1 Resource
Public Hosted Server: https://crossref.caseyjhand.com/mcp
Overview
Scholarly metadata from the Crossref REST API. Resolve DOIs to full metadata records, search across ~188 million scholarly works by free text or structured filters, fetch outgoing reference lists, and look up journals, funders, and publishers.
Tools
| Tool | Description |
|---|---|
crossref_get_work | Resolve a DOI to its full Crossref metadata record: title, authors, editors, affiliations, abstract, journal with volume/issue/pages, ISSNs and ISBNs, publication date, license, full-text links, funder acknowledgements, post-publication updates, and related identifiers |
crossref_search_works | Search the Crossref works index by free text and/or structured filters, with field-scoped query parameters, sort, field selection, and offset or cursor-based paging |
crossref_get_references | Return the outgoing reference list for a DOI — the works cited by this paper, with citation strings and resolved DOIs where available |
crossref_search_journals | Find Crossref journal records by ISSN or title query; optionally retrieve a page of the journal's most recent works |
crossref_search_funders | Find funders in the Crossref Funder Registry by name, registry ID, or funder DOI; optionally retrieve a page of funded works |
crossref_get_member | Resolve a Crossref member ID to its publisher record — name, owned DOI prefixes, DOI counts, and per-category metadata deposit coverage |
crossref_get_prefix | Resolve a DOI prefix (e.g. 10.1038) to the publisher that registered it, chaining into crossref_get_member |
Resources
| Resource | Description |
|---|---|
skill://crossref-guide/SKILL.md | Agent Skill crossref-guide: judgment for the crossref_* tools — confirming a citation match, choosing between the journal/funder works lists and a filtered works search, Crossref filter syntax, DOI prefix versus current publisher, and deposit-dependent coverage |
The skill is also served through the skill://{+path} template and ships as skills/crossref-guide/SKILL.md in the npm package, the Docker image, the .mcpb bundle, and plugin installs. The tools do not depend on it.
Capability reference
crossref_get_work tool
- DOI validated against the
10.NNNN/suffixregex before the upstream call, accepted either bare or wrapped in its resolver (https://doi.org/…,https://dx.doi.org/…,doi:…) and unwrapped before the lookup - Returns title, authors with affiliations, abstract (when deposited), container/journal, publication date, work type, ISSN, license URLs, full-text link URLs, and funder acknowledgements
containerTitleslists every container title the record deposits, in deposited order — a book chapter or proceedings paper often deposits its series and then its book or volume — besidecontainerTitle, which keeps the first;crossref_search_worksreturns both, and itscontainer-titleselect name fills both- Citation locators
volume,issue,page, andarticleNumberunder the same names and on the same rendered line ascrossref_search_works, plusisbn— each as deposited, omitted when absent memberIdis the Crossref member that holds the DOI now — pass it tocrossref_get_memberfor the publisher record. For a title transferred to another publisher it differs from the member the DOI's prefix names throughcrossref_get_prefixeditorsin the author entry shape, returned whole and never counted inauthorCount- Author list paged by
offset/limit(default 25, up to 10,000 per call — a largerlimitis clamped to 10,000 with anotice);authorCountreports the full deposited total and anextOffsetcontinues when authors remain — every other field is returned in full on every page updatedBylists the corrections, retractions, expressions of concern, and new versions Crossref records against the work — notice DOI, type, source (publisherorretraction-watch, with its record ID), and date, entry for entry — andupdateTothe works this record is a notice for; whenupdatedByis present,noticenames each update type with its sources. An absentupdatedBydoes not mean the work was never updatedrelationsgroups related identifiers (preprint ↔ published version, versions, reviews, supplements) by relation type, identifier type, and asserting party, returned whole; only Crossref-registered DOIs among them resolve through this tool- A funder or affiliation asserted only through the ROR registry (no name deposited) carries
rorin place ofname, never as a blank entry - Publication date is the first of
published,published-print,published-online, andissued(this tool only) that names a value; a date component Crossref records as unknown is omitted, along with everything less precise below it - Outgoing references are reported as a count (
referencesCount) — entries come fromcrossref_get_references; incoming citation count (isReferencedByCount) is included, but citing works are not exposed by Crossref — use OpenAlex for citation graphs - A DOI Crossref holds no record for returns
doi_not_foundnaming the agency the DOI registry says holds it (registrationAgency— DataCite, JaLC, mEDRA, …), a Funder Registry pointer when Crossref registered it, or that no agency registered it at all
crossref_search_works tool
- Free-text
queryplus a structuredfilterobject using Crossref's hyphenated keys (from-pub-date,type,funder,issn,has-abstract,license.url, etc.) - Field-scoped parameters
queryTitle,queryAuthor,queryContainerTitle, andqueryBibliographiccombine withqueryand with each other - Sort by
relevance,score,is-referenced-by-count,published,deposited, or other listed fields — the publication-date sorts page byoffsetonly, since Crossref refuses them with a cursor. A cursor walk with a query term and nosortruns by relevance (sent assort=score, withoutorder) and can repeat or skip a record at a page boundary;sort: "created"walks without repeats. A filter-only walk runs in Crossref registration order fieldsnarrows the payload to any of the 20 select names the summary projects — including the citation locatorsvolume,issue,page,article-number, andISSN, the update linksupdated-byandupdate-to, andmemberformemberId, which every work also carries whenfieldsis omitted — and refuses any other name;DOIis always returned, andcrossref_get_workcarries the rest of the record- Each work carries
updatedBy(corrections, retractions, expressions of concern, new versions recorded against it) andupdateTo(the works it is a notice for) in the entry shape and rendered linecrossref_get_workuses, so a page of results can be screened for retractions without a call per DOI - A blank or whitespace-only query term or filter value, and an empty
sortororder, is read as omitted; when that leaves nothing to search by, thenoticesays the page is an unfiltered listing rowsreturns up to 250 works per call andauthorLimitcaps authors per work (default 25, up to 500); a larger value of either is clamped to its cap with anotice, which on an offset page also names the offset that continues after the records returned;authorCountreports the full deposited total — chain a cut work's DOI intocrossref_get_workfor the rest- Offset paging is capped at
offset + rows ≤ 10,000: a page that would pass it returns therowsthat fit, with anoticenaming the rows requested and applied, and an offset of 10,000 or more is refused (offset_too_large);cursor="*"starts deep paging via chainednextCursortokens — cursor and offset cannot be combined - A cursor walk ends on the page that omits
nextCursor— an empty page never carries one; every empty page'snoticenames which of the three causes applies
crossref_get_references tool
- Takes the citing work's DOI bare or resolver-wrapped, the same forms
crossref_get_workaccepts - Each reference carries its deposited citation string and, when Crossref has resolved it, a DOI for
crossref_get_work, withdoiAssertedBysaying whether the publisher deposited that DOI or Crossref matched it - Structured parts as deposited: author, year, article title, journal title, the title of a cited book or volume (
volumeTitle, which stands in as the title when there is no article title), series title, volume, issue, first page, edition, and ISSN - Citation strings have formatting markup stripped and character references decoded; a bracketed span that isn't a recognized tag (a cited URL, a Miller index, a DOI fragment) is left exactly as deposited
- Paged by
offset/limit(default 100, up to 2,500 per call — a largerlimitis clamped to 2,500 with anotice);referenceCountis the full deposited total andnextOffsetcontinues when more remain - Coverage varies by publisher — pre-2000 works and non-participating publishers often have no indexed references
- Single-hop only; incoming citations are not available through Crossref — use OpenAlex for citation graphs
- A DOI Crossref holds no record for returns
doi_not_foundnaming its registration agency (registrationAgency), or saying no agency registered it, the same waycrossref_get_workdoes
crossref_search_journals tool
include_works: truealso returns a page of the journal's most recent works, drawn from every ISSN its record lists whichever one was passed — newest published first byworks_offset, newest registered first on aworks_cursorwal