mcpField
B
bibtex-reference-manager-mcp

bibtex-reference-manager-mcp

本地服务
github.com/AnonymousOnyx22科研与教育01 天前更新

关于 bibtex-reference-manager-mcp

面向学生和研究者的开源 MCP 服务,可清理、转换和检查导出的参考文献列表。它离线处理粘贴的文本,不连接文献库,也不会修改原始文件。

主要功能

  1. 01解析并规范化文献条目
  2. 02在 BibTeX、RIS、CSL JSON 间转换
  3. 03按 DOI、引用键和标题查重
  4. 04检查字段、页码、DOI 和年份
  5. 05生成整洁的引用键

适用场景

  1. 01清理 Zotero 或 Mendeley 导出内容
  2. 02将 EndNote RIS 转为 BibTeX
  3. 03提交论文前检查和去重参考文献

MCP 相关

作为 MCP 服务向客户端提供解析、转换、查重、检查和生成引用键等工具。服务在本机运行,只处理客户端传入的文本,不访问网络或修改文件。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"anonymousonyx22-bibtex-reference-manager": {
"command": "npx",
"args": [
"-y",
"bibtex-reference-manager-mcp"
]
}
}
}
启动命令npx -y bibtex-reference-manager-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmbibtex-reference-manager-mcp0.1.0

工具

5

收录的工具列表 · 更新于 1 天前

参数类型必填说明
textstring是作为文本的参考文献列表:BibTeX、RIS 或 CSL JSON。
formatenum否文本格式。默认为 auto,根据文本判断格式。auto | bibtex | ris | csl_json

详细介绍

BibTeX Reference Manager MCP

npm downloads license

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

试试这些提示词

先将参考文献列表粘贴到聊天中,或附上文件,然后提出以下请求:

  1. “这是我的 references.bib。请逐条检查并告诉我哪里有问题。”
  2. “找出此列表中的重复项,并返回一份删除重复项后的干净 BibTeX 文件。”
  3. “将我从文献库导出的这些 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 导出

  1. 在 Zotero 中,右键点击一个分类(或选择若干条目),选择导出选项,然后选择 BibTeX 或 RIS。在 Mendeley 中,选择参考文献,选择 Export,然后选择 BibTeX 或 RIS。菜单名称会因版本而异,请查找 Export。
  2. 在任意文本编辑器中打开已保存的 .bib 或 .ris 文件并复制全部内容,或者在支持附件的应用中附上该文件。
  3. 将内容粘贴到 AI 应用中,并提出例如这样的要求:“检查这个列表,删除重复项,并返回整理好的 BibTeX,引用键也要规范。”
  4. 将结果复制到 .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 导出文件
  1. 运行 parse_bibliography,规范条目格式并补全年份。
  2. 运行 dedupe_entries,按 DOI、引用键或标题删除重复项。
  3. 运行 lint_entries,查看缺失字段、错误的页码范围和异常年份。
  4. 运行 generate_cite_keys,为每个条目生成整洁的引用键,例如 smith2024deep。
  5. 运行 convert_bibliography,获取清理后的 BibTeX 文件。
将 EndNote RIS 导出文件转换为 BibTeX
  1. 对 RIS 文本运行 parse_bibliography,检查解析是否正常。
  2. 运行 convert_bibliography,并将 to 设置为 BibTeX。
  3. 如果需要 smith2024deep 这样的引用键,请运行 generate_cite_keys。
提交前检查完成的 .bib 文件
  1. 运行 parse_bibliography 进行规范化。
  2. 运行 lint_entries,并修复它标记的问题。
  3. 运行 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。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。