Crossref MCP Server
개요
제작자가 쓴 설명(영어 원문)
Resolve DOIs, search ~188M scholarly works, and fetch references via the Crossref REST API.
PopNx MCP의 세 기둥
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
- 사용자 의견i아직 리뷰가 없어요리뷰는 다음 단계에서 계정 기능과 함께 열려요
- 우리의 기본 점검i3개 중 3개 통과공개된 정보로 점검했으며, 코드는 아직 스캔하지 않았어요
- 사용 정도i초기↓ 772/주 · ★ –
할 수 있는 일
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
- 연결 방식: 컴퓨터 또는 클라우드
- 전송 방식: stdio, Streamable HTTP
- 카테고리: 검색 및 AI 기억
설치
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
설치하기 전에
- 기본 점검: 3개 중 3개 통과
- 제작자의 서버에서 실행돼요. 내가 요청한 내용은 제작자의 서버를 거쳐요.
- 할 수 있는 일 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메뉴 이름은 요금제나 시기에 따라 조금 다를 수 있어요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
직접 입력할 값
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월 6일에 알려 준 그대로예요. 우리가 아니라 제작자가 쓴 글이고, 일반 텍스트로만 보여 드려요.
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월 10일 점검
- ✓ 통과
제작자와 저장소 일치
레지스트리 이름이 GitHub 계정 cyanheads 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
- … 아직 점검 안 함
계속 관리되고 있음
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
- … 아직 점검 안 함
라이선스 있음
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
- ✓ 통과
엔드포인트 응답
194ms 만에 응답(HTTP 200)
- – 해당 없음
OAuth로 로그인
로그인 필요 없음
- ✓ 통과
도구 설명에 숨겨진 지시 없음
도구 설명 7개를 읽었고, AI에게 보내는 숨겨진 지시는 없었어요
검색 및 AI 기억 카테고리의 다른 서버와 비교i
- 이 카테고리의 다른 서버 5789개 중 0%보다 스타가 많아요
- 이 카테고리의 다른 서버 5789개 중 87%보다 최근에 레지스트리에 공개됐어요
- 기본 점검 결과가 이 카테고리의 다른 서버 5789개 중 100%와 같거나 더 좋아요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
자주 묻는 질문
Crossref MCP Server, 안전한가요?
해당하는 기본 점검 3개 중 3개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
어떤 키나 코드가 필요한가요?
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
내 컴퓨터에서 실행되나요, 클라우드에서 실행되나요?
둘 다 가능해요. 내 컴퓨터에 설치해도 되고, 클라우드 버전에 연결해도 돼요.
아직 관리되고 있나요?
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.5.1)은 5일 전 레지스트리에 올라왔어요.
어떤 앱에서 쓸 수 있나요?
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. URL로 연결되기 때문에, 원격 MCP 서버를 지원하는 앱(예: 개발자 모드의 ChatGPT)에서도 쓸 수 있어요.
대신 쓸 수 있는 건 뭐가 있나요?
같은 카테고리에는: Context7, Codebase Memory, Exa
대안
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:↓ 주간 다운로드i★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
Codebase Memory
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Exa
Connect AI agents to Exa for web search, content fetching, and multi-step research.
제작자의 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
앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요