Zotero 的模型上下文协议服务器
该项目是一个 Python 服务器,它实现了Zotero的模型上下文协议 (MCP) ,使您可以在 AI 助手中访问 Zotero 库。它旨在实现一组规模虽小但极其实用的 Zotero 交互,以便与MCP 客户端配合使用。
特征
该 MCP 服务器提供以下工具:
zotero_search_items:使用文本查询在 Zotero 库中搜索项目zotero_item_metadata:获取有关特定 Zotero 项目的详细元数据信息zotero_item_fulltext:获取特定 Zotero 项目的全文(即 PDF 内容)
这些可以通过任何 MCP 客户端或MCP 检查器发现和访问。
每个工具都会返回包含 Zotero 项目相关信息的格式化文本,而 Claude 等 AI 助手可以按顺序使用它们,搜索项目,然后检索其元数据或文本内容。
Related MCP server: Zotero MCP Server
安装
该服务器既可以通过 Zotero 桌面应用程序提供的本地 API运行,也可以通过Zotero Web API运行。本地 API 的响应速度可能更快一些,但要求 Zotero 应用程序在同一台计算机上运行并启用该 API。要启用本地 API,请执行以下步骤:
打开 Zotero 并打开“Zotero 设置”
在“高级”选项卡下,选中“允许此计算机上的其他应用程序与 Zotero 通信”框。
重要提示:要访问本地 API 上的
/fulltext端点(该端点允许检索库中项目的完整内容),您需要安装Zotero Beta 版本(截至 2025 年 3 月 30 日)。7.1 版本发布后,此操作将不再适用。更多信息请参阅https://github.com/zotero/zotero/pull/5004 。如果您不想这样做,请改用 Web API。
要使用 Zotero Web API,您需要创建一个 API 密钥,并在 Zotero 帐户设置中找到您的图书馆 ID(通常是您的用户 ID): https://www.zotero.org/settings/keys
这些是可用的配置选项:
ZOTERO_LOCAL=true:使用本地 Zotero API(默认值:false,请参阅下面的注释)ZOTERO_API_KEY:您的 Zotero API 密钥(本地 API 不需要)ZOTERO_LIBRARY_ID:您的 Zotero 图书馆 ID(用户图书馆的用户 ID,本地 API 不需要)ZOTERO_LIBRARY_TYPE:库的类型(用户或组,默认:用户)
uvx与本地 Zotero API
要将其与 Claude Desktop 一起使用并通过uvx直接安装 python,请将以下内容添加到mcpServers配置中:
--update标志是可选的,它会在有新版本可用时拉取最新版本。如果您尚未安装uvx ,可以使用pipx run代替,或者将此存储库克隆到本地,然后按照下面“开发”部分的说明操作。
Docker 与 Zotero Web API
如果您想在 Docker 容器中运行此 MCP 服务器,您可以使用以下配置,插入您的 API 密钥和库 ID:
要更新到较新版本,请运行docker pull ghcr.io/kujenga/zotero-mcp:main 。也可以使用基于 docker 的安装与本地 Zotero API 通信,但您需要修改上述命令以确保与 Zotero 应用程序的本地 API 接口具有网络连接。
发展
有关进行更改和对项目做出贡献的信息。
克隆此存储库
通过运行以下命令安装uv依赖项:
uv sync使用上述环境变量在项目根目录中创建一个
.env文件
启动MCP Inspector进行本地开发:
要针对 Claude Desktop 测试本地存储库,请在此目录中的 shell 中运行echo $PWD/.venv/bin/zotero-mcp ,然后在 Claude Desktop 配置中设置以下内容
运行测试
运行测试套件:
Docker 开发
使用以下命令构建容器映像:
要使用 MCP 检查器测试容器,请运行以下命令: