Converts DOI identifiers to BibTeX format using the official DOI content negotiation API, fetching bibliographic data directly from publishers and registration agencies.
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.
Deployment Options
Option 1: Free Railway Deployment (Recommended for Claude Web)
Railway offers a free tier perfect for hosting this MCP server:
Create a Railway account at https://railway.app (free)
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
Railway will automatically:
Detect the Dockerfile
Build and deploy your server
Give you a public URL like
https://your-app.up.railway.app
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/sseClick Connect
Railway Free Tier: $5/month credit, enough for thousands of DOI conversions
Option 2: Claude Desktop (Local)
Install Python dependencies:
Add to your MCP settings file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Restart Claude Desktop
Usage
Once connected, ask Claude to convert DOIs:
Example requests:
"Convert DOI 10.1038/nature12373 to BibTeX"
"Get BibTeX for https://doi.org/10.1126/science.1157784"
"I need the BibTeX entry for doi:10.1103/PhysRevLett.104.198101"
The server accepts DOIs in multiple formats:
Just the identifier:
10.1234/exampleWith doi: prefix:
doi:10.1234/exampleFull URL:
https://doi.org/10.1234/example
Files Included
server-http.py- HTTP/SSE version for Railwaydoi-to-bibtex-mcp.py- stdio version for Claude DesktopDockerfile- Railway deployment configurationrequirements.txt- Python dependencies
Alternative Free Hosting Options
Render: https://render.com (free tier available)
Fly.io: https://fly.io (free tier available)
Replit: https://replit.com (free tier available)
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