ReferenceMCP

ReferenceMCP

An academic reference manager MCP server that enables searching papers across multiple sources, managing references locally, and formatting citations in 10,000+ styles.

Category
Visit Server

README

ReferenceMCP

Academic Reference Manager MCP server for Claude Desktop. Search papers, manage references, and format citations in 10,000+ styles.

Features

  • Search across Crossref, Semantic Scholar, OpenAlex, and PubMed
  • Save references to a local SQLite database
  • Organize with collections and tags
  • Format citations in APA, MLA, Chicago, IEEE, Harvard, and thousands more CSL styles
  • Export to BibTeX, RIS, or CSL-JSON

Installation

Using uv (Recommended)

git clone https://github.com/eduardofarina/ReferenceMCP.git
cd ReferenceMCP
uv sync

Using conda

conda env create -f environment.yml
conda activate reference-mcp
pip install -e .

Configuration

  1. Copy .env.example to .env:

    cp .env.example .env
    
  2. Edit .env with your settings (all optional but recommended):

    CONTACT_EMAIL=your@email.com
    
  3. Add the server to your MCP client config.

    Claude Desktop (%APPDATA%\Claude\claude_desktop_config.json on Windows):

    {
      "mcpServers": {
        "reference-mcp": {
          "command": "uv",
          "args": [
            "--directory",
            "<path-to-ReferenceMCP>",
            "run",
            "server.py"
          ]
        }
      }
    }
    

    Replace <path-to-ReferenceMCP> with the full path to your clone (e.g. C:\Users\You\ReferenceMCP on Windows or /home/you/ReferenceMCP on Linux/macOS).

    Cursor (.cursor/mcp.json): use the same command and args, with your project path in --directory.

Available Tools

Search Tools

Tool Description
search_papers Search across sources by query
search_by_doi Look up a paper by DOI
get_paper_details Get full metadata for a saved reference
get_citations Get papers that cite a given paper
get_references Get papers cited by a given paper

Library Management

Tool Description
save_reference Save a paper by DOI
list_references List saved references
delete_reference Remove a reference
create_collection Create a collection
add_to_collection Add reference to collection
tag_reference Add tags to a reference
list_collections List all collections
list_tags List all tags

Citation Formatting

Tool Description
format_citation Format a reference in a style
format_bibliography Format multiple references
list_styles List available styles
set_default_style Set default citation style

Export

Tool Description
export_bibtex Export as BibTeX
export_ris Export as RIS
export_csl_json Export as CSL-JSON

Example Usage

User: "Find papers about transformer architectures and save the top result"

Claude:

  1. Searches with search_papers(query="transformer architectures")
  2. Saves with save_reference(doi="10.48550/arXiv.1706.03762")

User: "Format my saved papers as an APA bibliography"

Claude:

  1. Lists with list_references()
  2. Formats with format_bibliography(reference_ids=[1,2,3], style="apa")

Testing

Test with MCP Inspector:

uv run mcp dev server.py

Citation Styles

Popular styles included:

  • APA (7th Edition)
  • MLA (9th Edition)
  • Chicago (Author-Date & Notes-Bibliography)
  • IEEE
  • Harvard
  • Vancouver
  • Nature, Science, Cell
  • And 10,000+ more from the CSL repository

Data Storage

References are stored in data/references.db (SQLite). Citation styles are cached in styles/.

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured