Skip to main content
Glama
nizarmichaud

DOI to BibTeX MCP Server

by nizarmichaud

DOI to BibTeX MCP Server

An MCP (Model Context Protocol) server that converts DOIs to BibTeX format using the official DOI content negotiation API.

How It Works

This server uses DOI content negotiation to fetch BibTeX entries directly from doi.org. When you provide a DOI, it makes an HTTP request with the Accept: application/x-bibtex header to get the bibliographic data in BibTeX format.

Related MCP server: doi2ris

Deployment Options

Railway offers a free tier perfect for hosting this MCP server:

  1. Create a Railway account at https://railway.app (free)

  2. Create a new project:

    • Click "New Project"

    • Select "Deploy from GitHub repo"

    • Connect your GitHub account

    • Push these files to a GitHub repo

    • Select your repository

  3. Railway will automatically:

    • Detect the Dockerfile

    • Build and deploy your server

    • Give you a public URL like https://your-app.up.railway.app

  4. Add to Claude Web:

    • Go to Settings > Integrations in Claude.ai

    • Click "+ Add Custom Integration"

    • Enter name: "DOI to BibTeX"

    • Enter URL: https://your-app.up.railway.app/sse

    • Click Connect

Railway Free Tier: $5/month credit, enough for thousands of DOI conversions

Option 2: Claude Desktop (Local)

  1. Install Python dependencies:

pip install -r requirements.txt
  1. Add to your MCP settings file:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

    • Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "doi-to-bibtex": {
      "command": "python",
      "args": ["/absolute/path/to/doi-to-bibtex-mcp.py"]
    }
  }
}
  1. Restart Claude Desktop

Usage

Once connected, ask Claude to convert DOIs:

Example requests:

The server accepts DOIs in multiple formats:

  • Just the identifier: 10.1234/example

  • With doi: prefix: doi:10.1234/example

  • Full URL: https://doi.org/10.1234/example

Files Included

  • server-http.py - HTTP/SSE version for Railway

  • doi-to-bibtex-mcp.py - stdio version for Claude Desktop

  • Dockerfile - Railway deployment configuration

  • requirements.txt - Python dependencies

Alternative Free Hosting Options

All work similarly - push your code, get a public URL, add to Claude.

Data Source

This server uses the official DOI content negotiation service, which redirects to the appropriate registration agency (Crossref, DataCite, etc.) for each DOI. The data comes directly from publishers and registration agencies.

License

MIT

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables resolving academic DOIs to canonical identifiers and generating BibTeX records via CrossRef, and can be integrated into MCP-compliant clients for automated research workflows.
    8
    -
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables conversion of DOIs and title queries into RIS-formatted bibliographic references using Crossref and OpenAlex APIs, with caching and rate limiting to avoid IP bans.
    -
  • F
    license
    Not graded
    quality
    A
    maintenance
    Enables AI assistants to verify bibliographic existence and metadata consistency, convert DOI/PMID/PMCID/arXiv identifiers to BibTeX, and check .bib files against multiple sources without destructive edits.
    -
  • F
    license
    Not graded
    quality
    A
    maintenance
    Enables AI assistants and researchers to verify bibliographic existence and metadata consistency, convert DOI, PMID, PMCID, or arXiv identifiers into BibTeX, and review explainable multi-source matches without destructive edits.
    -