Zoterobridge — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Zoterobridge (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
<p align="right"> <b>🇨🇳 简体中文</b> | <a href="README-en.md">🇬🇧 English</a> </p>
<p align="center"> <b>连接 Zotero SQLite 数据库的模型上下文协议 (MCP) 服务器</b> </p>
<p align="center"> <a href="https://www.npmjs.com/package/zotero-bridge"><img src="https://img.shields.io/npm/v/zotero-bridge" alt="npm version"></a> <a href="https://www.zotero.org/"><img src="https://img.shields.io/badge/Zotero-7.0+-red" alt="Zotero"></a> <a href="https://nodejs.org/"><img src="https://img.shields.io/badge/Node.js-18+-green" alt="Node.js"></a> <a href="https://www.typescriptlang.org/"><img src="https://img.shields.io/badge/TypeScript-5.0+-blue" alt="TypeScript"></a> <a href="https://modelcontextprotocol.io/"><img src="https://img.shields.io/badge/MCP-1.0-purple" alt="MCP"></a> <a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-yellow" alt="License"></a> </p>
ZoteroBridge 是一个模型上下文协议 (MCP) 服务器,可直接连接到 Zotero 的 SQLite 数据库 (zotero.sqlite),让 AI 助手(如 Claude、ChatGPT、GitHub Copilot 等)能够与您的 Zotero 文献库进行交互。
🗑️ 回收站识别功能
deletedItems 表中的条目getItemDetails 新增 isDeleted 和 dateDeleted 字段findItemByDOI/ISBN/Identifier 自动跳过回收站中的条目isItemDeleted() 方法检查条目是否在回收站getDeletedItems() 方法获取回收站内容getDeletedItemsCount() 方法获取回收站条目数量🔧 修复
clientDateModified 字段clientDateModified 时间戳现在可以正常使用:
#### 从源码构建
# 克隆仓库
git clone https://github.com/Combjellyshen/ZoteroBridge.git
cd ZoteroBridge
# 安装依赖
npm install
# 构建项目
npm run build#### Claude Desktop
添加到 Claude Desktop 配置文件:
Windows: %APPDATA%\Claude\claude_desktop_config.json macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"zotero-bridge": {
"command": "npx",
"args": ["-y", "zotero-bridge"],
"env": {}
}
}
}如果从源码构建:
{
"mcpServers": {
"zotero-bridge": {
"command": "node",
"args": ["path/to/ZoteroBridge/dist/index.js"],
"env": {}
}
}
}#### Cursor IDE
在项目根目录创建 .cursor/mcp.json:
{
"mcpServers": {
"zotero-bridge": {
"command": "npx",
"args": ["-y", "zotero-bridge"]
}
}
}#### VS Code Copilot
Ctrl+,)github.copilot.chat.mcpServers"github.copilot.chat.mcpServers": {
"zotero-bridge": {
"command": "npx",
"args": ["-y", "zotero-bridge"]
}
}#### 自定义数据库路径
如果您的 Zotero 数据库不在默认位置:
{
"mcpServers": {
"zotero-bridge": {
"command": "npx",
"args": ["-y", "zotero-bridge", "--db", "D:/MyZotero/zotero.sqlite"]
}
}
}管理 Zotero 文件夹(集合)的所有操作。
| 动作 | 描述 |
|---|---|
list | 列出所有文件夹 |
get | 获取文件夹详情 |
create | 创建新文件夹 |
rename | 重命名文件夹 |
move | 移动文件夹到新父级 |
delete | 删除文件夹 |
get_subcollections | 获取子文件夹 |
add_item | 将条目添加到文件夹 |
remove_item | 从文件夹移除条目 |
get_items | 获取文件夹中的所有条目 |
管理标签的所有操作。
| 动作 | 描述 |
|---|---|
list | 列出所有标签 |
get_item_tags | 获取条目的所有标签 |
add | 为条目添加标签 |
remove | 从条目移除标签 |
create | 创建新标签 |
按标题搜索 Zotero 条目。
通过 ID 或 Key 获取条目的详细信息。
管理条目的摘要和笔记。
| 动作 | 描述 |
|---|---|
get_abstract | 获取条目摘要 |
set_abstract | 设置条目摘要 |
get_notes | 获取条目笔记 |
add_note | 为条目添加笔记 |
PDF 文件的各种操作。
| 动作 | 描述 |
|---|---|
extract_text | 从 PDF 提取全文 |
get_summary | 获取 PDF 摘要信息 |
list | 获取条目的 PDF 附件列表 |
search | 在 PDF 中搜索文本 |
generate_abstract | 从 PDF 内容生成摘要 |
通过各种标识符查找文献,支持自动检测。
| 类型 | 描述 |
|---|---|
doi | 通过 DOI 查找 |
isbn | 通过 ISBN 查找 |
pmid | 通过 PubMed ID 查找 |
arxiv | 通过 arXiv ID 查找 |
url | 通过 URL 查找 |
auto | 自动检测标识符类型 |
获取 PDF 标注(高亮、笔记等),支持按类型、颜色筛选或搜索。
在 Zotero 全文索引中搜索或获取附件的全文内容。
通过多种方式查找相关文献。
| 方法 | 描述 |
|---|---|
manual | 获取手动关联的条目 |
tags | 通过共享标签查找 |
creators | 通过共享作者查找 |
collection | 在同一文件夹中查找 |
all | 使用所有方法查找 |
获取 Zotero 数据库信息(路径、存储位置、统计数据)。
执行原始 SQL 查询(仅支持 SELECT,只读)。
维护和清理 Zotero 库的工具。
| 动作 | 描述 |
|---|---|
find_duplicates | 查找重复条目(按标题、DOI 或 ISBN) |
validate_attachments | 验证附件文件是否存在 |
get_valid_attachment | 获取条目的有效附件 |
find_with_valid_pdf | 查找有有效 PDF 的条目 |
cleanup_orphans | 清理孤立的附件记录(支持 dry-run) |
merge_items | 合并重复条目 |
# 搜索文献
搜索标题中包含"深度学习"的条目
# 获取详情
获取 itemID 为 1234 的条目详细信息
# 管理文件夹
创建一个名为"机器学习论文"的新文件夹
将条目 1234 添加到文件夹 5678
# PDF 操作
提取附件 ID 为 100 的 PDF 全文
在这个 PDF 中搜索"neural network"
# 通过 DOI 查找
查找 DOI 为 10.1126/science.aaa2397 的文献
# 获取标注
获取条目 1234 的所有高亮标注
# 库维护
查找我的库中的重复条目
检查条目 1234 的附件是否有效ZoteroBridge/
├── src/
│ ├── index.ts # MCP 服务器入口
│ ├── database.ts # Zotero SQLite 数据库操作
│ ├── pdf.ts # PDF 处理模块
│ └── tools.ts # MCP 工具定义(13 个整合工具)
├── dist/ # 编译输出
├── test/ # 测试文件
├── package.json
├── tsconfig.json
└── README.md# 监听文件变化并自动编译
npm run devnpm run build# 显示帮助
zotero-bridge --help
# 指定数据库路径
zotero-bridge --db /path/to/zotero.sqlite
# 只读模式
zotero-bridge --readonlyzotero.sqlite--readonly 参数更安全library_maintenance 的 validate_attachments 检查文件是否存在🔧 重要修复 - 数据库兼容性
findItemByDOI/ISBN 现在始终返回最新修改的条目itemTags.type 字段 - 该字段为 NOT NULL,必须提供值note/attachment 的 itemTypeID,不再硬编码deletedItems 表中的已删除条目🚀 新功能
beginTransaction/commitTransaction/rollbackTransaction)mergeItems 现在使用事务保证数据一致性mergeItems 新增附件转移功能_duplicateWarning 警告信息🛡️ 安全性改进
library_maintenance 工具(重复检测、附件验证、孤立清理、条目合并)本项目采用 MIT 许可证。
欢迎提交 Issue 或 Pull Request!
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.