1. Conduid
  2. Developer Tools
  3. Crossref Cite MCP
MCP server · Developer Tools

Crossref Cite MCP

MCP tool for resolving paper citations via Crossref API with multiple format support

Unclaimed last commit 8 months ago devtools
41Fair

Scored 3 days ago · breakdown

About Crossref Cite MCP

Crossref Cite MCP is an MCP server published by h-lu in the Developer Tools category: mCP tool for resolving paper citations via Crossref API with multiple format support. It has been installed 0 times through Conduid.

The repository has 2 stars and 0 forks, with the last commit 8 months ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues (0) before depending on it in production.

Install

Install
npx crossref-cite-mcp

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

Ask AI about Crossref Cite MCP

Powered by Claude · Grounded in docs

I know everything about Crossref Cite MCP. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ·README presentNot checked yet.
  • ·License declaredNot checked yet.
  • ·Tests presentNot checked yet.
  • ·Dependencies pinnedNot checked yet.
  • ·No dynamic code executionNot checked yet.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

Releases

v0.1.2v0.1.2 · 20 Dec 2025

README

Crossref Cite MCP Server

A Model Context Protocol (MCP) server for resolving paper citations via Crossref API. Supports multiple output formats including CSL-JSON, BibTeX, RIS, and formatted text. Designed for LLM tools like Claude Desktop, Cursor, etc.

PyPI version License Python

中文文档

Features

  • 🔍 Smart Input Parsing: Automatically detects DOIs, arXiv IDs, PMIDs, or falls back to bibliographic search
  • 📚 Multiple Citation Formats: CSL-JSON, BibTeX, RIS, and formatted text (APA, Chicago, IEEE, etc.)
  • Built-in Caching: Memory or JSON file cache with configurable TTL (default: 14 days)
  • 🔄 Retry Logic: Exponential backoff for rate limits (429) and server errors (5xx)
  • 🎯 Polite Pool Support: Uses mailto parameter for higher Crossref rate limits

Installation

From PyPI (recommended)

# Using uv (recommended)
uv pip install crossref-cite-mcp

# Or using pip
pip install crossref-cite-mcp

From Source (for development)

# Clone the repository
git clone https://github.com/h-lu/crossref-cite-mcp.git
cd crossref-cite-mcp

# Install with uv
uv pip install -e .

# Or use pip
pip install -e .

Configuration

Set environment variables (or create a .env file):

# Required: Your email for Crossref polite pool
export CROSSREF_MAILTO=your-email@example.com

# Optional: Cache configuration
export CROSSREF_CACHE_BACKEND=json        # "memory" or "json"
export CROSSREF_CACHE_PATH=~/.crossref-cite/cache.json
export CROSSREF_CACHE_TTL=1209600         # 14 days in seconds

# Optional: Logging
export LOG_LEVEL=INFO

Configure Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):

Using uvx (recommended, no pre-installation required)

{
  "mcpServers": {
    "crossref-cite": {
      "command": "uvx",
      "args": ["crossref-cite-mcp"],
      "env": {
        "CROSSREF_MAILTO": "your-email@example.com"
      }
    }
  }
}

Using pip installed package

{
  "mcpServers": {
    "crossref-cite": {
      "command": "crossref-cite-mcp",
      "args": [],
      "env": {
        "CROSSREF_MAILTO": "your-email@example.com"
      }
    }
  }
}

For Development (from source with uv)

{
  "mcpServers": {
    "crossref-cite": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/crossref-cite-mcp", "python", "-m", "crossref_cite"],
      "env": {
        "CROSSREF_MAILTO": "your-email@example.com"
      }
    }
  }
}

Usage

Available Tools

resolve_citation

Resolve a paper and return citations in multiple formats.

Arguments:

  • query (required): Paper title, DOI, arXiv ID, or PMID
  • formats: List of formats (["csl-json", "bibtex", "ris", "formatted"])
  • style: CSL style for formatted output (default: "apa")
  • locale: Locale for formatted output (default: "en-US")
  • rows: Number of Crossref candidates (default: 5)

Example:

{
  "query": "Attention Is All You Need",
  "formats": ["bibtex", "formatted"],
  "style": "apa"
}

search_papers

Search Crossref for papers (metadata only, no citation fetching).

Arguments:

  • query (required): Search query
  • rows: Number of results (default: 10, max: 20)
  • filter_from_year: Publication year filter (start)
  • filter_to_year: Publication year filter (end)
  • filter_type: Work type filter (e.g., "journal-article")

Direct CLI Testing

# Test with JSON-RPC request
echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"resolve_citation","arguments":{"query":"10.1038/nature12373","formats":["bibtex"]}}}' | python -m crossref_cite

Development

# Install dev dependencies
pip install -e ".[dev]"

# Run tests
pytest tests/ -v

# Run with coverage
pytest tests/ -v --cov=crossref_cite

# Lint
ruff check src tests

# Type check
mypy src/crossref_cite

Recording VCR Cassettes

To record new HTTP interaction cassettes for tests:

# Delete existing cassettes and re-record
rm -rf tests/cassettes/
pytest tests/ -v --vcr-record=new_episodes

Docker

# Build image
docker build -t crossref-cite-mcp .

# Run
docker run -e CROSSREF_MAILTO=your-email@example.com crossref-cite-mcp

API Reference

Crossref Best Practices

This implementation follows Crossref REST API best practices:

  • ✅ Uses mailto parameter for polite pool access
  • ✅ Implements exponential backoff for rate limits
  • ✅ Caches results to reduce redundant requests
  • ✅ Uses query.bibliographic for citation-like searches

Content Negotiation

Citation formats are fetched via DOI content negotiation:

Format Accept Header
CSL-JSON application/vnd.citationstyles.csl+json
BibTeX application/x-bibtex
RIS application/x-research-info-systems
Formatted text/x-bibliography; style=apa; locale=en-US

License

MIT

README mirrored from the source repository 3 days ago. The original is authoritative.

Questions

About Crossref Cite MCP

How do I install Crossref Cite MCP?

Run npx crossref-cite-mcp, then add the server to your MCP client's configuration. Conduid has recorded 0 installs, so the command is known to work with current clients.

Is Crossref Cite MCP safe to use with an AI agent?

Its trust score is 41 out of 100 (fair). It passes 0 of 1 static security checks; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Crossref Cite MCP still maintained?

The last commit was 8 months ago, with 0 open issues. That's long enough that you should check whether the maintainer is responding to issues before depending on it.