该服务器允许用户通过模型上下文协议与他们的Zotero图书馆进行交互,提供用于搜索项目、检索元数据和使用自然语言查询访问全文的工具。
3.3k 查看 · 2026-07-07 更新
简介
该服务器允许用户通过模型上下文协议与他们的Zotero图书馆进行交互,提供用于搜索项目、检索元数据和使用自然语言查询访问全文的工具。
简介
该服务器允许用户通过模型上下文协议与他们的Zotero图书馆进行交互,提供用于搜索项目、检索元数据和使用自然语言查询访问全文的工具。
Zotero 的 Model Context Protocol 服务器
这个项目是一个用 Python 实现的服务器,它为 Zotero 实现了 Model Context Protocol (MCP),让你能够在 AI 助手中访问你的 Zotero 库。它的目的是实现一组小但非常有用的与 Zotero 的交互,以便与 MCP 客户端一起使用。
特性
此 MCP 服务器提供以下工具:
zotero_search_items:使用文本查询在您的 Zotero 库中搜索条目zotero_item_metadata:获取特定 Zotero 条目的详细元数据信息zotero_item_fulltext:获取特定 Zotero 条目的全文(即 PDF 内容)
这些可以通过任何 MCP 客户端或通过 MCP 检查器发现和访问。
每个工具返回包含来自您的 Zotero 条目的相关信息的格式化文本,像 Claude 这样的 AI 助手可以依次使用它们,先搜索条目然后检索其元数据或文本内容。
安装
要与 Claude Desktop 一起使用,请将以下内容添加到 mcpServers 配置中:
{ "mcpServers": { "zotero": { "command": "uvx", "args": ["zotero-mcp"], "env": { "ZOTERO_LOCAL": "true" } } } }
ZOTERO_LOCAL 设置指向 本地 Zotero API,并要求 Zotero 7(或测试版,见下文说明)在同一台机器上运行。
若要使用 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: 库的类型(用户或组,默认值:用户)
[!IMPORTANT] 若要本地访问全文 API,需要即将发布的 Zotero 版本。在此期间,您需要安装 Zotero 测试版构建才能使该功能正常工作(截至 2025-03-07)。有关更多信息,请参阅 https://github.com/zotero/zotero/pull/5004。
开发
- 克隆此仓库
- 通过运行
uv sync使用 uv 安装依赖项 - 在项目根目录下创建一个
.env文件,并填充上述环境变量
启动 MCP 检查器进行本地开发:
npx @modelcontextprotocol/inspector uv run zotero-mcp
运行测试
要运行测试套件:
uv run pytest
相关文档
- https://modelcontextprotocol.io/tutorials/building-mcp-with-llms
- https://github.com/modelcontextprotocol/python-sdk
- https://pyzotero.readthedocs.io/en/latest/
- https://www.zotero.org/support/dev/web_api/v3/start
工具列表
-
zotero_item_metadata: Get metadata information about a specific Zotero item, given the item key.
-
zotero_item_fulltext: Get the full text content of a Zotero item, given the item key of a parent item or specific attachment.
-
zotero_search_items: Search for items in your Zotero library, given a query string, query mode (titleCreatorYear or everything), and optional tag search (supports boolean searches). Returned results can be looked up with zotero_get_fulltext or zotero_get_metadata.
服务配置
[{'mcpServers': {'zotero': {'args': ['zotero-mcp'], 'command': 'uvx', 'env': {'ZOTERO_LOCAL': 'true'}}}}]
来源
- 来源:github
- 链接:https://github.com/kujenga/zotero-mcp