Claude Scholar 依赖 MCP(Model Context Protocol)服务器提供扩展能力。MCP 服务器不包含在本仓库中,用户需自行安装和配置。
使用场景: literature-reviewer agent、/research-init、/zotero-review、/zotero-notes 命令
安装包: Galaxy-Dawn/zotero-mcp — Web API 模式,支持无需 Zotero 桌面客户端的远程访问。
| 类别 | 工具 |
|---|---|
| 导入 | zotero_add_items_by_doi, zotero_add_items_by_arxiv, zotero_add_item_by_url |
| 读取 | zotero_get_collections, zotero_get_collection_items, zotero_search_items, zotero_semantic_search |
| 更新 | zotero_update_item, zotero_update_note, zotero_create_collection, zotero_move_items_to_collection |
| 删除 | zotero_delete_items(移至回收站), zotero_delete_collection |
zotero_find_and_attach_pdfs(通过 Unpaywall), zotero_add_linked_url_attachment |
- 安装 Zotero(可选,用于本地模式)
- 从 zotero.org/settings/keys 获取 API 密钥和库 ID
# 通过 uv 安装(推荐)
uv tool install git+https://github.com/Galaxy-Dawn/zotero-mcp.git选择您的平台:
Claude Code v2.1.5+:在 ~/.claude.json 的 mcpServers 中添加。
更早版本:在 ~/.claude/settings.json 的 mcpServers 中添加:
{
"mcpServers": {
"zotero": {
"command": "zotero-mcp",
"args": ["serve"],
"env": {
"ZOTERO_API_KEY": "your-api-key",
"ZOTERO_LIBRARY_ID": "your-library-id",
"ZOTERO_LIBRARY_TYPE": "user",
"UNPAYWALL_EMAIL": "your-email@example.com",
"UNSAFE_OPERATIONS": "all"
}
}
}
}在 ~/.codex/config.toml 中添加:
[mcp_servers.zotero]
command = "zotero-mcp"
args = ["serve"]
enabled = true
[mcp_servers.zotero.env]
ZOTERO_API_KEY = "your-api-key"
ZOTERO_LIBRARY_ID = "your-library-id"
ZOTERO_LIBRARY_TYPE = "user"
UNPAYWALL_EMAIL = "your-email@example.com"
UNSAFE_OPERATIONS = "all"
NO_PROXY = "localhost,127.0.0.1"在 ~/.opencode/opencode.jsonc 中添加:
然后在 ~/.zshrc 中设置环境变量:
# Zotero MCP
export ZOTERO_API_KEY="your-api-key"
export ZOTERO_LIBRARY_ID="your-library-id"
export ZOTERO_LIBRARY_TYPE="user"
export UNPAYWALL_EMAIL="your-email@example.com"
export UNSAFE_OPERATIONS="all"| 变量 | 必需 | 说明 |
|---|---|---|
ZOTERO_API_KEY |
是 | 您的 Zotero API 密钥 |
ZOTERO_LIBRARY_ID |
是 | 您的库 ID(数字) |
ZOTERO_LIBRARY_TYPE |
是 | user 或 group |
UNPAYWALL_EMAIL |
否 | 用于 Unpaywall PDF 搜索的邮箱 |
UNSAFE_OPERATIONS |
否 | items(delete_items), all(delete_collection) |
NO_PROXY |
否 | 绕过本地代理 |
| 工具 | 功能 |
|---|---|
zotero_get_collections |
列出所有集合 |
zotero_get_collection_items |
获取集合中的条目 |
zotero_search_items |
按关键词搜索库 |
zotero_search_by_tag |
按标签搜索 |
zotero_get_item_metadata |
获取条目元数据和摘要 |
zotero_get_item_fulltext |
读取 PDF 全文 |
zotero_get_annotations |
获取 PDF 标注 |
zotero_get_notes |
获取笔记 |
zotero_semantic_search |
语义搜索(使用嵌入向量) |
zotero_advanced_search |
高级搜索 |
zotero_add_items_by_doi |
通过 DOI 导入论文 |
zotero_add_items_by_arxiv |
通过 arXiv ID 导入预印本 |
zotero_add_item_by_url |
将网页保存为条目 |
zotero_update_item |
更新条目字段 |
zotero_update_note |
更新笔记内容 |
zotero_create_collection |
创建集合 |
zotero_move_items_to_collection |
在集合间移动条目 |
zotero_update_collection |
重命名集合 |
zotero_delete_collection |
删除集合 |
zotero_delete_items |
将条目移至回收站 |
zotero_find_and_attach_pdfs |
查找并附加开放获取 PDF |
zotero_add_linked_url_attachment |
添加链接 URL 附件 |
用途: Chrome 浏览器控制、网页交互。
{
"mcpServers": {
"streamable-mcp-server": {
"type": "streamable-http",
"url": "http://127.0.0.1:12306/mcp"
}
}
}配置完成后,重启您的 CLI 并验证 MCP 服务是否连接:
# 在您的 CLI 中尝试调用 Zotero 工具:
> 列出我的 Zotero 集合
如果工具返回了您的集合列表,说明配置成功。
| 问题 | 解决方案 |
|---|---|
| 工具返回错误 | 检查 API 密钥和库 ID 是否正确 |
| PDF 附加失败 | 确保已设置 UNPAYWALL_EMAIL |
| 删除操作被阻止 | 设置 UNSAFE_OPERATIONS=items 或 all |
| HTTP 错误 | 检查 NO_PROXY 是否包含 localhost |
| API 速率限制 (429) | 每批 ≤10 篇论文,批次间添加延迟 |
{ "mcp": { "zotero": { "type": "local", "command": ["zotero-mcp", "serve"], "enabled": true } } }