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 助手可以按顺序使用它们,搜索项目,然后检索其元数据或文本内容。
安装
该服务器既可以通过 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 检查器测试容器,请运行以下命令:
相关文件
You must be authenticated.
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
该服务器允许用户通过模型上下文协议与他们的 Zotero 库进行交互,提供搜索项目、检索元数据和使用自然语言查询访问全文的工具。
Related Resources
Related MCP Servers
- -securityAlicense-qualityA Model Context Protocol server that enables Large Language Models to seamlessly interact with ClickHouse databases, supporting resource listing, schema retrieval, and query execution.Last updated -1PythonMIT License
- -securityAlicense-qualityA server that enables MCP clients like Anthropic Claude App to interact with local Zotero libraries, allowing users to search papers, manage notes, and access research materials through natural language.Last updated -11PythonApache 2.0
- -securityFlicense-qualityA Model Context Protocol server implementation that provides a standardized interface for interacting with Spiral's language models, offering tools to generate text from prompts, files, or web URLs.Last updated -14Python
- AsecurityAlicenseAqualityConnects your Zotero research library with Claude and other AI assistants via the Model Context Protocol, allowing you to search your library, access content, discuss papers, get summaries, and analyze citations.Last updated -1058PythonMIT License