Skip to content

arterorx/crossref-mcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Crossref Papers MCP Server

An MCP server that connects Claude to Crossref, the largest scholarly metadata registry with 150M+ works. Search papers, explore citations, find author publications, and trace reference networks — all from within Claude.

No API keys required. The Crossref API is free and open. Optionally set CROSSREF_MAILTO for faster rate limits via Crossref's polite pool.

Features

  • Paper search — search across 150M+ scholarly works with filters by year, type, and sort by relevance or citation count
  • Citation exploration — find all papers that cite a given work, sorted by impact
  • Author lookup — get an author's publications with total citation count and most-cited work
  • Reference lists — retrieve and resolve a paper's bibliography with DOI-linked metadata
  • Topic discovery — find the most influential papers in any subject area

Quick Start

Prerequisites

  • Python 3.10+
  • uv (recommended) or pip

Installation

git clone https://github.com/arterorx/crossref-mcp.git
cd crossref-mcp
uv sync

Configure in Claude Desktop

Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "crossref": {
      "command": "uv",
      "args": ["--directory", "/absolute/path/to/crossref-mcp", "run", "crossref-mcp"]
    }
  }
}

Configure in Claude Code

claude mcp add crossref -- uv --directory /absolute/path/to/crossref-mcp run crossref-mcp

Polite pool (optional)

Set CROSSREF_MAILTO to get priority access to the Crossref API:

export CROSSREF_MAILTO="your@email.com"

Restart Claude after adding the configuration.

Tools Reference

search_papers

Search for scientific papers by keyword with filters.

Parameter Type Default Description
query str Search terms
rows int 10 Results per page (1-50)
offset int 0 Pagination offset
year_from int|None None Published after this year
year_to int|None None Published before this year
type str|None None Work type (journal-article, book-chapter)
sort str "relevance" Sort: "relevance", "cited", "published"

Example prompt: "Search for papers about transformer architecture published after 2020"


get_paper

Get full details of a paper by DOI.

Parameter Type Description
doi str DOI identifier (e.g., 10.1038/s41586-021-03819-2)

Example prompt: "Get the details of the paper with DOI 10.1145/3295222"

Returns: title, authors, abstract, citation count, citations per year, publisher, subjects.


get_citations

Find papers that cite a given work.

Parameter Type Default Description
doi str DOI of the cited paper
rows int 10 Results per page (1-50)
offset int 0 Pagination offset
sort str "cited" Sort: "cited" or "published"

Example prompt: "Show me papers that cite the Attention Is All You Need paper"


get_author_works

Get all works by an author name.

Parameter Type Default Description
author str Author name (e.g., "Yoshua Bengio")
rows int 10 Results per page (1-50)
offset int 0 Pagination offset
sort str "cited" Sort: "cited" or "published"

Example prompt: "Find the most cited papers by Geoffrey Hinton"

Returns: publications + computed total_citations and most_cited_work.


get_references

Get the bibliography of a paper.

Parameter Type Description
doi str DOI of the paper

Example prompt: "What papers does this paper reference? DOI: 10.1145/3295222"

Returns: up to 30 references with DOI-resolved titles and authors where available.


search_by_topic

Find influential papers in a subject area.

Parameter Type Default Description
topic str Subject area (e.g., "biochemistry")
rows int 10 Results per page (1-50)
sort str "cited" Sort: "cited" or "published"

Example prompt: "What are the most influential papers in reinforcement learning?"

Tech Stack

  • Python 3.10+
  • MCP SDK (FastMCP) — Model Context Protocol server framework
  • httpx — async HTTP client with connection pooling
  • Pydantic v2 — data validation and serialization
  • tenacity — retry with exponential backoff
  • Crossref API — scholarly metadata for 150M+ works, no auth required

Limitations

  • Author search is name-based, not ORCID — may return works by different people with the same name
  • Not all papers have abstracts in Crossref metadata
  • Reference resolution is limited to 30 references per paper to avoid excessive API calls
  • Citation counts reflect Crossref data only (may differ from Google Scholar or Semantic Scholar)
  • Cache is in-memory only, cleared on server restart (30 min TTL for searches, 1 hour for individual works)

License

MIT

Author

arterorx

About

MCP server for Claude — search and explore scientific papers, citations, and authors

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages