
Zotero Bridge
io.github.CombjellyshenPublished by GitHub account Combjellyshenv1.0.3Updated Oct 24, 2026
MCP Server for Zotero SQLite Database - collection, tagging, PDF reading and more.
Overview
Lets an assistant read and edit a local Zotero library through its SQLite database, including collections, tags, notes, PDFs and citations.
- What you can do
- ZoteroBridge connects directly to the Zotero SQLite database (zotero.sqlite) and exposes 13 tools. It can list, create, rename, move and delete collections; add, remove and query tags; search items and fetch details; read and set abstracts and notes; extract PDF text, search inside PDFs and read annotations; look up items by DOI, ISBN, PMID, arXiv or URL; find related items; and run library maintenance such as duplicate detection, attachment validation and merging. A raw_query tool runs read-only SELECT statements.
- When to use it
- Useful when you keep references in Zotero and want an assistant to search the library, summarise or annotate papers, organise collections and tags, or clean up duplicates without switching applications. Best for desktop users who want literature work handled in the same chat as their writing or coding.
- Requirements
- Runs locally over stdio as the npm package zotero-bridge, so Node.js 18 or higher is needed, plus Zotero 7.0 or higher and an MCP-capable client such as Claude Desktop, Cursor or VS Code Copilot. Desktop only; no web version. No accounts, API keys or environment variables are declared. A custom database path can be passed with the --db argument.
Installation
In SourceWeft
- Open Zotero Bridge in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
ZoteroBridge
🇨🇳 简体中文 | 🇬🇧 English
连接 Zotero SQLite 数据库的模型上下文协议 (MCP) 服务器
[npm version] [Zotero] [Node.js] [TypeScript] [MCP] [License]
概述
ZoteroBridge 是一个模型上下文协议 (MCP) 服务器,可直接连接到 Zotero 的 SQLite 数据库 (zotero.sqlite),让 AI 助手(如 Claude、ChatGPT、GitHub Copilot 等)能够与您的 Zotero 文献库进行交互。
主要特性
- 🗂️ 文件夹管理 - 创建、重命名、移动和删除 Zotero 文件夹(集合)
- 🏷️ 标签管理 - 为文献添加、删除和查询标签
- 📖 条目操作 - 搜索条目、获取详情、管理文件夹关系
- 📝 内容管理 - 读取/设置摘要,添加笔记
- 📄 PDF 处理 - 提取全文、生成摘要、全文搜索、获取标注
- 🔍 标识符搜索 - 通过 DOI、ISBN、PMID、arXiv、URL 查找文献
- 🔗 相关条目 - 查找手动关联、共享标签/作者的相似文献
- 🛠️ 库维护 - 查找重复项、验证附件、清理孤立记录、合并条目
更新日志
v1.1.5 (2026-02-01)
🗑️ 回收站识别功能
- ✅ 所有查询函数现在正确排除
deletedItems表中的条目 - ✅
getItemDetails新增isDeleted和dateDeleted字段 - ✅
findItemByDOI/ISBN/Identifier自动跳过回收站中的条目 - ✅ 新增
isItemDeleted()方法检查条目是否在回收站 - ✅ 新增
getDeletedItems()方法获取回收站内容 - ✅ 新增
getDeletedItemsCount()方法获取回收站条目数量 - ✅ 附件查询也排除已删除的附件
v1.1.3 (2026-02-01)
🔧 修复
- ✅ 修复了集合(文件夹)创建功能 - 添加了必需的
clientDateModified字段 - ✅ 修复了集合重命名功能 - 正确更新
clientDateModified时间戳 - ✅ 修复了集合移动功能 - 确保父子关系正确建立
- ✅ 所有集合操作现在完全符合 Zotero 官方数据库规范
现在可以正常使用:
- 创建新集合(顶级文件夹)
- 创建子集合(支持多层嵌套)
- 重命名集合
- 移动集合到其他父集合
- 获取子集合列表
v1.1.2
- 改进数据库连接稳定性
- 优化错误处理机制
v1.1.0
- 将 42 个工具整合为 13 个基于动作的工具
- 简化接口同时保持全部功能
快速开始
前置要求
- Node.js 18.0 或更高版本
- Zotero 7.0 或更高版本
- 支持 MCP 的 AI 客户端(如 Claude Desktop、Cursor、VS Code Copilot)
安装方式
从源码构建
配置 AI 客户端
Claude Desktop
添加到 Claude Desktop 配置文件:
Windows: %APPDATA%\Claude\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
如果从源码构建:
Cursor IDE
在项目根目录创建 .cursor/mcp.json:
VS Code Copilot
- 打开 VS Code 设置 (
Ctrl+,) - 搜索
github.copilot.chat.mcpServers - 点击 "在 settings.json 中编辑"
- 添加以下配置:
自定义数据库路径
如果您的 Zotero 数据库不在默认位置:
可用工具(13 个工具)
manage_collection - 文件夹管理
管理 Zotero 文件夹(集合)的所有操作。
manage_tags - 标签管理
管理标签的所有操作。
search_items - 搜索条目
按标题搜索 Zotero 条目。
get_item_details - 获取条目详情
通过 ID 或 Key 获取条目的详细信息。
manage_item_content - 内容管理
管理条目的摘要和笔记。
manage_pdf - PDF 操作
PDF 文件的各种操作。
find_by_identifier - 标识符搜索
通过各种标识符查找文献,支持自动检测。
get_annotations - 获取标注
获取 PDF 标注(高亮、笔记等),支持按类型、颜色筛选或搜索。
search_fulltext - 全文搜索
在 Zotero 全文索引中搜索或获取附件的全文内容。
find_related_items - 查找相关条目
通过多种方式查找相关文献。
get_database_info - 数据库信息
获取 Zotero 数据库信息(路径、存储位置、统计数据)。
raw_query - 原始 SQL 查询
执行原始 SQL 查询(仅支持 SELECT,只读)。
library_maintenance - 库维护 🆕
维护和清理 Zotero 库的工具。
使用示例
与 Claude/Copilot 配合使用
项目结构
开发指南
开发模式
构建
命令行参数
注意事项
- 关闭 Zotero:使用写入功能时,请关闭 Zotero 客户端以避免数据库锁定
- 备份数据:在进行修改前备份
zotero.sqlite - 只读模式:仅读取数据时使用
--readonly参数更安全 - 附件验证:使用
library_maintenance的validate_attachments检查文件是否存在
更新日志
v1.1.4 (2026-02-01)
🔧 重要修复 - 数据库兼容性
- ✅ 修复重复项查询不一致问题 -
findItemByDOI/ISBN现在始终返回最新修改的条目 - ✅ 修复
itemTags.type字段 - 该字段为 NOT NULL,必须提供值 - ✅ 动态获取
note/attachment的 itemTypeID,不再硬编码 - ✅ 所有查询现在排除
deletedItems表中的已删除条目
🚀 新功能
- ✨ 添加事务支持 (
beginTransaction/commitTransaction/rollbackTransaction) - ✨
mergeItems现在使用事务保证数据一致性 - ✨
mergeItems新增附件转移功能 - ✨ 重复项查询现在返回
_duplicateWarning警告信息
🛡️ 安全性改进
- 所有写操作前检查 Zotero 进程状态
- 自动创建数据库备份
- 批量操作使用事务保护
v1.1.2 (2025-02-01)
- 更新所有依赖到最新版本
- 修复 Zod 4.x 兼容性问题
- 修复 pdf-parse 2.x ESM 导入问题
v1.1.1 (2025-02-01)
- 将 42 个工具整合为 13 个基于动作的工具
- 新增
library_maintenance工具(重复检测、附件验证、孤立清理、条目合并)
v1.1.0
- 初始整合版本
📄 许可证
本项目采用 MIT 许可证。
🙏 致谢
- Zotero - 开源文献管理工具
- Model Context Protocol - AI 工具集成协议
- cookjohn/zotero-mcp - 项目参考
📬 联系方式
- 作者:Combjellyshen
- GitHub:https://github.com/Combjellyshen/ZoteroBridge
- npm:https://www.npmjs.com/package/zotero-bridge
欢迎提交 Issue 或 Pull Request!
Source: README.md at commit d34ec52
Tools
0Version history
1- v1.0.3LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts