DOI到BibTeX MCP服务器
一种MCP(模型上下文协议)服务器,使用官方DOI内容协商API将DOI转换为BibTeX格式。
运作原理
此服务器使用 DOI内容协商 直接从以下位置获取BibTeX条目 doi.org当你提供DOI时,它会发出一个HTTP请求 Accept: application/x-bibtex header以获取BibTeX格式的书目数据。
部署选项
选项1:免费铁路部署(建议用于Claude Web)
Railway提供了一个免费层,非常适合托管此MCP服务器:
- 创建铁路帐户 在https://railway.app(免费)
- 创建新项目:
- 点击“新建项目” - 选择“从GitHub仓库部署” - 连接您的GitHub帐户 - 将这些文件推送到GitHub仓库 - 选择您的存储库
- 铁路将自动:
- 检测Dockerfile - 构建和部署您的服务器 - 给你一个公共URL,比如 https://your-app.up.railway.app
- 添加到Claude Web:
- 转到Claude.ai中的“设置”>“集成” - 点击“+添加自定义集成” - 输入名称:“DOI到BibTeX” - 输入URL: https://your-app.up.railway.app/sse - 单击连接
铁路免费等级:每月5美元的信用额度,足以进行数千次DOI转换
选项2:克劳德桌面(本地)
- 安装Python依赖项:
pip install -r requirements.txt- 添加到MCP设置文件中:
- macOS: ~/Library/Application Support/Claude/claude_desktop_config.json - 窗户: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"doi-to-bibtex": {
"command": "python",
"args": ["/absolute/path/to/doi-to-bibtex-mcp.py"]
}
}
}- 重新启动克劳德桌面
用法
连接后,让Claude转换DOI:
请求示例:
- “将DOI 10.1038/nature12373转换为BibTeX”
- “获取BibTeXhttps://doi.org/10.1126/science.1157784"
- “我需要doi:10.103/PhysRevLett.104.198101的BibTeX条目”
服务器接受多种格式的DOI:
- 只有标识符:
10.1234/example - 使用doi:前缀:
doi:10.1234/example - 完整URL:
https://doi.org/10.1234/example
包含的文件
server-http.py-铁路HTTP/SSE版本doi-to-bibtex-mcp.py-克劳德桌面的stdio版本Dockerfile-铁路部署配置requirements.txt-Python依赖关系
替代免费托管选项
- 渲染: https://render.com(免费版可用)
- Fly.io: https://fly.io(免费版可用)
- Replit: https://replit.com(免费版可用)
所有工作方式都类似——推送你的代码,获取一个公共URL,添加到Claude。
数据源
此服务器使用官方的DOI内容协商服务,该服务为每个DOI重定向到相应的注册机构(Crossref、DataCite等)。数据直接来自出版商和注册机构。
许可证
麻省理工学院
