使用说明
Zotero MCP服务器
A. 模型上下文协议 为Claude(和其他MCP客户端)提供本地只读访问权限的服务器 佐特罗 图书馆。搜索论文、检索元数据、生成BibTeX和浏览收藏——所有这些都可以通过你的人工智能助手完成。
使用可选 Zotero MCP桥 安装在Zotero 7中的插件,服务器还获得了写入功能:创建集合和组织项目。
它做什么
只读工具(始终可用)
| 工具 | 说明 |
|---|---|
search_papers |
在标题、作者、摘要、标签、DOI和引用关键字之间进行模糊关键字搜索 |
get_paper_details |
论文的完整元数据(作者、摘要、标签、集合、PDF路径) |
get_bibtex |
生成具有正确转义和类型映射的BibTeX条目 |
list_collections |
列出所有Zotero系列 |
get_collection_items |
浏览特定收藏中的论文 |
get_pdf_path |
解析论文PDF附件的文件系统路径 |
library_stats |
摘要统计(项目计数、集合、插件状态) |
编写工具(需要Zotero MCP Bridge插件)
这些工具仅在安装了MCP Bridge插件的Zotero运行时出现:
| 工具 | 说明 |
|---|---|
create_collection |
创建新集合(可选嵌套在父集合下) |
add_to_collection |
按项目键将论文添加到收藏中 |
remove_from_collection |
从收藏中删除论文(不删除它们) |
注: MCP服务器和插件都不能在Zotero中创建新论文。论文导入由Zotero自己处理(浏览器连接器、手动导入、拖放等)。一旦论文进入你的Zotero库,这个服务器就可以让你的人工智能工具访问它们。
需求
- Python 3.10+
- 佐特罗 在本地安装SQLite数据库
- Zotero的更好BibTeX (可选,推荐用于引用关键字)
- Zotero MCP桥插件(可选,用于写操作)
安装
git clone https://github.com/lucidbard/zotero-mcp.git
cd zotero-mcp
pip install -r requirements.txt
或者直接安装依赖项:
pip install "mcp>=1.0" "httpx>=0.27"
Zotero MCP桥接插件
Zotero MCP Bridge插件将HTTP端点添加到Zotero的内置服务器(端口23119),MCP服务器调用该服务器进行写操作。如果没有插件,MCP服务器将以只读模式工作。
构建插件
cd zotero-plugin
npm install
npm run build
这创造了 dist/zotero-mcp-bridge-latest.xpi.
安装插件
- 打开Zotero 7
- 首选 工具>附加组件
- 点击齿轮图标> 从文件安装附加组件
- 选择
zotero-plugin/dist/zotero-mcp-bridge-latest.xpi - 出现提示时重新启动Zotero
验证插件
运行Zotero并安装插件后:
# Health check
curl http://127.0.0.1:23119/zotero-mcp/health
# Or run the test suite
cd zotero-plugin && npm test
设置
克劳德桌面
添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"zotero": {
"command": "python",
"args": ["/absolute/path/to/zotero_mcp.py"]
}
}
}
克劳德代码
添加到MCP设置(.claude/settings.json 或项目设置):
{
"mcpServers": {
"zotero": {
"command": "python",
"args": ["/absolute/path/to/zotero_mcp.py"]
}
}
}
自定义Zotero数据库路径
服务器自动检测常见的Zotero数据库位置:
~/Zotero/zotero.sqlite(Linux、macOS、Windows)~/snap/zotero-snap/common/Zotero/zotero.sqlite(Linux快照)~/Library/Application Support/Zotero/Profiles/*/zotero.sqlite(macOS)
如果您的数据库在其他地方,请设置 ZOTERO_DB_PATH 环境变量:
{
"mcpServers": {
"zotero": {
"command": "python",
"args": ["/absolute/path/to/zotero_mcp.py"],
"env": {
"ZOTERO_DB_PATH": "/path/to/your/Zotero/zotero.sqlite"
}
}
}
}
运作原理
读取路径(SQLite)
服务器打开一个 只读 SQLite直接连接到Zotero的本地数据库。无需网络请求,无需API密钥,无需Zotero帐户。
写入路径(插件HTTP)
当调用写入工具时,MCP服务器向Zotero MCP Bridge插件发送HTTP请求 http://127.0.0.1:23119/zotero-mcp/rpc.该插件使用Zotero的内部JavaScript API来执行操作。这种方法是必要的,因为Zotero的SQLite数据库被正在运行的Zotero进程锁定了。
搜索排名
搜索使用多信号相关性排名系统:
- 精确匹配 (字段等于查询词)得分最高
- 单词边界匹配 (该词作为一个整体出现)接下来得分
- 子字符串匹配 (术语出现在字段内)
- 模糊匹配 (拼写错误/未遂错误的三元组相似性)抓住了其余部分
- 字段加权:标题和引用关键字(3x)、DOI和作者(2x)、标签(1.5x)、摘要(1x)
- 当所有术语都匹配时,多词查询将获得AND奖励
更好的BibTeX支持
如果你有 更好的BibTeX 安装后,服务器会自动使用其引用密钥。它检查了两个来源:
- 这
extraZotero项目中的字段(用于Citation Key:或bibtex:前缀) - 这
better-bibtex.sqlite数据库(用于BBT管理的密钥)
PDF分辨率
这 get_pdf_path 该工具解决了Zotero的内部问题 storage:filename 绝对文件系统路径的路径,因此您的AI助手可以直接引用或读取PDF附件。
示例用法
配置后,您可以向Claude询问以下问题:
- “在我的Zotero库中搜索关于神经辐射场的论文”
- “获取纸张KEY123的BibTeX条目”
- “我在Zotero有什么收藏?”
- “向我展示我的《文学评论》收藏中的所有论文”
- “我的图书馆里有多少篇论文?”
- “创建一个名为“深度学习调查”的新集合” (需要插件)
- “将论文KEY1和KEY2添加到我的‘相关作品’收藏中” (需要插件)
局限性
- 无法创建纸张:MCP服务器和插件都无法将新论文导入Zotero。使用Zotero的浏览器连接器或桌面应用程序添加论文。
- 仅限本地:直接访问本地SQLite数据库。不与Zotero的云服务同步。
- 单用户:专为个人使用而设计,只需安装一个Zotero。
- 没有PDF内容:返回PDF文件路径,但不提取或搜索PDF文本内容。
- 编写工具需要运行Zotero:集合管理要求Zotero在安装了MCP Bridge插件的情况下打开。
许可证
麻省理工学院
