关于 bibtex-reference-manager-mcp
面向学生和研究者的开源 MCP 服务,可清理、转换和检查导出的参考文献列表。它离线处理粘贴的文本,不连接文献库,也不会修改原始文件。
主要功能
- 01解析并规范化文献条目
- 02在 BibTeX、RIS、CSL JSON 间转换
- 03按 DOI、引用键和标题查重
- 04检查字段、页码、DOI 和年份
- 05生成整洁的引用键
适用场景
- 01清理 Zotero 或 Mendeley 导出内容
- 02将 EndNote RIS 转为 BibTeX
- 03提交论文前检查和去重参考文献
MCP 相关
作为 MCP 服务向客户端提供解析、转换、查重、检查和生成引用键等工具。服务在本机运行,只处理客户端传入的文本,不访问网络或修改文件。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
5收录的工具列表 · 更新于 1 天前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| text | string | 是 | 作为文本的参考文献列表:BibTeX、RIS 或 CSL JSON。 |
| format | enum | 否 | 文本格式。默认为 auto,根据文本判断格式。auto | bibtex | ris | csl_json |
详细介绍
BibTeX Reference Manager MCP
BibTeX Reference Manager MCP 是一款免费、开源的 MCP 服务,在 npm 上发布为 bibtex-reference-manager-mcp。它可以清理、转换、去重和格式化 BibTeX、RIS 和 CSL JSON 参考文献列表,让你不必再手动修复损坏的 .bib 文件。将列表粘贴到 AI 应用中,让它读取条目、转换格式、查找重复项、标记问题,或为每个条目生成整洁的引用键。
本工具考虑到了学生的需求。正在用 LaTeX 撰写论文?让它修复损坏的 .bib 文件、整理 Zotero 或 Mendeley 导出文件、将 EndNote RIS 文件转换为 BibTeX,并在提交前整理好论文参考文献。
可与 Claude Desktop、Claude Code、Cursor、VS Code Copilot 以及任何支持 MCP 的应用搭配使用。它在你的电脑上运行,无需联网,也无需登录;你的参考文献始终保留在本机。
永久免费。无需账户,也无需订阅。
安装
使用 npx 即可直接从 npm 运行。你需要 Node.js 20 或更高版本,详情请参阅Node 版本。无需安装其他内容,也无需账户、API 密钥,服务本身也不需要配置文件。
npx -y bibtex-reference-manager-mcp
试试这些提示词
先将参考文献列表粘贴到聊天中,或附上文件,然后提出以下请求:
- “这是我的 references.bib。请逐条检查并告诉我哪里有问题。”
- “找出此列表中的重复项,并返回一份删除重复项后的干净 BibTeX 文件。”
- “将我从文献库导出的这些 RIS 条目转换为 BibTeX,然后将键重命名为类似 smith2024deep 的格式。”
将其添加到 AI 应用的 MCP 配置中,让应用可以为你启动服务:
它们启动服务的方式都相同,区别仅在于配置文件的位置。
Claude Desktop
将以下内容添加到 claude_desktop_config.json:
{
"mcpServers": {
"bibtex": {
"command": "npx",
"args": ["-y", "bibtex-reference-manager-mcp"]
}
}
}
保存文件后,重启 Claude Desktop。
Claude Code
在终端中运行:
claude mcp add bibtex -- npx -y bibtex-reference-manager-mcp
Cursor
Cursor 会读取项目文件夹中的 .cursor/mcp.json;如果希望在每个项目中都能使用此服务,则会读取主文件夹中的 ~/.cursor/mcp.json。
{
"mcpServers": {
"bibtex": {
"type": "stdio",
"command": "npx",
"args": ["-y", "bibtex-reference-manager-mcp"]
}
}
}
VS Code Copilot
将以下内容添加到工作区的 .vscode/mcp.json:
{
"servers": {
"bibtex": {
"type": "stdio",
"command": "npx",
"args": ["-y", "bibtex-reference-manager-mcp"]
}
}
}
为什么选择此服务
有些 MCP 服务会连接到参考文献管理器账户并在线读取你的文献库。本服务不会。它只处理你粘贴的文本,因此用途有所不同。
- 无需账户、API 密钥或互联网连接。不会向任何地方发送数据。
- 不会连接 Zotero 或 Mendeley。你只需导出文件并粘贴进来,因此只要参考文献管理器能导出 BibTeX、RIS 或 CSL JSON 格式,就可以使用。
- 处理工作由代码完成,而非让 AI 猜测。转换、去重、检查和重命名键的结果每次都相同。
- 本服务为只读。它绝不会修改你的文献库或文件。你可以查看处理结果,并自行决定保留哪些内容。
如果你希望助手搜索或修改在线文献库,则需要连接到相应服务的 MCP 服务。本服务用于整理导出的列表。
竞品比较
其他 MCP 服务也能处理参考文献库。大多数会连接在线账户或 Web API,因此你的数据会离开电脑,而且你需要账户或 API 密钥。本服务处理你粘贴的文本,因此无需账户、API 密钥或互联网连接,也不会向任何地方发送数据。
| 服务 | 可离线使用 | 需要账户或密钥 | 读取实时文献库 | 只读 | 格式 |
|---|---|---|---|---|---|
| BibTeX Reference Manager MCP | 是 | 否 | 否 | 是 | BibTeX、RIS、CSL JSON |
| zotero-mcp | 否 | 是 | 是 | 否 | Zotero、BibTeX |
| mendeley-mcp | 否 | 是 | 是 | 否 | Mendeley、BibTeX |
| bibtex-mcp | 否 | 可选 | 否 | 是 | BibTeX |
| reference-mcp | 否 | 否 | 否 | 是 | BibTeX |
| CrossRef-MCP | 否 | 否 | 否 | 是 | BibTeX |
| mcp_doi2bib | 否 | 否 | 否 | 是 | BibTeX |
| Local-Zotero-MCP | 否 | 否 | 是 | 是 | Zotero |
| jabref-mcp | 否 | 否 | 是 | 否 | BibTeX |
zotero-mcp 和 mendeley-mcp 会连接你的在线 Zotero 或 Mendeley 文献库,并且可以对其进行修改。bibtex-mcp、reference-mcp、CrossRef-MCP 和 mcp_doi2bib 会从 Semantic Scholar、OpenAlex、CiteAs、Google Scholar 和 CrossRef 等网络来源获取引文。Local-Zotero-MCP 会通过 Zotero 桌面应用读取本地 Zotero 文献库。jabref-mcp 会读取 JabRef .bib 文件,并且可以通过 JabRef 添加条目。
如果你想清理、转换、去重、检查并重命名导出的列表,且不将其发送到任何地方,请选择本服务。如果你想搜索或修改在线文献库,请选择其他服务之一。
从 Zotero 或 Mendeley 导出
- 在 Zotero 中,右键点击一个分类(或选择若干条目),选择导出选项,然后选择 BibTeX 或 RIS。在 Mendeley 中,选择参考文献,选择 Export,然后选择 BibTeX 或 RIS。菜单名称会因版本而异,请查找 Export。
- 在任意文本编辑器中打开已保存的
.bib或.ris文件并复制全部内容,或者在支持附件的应用中附上该文件。 - 将内容粘贴到 AI 应用中,并提出例如这样的要求:“检查这个列表,删除重复项,并返回整理好的 BibTeX,引用键也要规范。”
- 将结果复制到
.bib文件中。要将其导回参考文献管理器,请将其保存为.bib或.ris文件,然后导入。
系统会自动检测格式。如果无法识别文件,请说明它的格式。
工具
| 工具 | 功能 |
|---|---|
parse_bibliography | 读取 BibTeX、RIS 或 CSL JSON 文本,并返回规范化条目:字段名转为小写、空格整理、DOI 裸露化、根据日期补全年份,以及将作者拆分为“姓,名”。 |
convert_bibliography | 在 BibTeX、RIS、CSL JSON 和纯文本之间进行转换。除非你传入 from,否则会自动检测输入格式。BibTeX 中的页码范围会转换为 12--15。 |
dedupe_entries | 按 DOI、相同引用键和相似标题查找重复项(年份不得冲突)。指出应保留的条目,并返回不含多余副本的 BibTeX 列表。 |
lint_entries | 标记缺少必填字段、页码范围错误、标题未大写、DOI 无效、年份异常和重复键。 |
generate_cite_keys | 根据第一作者、年份和标题中第一个有意义的词生成引用键,例如 smith2024deep。重复项会添加字母,例如 smith2024deepa。 |
每个工具都将参考文献列表作为 text 接收,并同时返回易读的答案和结构化字段。所有工具均为只读。它们不会修改文件,因为你只需粘贴文本并获取结果。
格式
- BibTeX:支持
@string宏、引号和花括号括起的值、#连接符以及@comment块。 - RIS:支持
TY、AU、TI、T2、PY、SP、EP、DO和KW等常见标签。 - CSL JSON:支持条目列表、单个条目,或包含
items列表的对象。
常见工作流
以下示例展示了五个工具如何配合使用。它们都将参考文献列表作为 text 接收,并且均为只读。
清理 Zotero 或 Mendeley 导出文件
- 运行
parse_bibliography,规范条目格式并补全年份。 - 运行
dedupe_entries,按 DOI、引用键或标题删除重复项。 - 运行
lint_entries,查看缺失字段、错误的页码范围和异常年份。 - 运行
generate_cite_keys,为每个条目生成整洁的引用键,例如smith2024deep。 - 运行
convert_bibliography,获取清理后的 BibTeX 文件。
将 EndNote RIS 导出文件转换为 BibTeX
- 对 RIS 文本运行
parse_bibliography,检查解析是否正常。 - 运行
convert_bibliography,并将to设置为 BibTeX。 - 如果需要
smith2024deep这样的引用键,请运行generate_cite_keys。
提交前检查完成的 .bib 文件
- 运行
parse_bibliography进行规范化。 - 运行
lint_entries,并修复它标记的问题。 - 运行
dedupe_entries,确保没有重复条目。
隐私
所有操作都在你的计算机上运行。服务只会读取 AI 应用传给它的文本。它不会发起网络请求、在线查询 DOI、需要 API 密钥,也不会在调用之间保留任何内容。DOI 检查只会检查 DOI 的格式,不会向网站确认它是否存在。
常见问题
它会检查 DOI 是否真实存在吗? 不会。它离线运行,因此只会检查 DOI 的格式是否正确,例如 10.1000/xyz123。
它如何判断两个标题是否相同? 它会将标题转换为小写,去除标点和重音符号,然后比较字母对。默认匹配阈值为 0.9(满分为 1)。传入 title_threshold 可以放宽或收紧阈值。年份不同的条目不会按标题匹配。
它会更改我用花括号保护的大写字母(如 {DNA})吗? 不会。BibTeX 输出会保留花括号,只有在转换为 RIS、CSL JSON 或纯文本时才会移除。
Node 版本
运行服务需要 Node.js 20 或更高版本。参与开发请使用 Node.js 22.12 或更高版本。
开发
npm install
npm run build
npm test
代码位于 src。src/bib.ts 负责读写格式,src/analyze.ts 用于查找重复项和 lint 问题,src/tools.ts 定义了五个工具。
许可证
MIT,详见 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。