Skip to main content
Glama

Zotero MCP Server

by kujenga

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,请执行以下步骤:

  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

相关文件

You must be authenticated.

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

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

该服务器允许用户通过模型上下文协议与他们的 Zotero 库进行交互,提供搜索项目、检索元数据和使用自然语言查询访问全文的工具。

  1. 特征
    1. 安装
      1. uvx与本地 Zotero API
      2. Docker 与 Zotero Web API
    2. 发展
      1. 运行测试
      2. Docker 开发
    3. 相关文件

      Related MCP Servers

      • -
        security
        A
        license
        -
        quality
        A 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 -
        1
        Python
        MIT License
        • Linux
        • Apple
      • -
        security
        A
        license
        -
        quality
        A 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 -
        11
        Python
        Apache 2.0
        • Apple
      • -
        security
        F
        license
        -
        quality
        A 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 -
        14
        Python
        • Linux
        • Apple
      • A
        security
        A
        license
        A
        quality
        Connects 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 -
        10
        58
        Python
        MIT License

      View all related MCP servers

      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