Zotero库管理服务

用于Cloudflare Workers的Zotero库管理MCP服务器,支持搜索、浏览、读写库项目等功能。

  • by upascal
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 upascal/zotero-assistant-mcp

使用说明

佐特罗助理mcp

用于Cloudflare Workers的Zotero库管理MCP服务器,专为通过以下方式部署而设计 mcp部署.

工具(16)

群组

  • list_groups --列出用户所属的Zotero组(返回组ID以供使用 group_id 参数)

搜索和浏览

  • search_items --按文本、标签、类型、集合或日期范围搜索
  • get_collection_items --列出特定集合中的项目
  • list_collections --列出所有集合(文件夹)
  • create_collection --创建新收藏
  • list_tags --列出带有项目计数的标签
  • get_library_stats --带有总计和顶部标签的库概述

阅读

  • get_item --单个项目的完整元数据和子项
  • read_attachment --读取附件内容(自动检测类型,接受父密钥或附件密钥)
  • get_note --阅读笔记内容

写

  • save_item --创建一个包含元数据和可选附件(PDF URL、快照或base64文件)的项目
  • attach --将文件附加到现有项目(支持 pdf_url, snapshot_url,或 file 通过base64)
  • create_note --在现有项目上创建注释
  • update_item --更新元数据、标签或集合
  • trash_item --将笔记或附件移至回收站

所有对库数据进行操作的工具都接受可选 group_id 参数。个人图书馆省略它;传递组ID(来自 list_groups)经营集团图书馆。

特性

  • 服务器说明 --在init时注入一次工作流指南,而不是每个工具
  • 进度通知 --多步骤操作(附加、带附件保存、读取)发出MCP进度事件
  • 组库支持 --呼叫 list_groups 要发现组,请通过 group_id 任何工具
  • 智能作者解析 --处理“Last,First”、后缀(Jr.,III)和机构作者
  • 精心策划的回应 — get_item 仅返回非空的、与代理相关的字段;搜索结果是简洁的摘要

部署

安装 mcp部署 并部署到Cloudflare Workers:

npm install -g mcp-deploy
mcp-deploy login
mcp-deploy add upascal/zotero-assistant-mcp
mcp-deploy deploy zotero-assistant-mcp

或者使用web UI: mcp-deploy gui

运作原理

此仓库仅包含MCP逻辑。身份验证、部署和UI由以下人员处理 mcp部署 (npm install -g mcp-deploy).回购发货:

  • src/ --MCP服务器代码(Cloudflare Workers+持久对象)
  • mcp-deploy.json --部署合同(机密、配置、工作设置)

配置

机密 必填 描述
ZOTERO_API_KEY 是的 Zotero API密钥
ZOTERO_LIBRARY_ID 是 您的数字用户库ID

本地开发

npm install

# Create .dev.vars with your Zotero credentials:
# ZOTERO_API_KEY=your-api-key
# ZOTERO_LIBRARY_ID=your-library-id

npx wrangler dev

测试

npm test

集成测试在实时Zotero库上运行。集 .dev.vars 凭你的证件。测试创建临时项目/集合,并自行清理。

发布

标记一个版本以触发GitHub Actions发布工作流:

git tag v0.5.0
git push --tags

此构建 worker.mjs 并同时发布 mcp-deploy.json 作为释放资产。mcpdeploy获取这些资产以部署worker。