Skip to main content
Glama

Zotero 的模型上下文协议服务器

GitHub 分支状态 PyPI - 版本

该项目是一个 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,请执行以下步骤:

  1. 打开 Zotero 并打开“Zotero 设置”

  2. 在“高级”选项卡下,选中“允许此计算机上的其他应用程序与 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配置中:

{ "mcpServers": { "zotero": { "command": "uvx", "args": ["--update", "zotero-mcp"], "env": { "ZOTERO_LOCAL": "true", "ZOTERO_API_KEY": "", "ZOTERO_LIBRARY_ID": "" } } } }

--update标志是可选的,它会在有新版本可用时拉取最新版本。如果您尚未安装uvx ,可以使用pipx run代替,或者将此存储库克隆到本地,然后按照下面“开发”部分的说明操作。

Docker 与 Zotero Web API

如果您想在 Docker 容器中运行此 MCP 服务器,您可以使用以下配置,插入您的 API 密钥和库 ID:

{ "mcpServers": { "zotero": { "command": "docker", "args": [ "run", "--rm", "-i", "-e", "ZOTERO_API_KEY=PLACEHOLDER", "-e", "ZOTERO_LIBRARY_ID=PLACEHOLDER", "ghcr.io/kujenga/zotero-mcp:main" ], } } }

要更新到较新版本,请运行docker pull ghcr.io/kujenga/zotero-mcp:main 。也可以使用基于 docker 的安装与本地 Zotero API 通信,但您需要修改上述命令以确保与 Zotero 应用程序的本地 API 接口具有网络连接。

发展

有关进行更改和对项目做出贡献的信息。

  1. 克隆此存储库

  2. 通过运行以下命令安装uv依赖项: uv sync

  3. 使用上述环境变量在项目根目录中创建一个.env文件

启动MCP Inspector进行本地开发:

npx @modelcontextprotocol/inspector uv run zotero-mcp

要针对 Claude Desktop 测试本地存储库,请在此目录中的 shell 中运行echo $PWD/.venv/bin/zotero-mcp ,然后在 Claude Desktop 配置中设置以下内容

{ "mcpServers": { "zotero": { "command": "/path/to/zotero-mcp/.venv/bin/zotero-mcp" "env": { // Whatever configuration is desired. } } } }

运行测试

运行测试套件:

uv run pytest

Docker 开发

使用以下命令构建容器映像:

docker build . -t zotero-mcp:local

要使用 MCP 检查器测试容器,请运行以下命令:

npx @modelcontextprotocol/inspector \ -e ZOTERO_API_KEY=$ZOTERO_API_KEY \ -e ZOTERO_LIBRARY_ID=$ZOTERO_LIBRARY_ID \ docker run --rm -i \ --env ZOTERO_API_KEY \ --env ZOTERO_LIBRARY_ID \ zotero-mcp:local

相关文件

One-click Deploy
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kujenga/zotero-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server