Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages