
Zotero MCP
io.github.kujenga由 GitHub 帳號 kujenga 發布v0.3.1更新於 Oct 24, 2026
Search your Zotero library, retrieve item metadata, and read full text from AI assistants.
概覽
一個本機 MCP 伺服器,讓 AI 助理搜尋 Zotero 文獻庫、讀取條目中繼資料,並取得 PDF 等全文內容。
- 可以做什麼
- 以文字查詢在 Zotero 文獻庫中搜尋條目,再據此選定特定條目。取得某個條目的完整中繼資料,依出版資訊、識別碼、時間戳記與文獻庫資訊分組。讀取某個條目的全文,包括 PDF 內容。工具可串接使用:先搜尋,再取得所選條目的中繼資料或全文。
- 適用情境
- 適合將參考文獻存放在 Zotero,並希望助理在寫作或研究時查找來源、整理中繼資料,或閱讀與引用文獻庫全文的情境。
- 執行需求
- 以 Python 套件形式透過 uvx(或 pipx、Docker)在本機執行。需二擇一:執行 Zotero 桌面應用程式並啟用本機 API,同時將 ZOTERO_LOCAL 設為 true;或在 ZOTERO_API_KEY 提供 Zotero Web API 金鑰並提供 ZOTERO_LIBRARY_ID,使用者或群組文獻庫另需 ZOTERO_LIBRARY_TYPE。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Zotero MCP,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
Model Context Protocol server for Zotero
[GitHub branch status] [PyPI - Version]
This project is a python server that implements the Model Context Protocol (MCP) for Zotero, giving you access to your Zotero library within AI assistants. It is intended to implement a small but maximally useful set of interactions with Zotero for use with MCP clients.
[Zotero Server MCP server]Features
This MCP server provides the following tools:
zotero_search_items: Search for items in your Zotero library using a text queryzotero_item_metadata: Get the complete metadata for a specific Zotero item, covering every populated field grouped into publication details, identifiers, timestamps, and library informationzotero_item_fulltext: Get the full text of a specific Zotero item (i.e. PDF contents)
These can be discovered and accessed through any MCP client or through the MCP Inspector.
Each tool returns formatted text containing relevant information from your Zotero items, and AI assistants such as Claude can use them sequentially, searching for items then retrieving their metadata or text content.
Installation
This server can either run against either a local API offered by the Zotero desktop application) or through the Zotero Web API. The local API can be a bit more responsive, but requires that the Zotero app be running on the same computer with the API enabled. To enable the local API, do the following steps:
- Open Zotero and open "Zotero Settings"
- Under the "Advanced" tab, check the box that says "Allow other applications on this computer to communicate with Zotero".
To use the Zotero Web API, you'll need to create an API key and find your Library ID (usually your User ID) in your Zotero account settings here: https://www.zotero.org/settings/keys
These are the available configuration options:
ZOTERO_LOCAL=true: Use the local Zotero API (default: false, see note below)ZOTERO_API_KEY: Your Zotero API key (not required for the local API)ZOTERO_LIBRARY_ID: Your Zotero library ID (your user ID for user libraries, not required for the local API)ZOTERO_LIBRARY_TYPE: The type of library (user or group, default: user)
uvx with Local Zotero API
To use this with Claude Desktop and a direct python install with uvx, add the following to the mcpServers configuration:
The @latest specifier is optional and will pull the latest version when new ones are available. If you don't have uvx installed you can use pipx run instead, or clone this repository locally and use the instructions in Development below.
Docker with Zotero Web API
If you want to run this MCP server in a Docker container, you can use the following configuration, inserting your API key and library ID:
To update to a newer version, run docker pull ghcr.io/kujenga/zotero-mcp:main. It is also possible to use the docker-based installation to talk to the local Zotero API, but you'll need to modify the above command to ensure that there is network connectivity to the Zotero application's local API interface.
Development
Information on making changes and contributing to the project.
- Clone this repository
- Install dependencies with uv by running:
uv sync - Create a
.envfile in the project root with the environment variables above
Start the MCP Inspector for local development:
To test the local repository against Claude Desktop, run echo $PWD/.venv/bin/zotero-mcp in your shell within this directory, then set the following within your Claude Desktop configuration
Running Tests
To run the test suite:
Releasing
- Bump the version in
pyproject.tomlandserver.json(two places: the server version and the package version). - Publish to PyPI with
make publish. - Publish updated metadata to the official MCP
registry with
make publish-mcp, authenticating first withmcp-publisher login githubif needed.
Docker Development
Build the container image with this command:
To test the container with the MCP inspector, run the following command:
Relevant Documentation
- 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
- https://modelcontextprotocol.io/llms-full.txt can be utilized by LLMs
Appendix: notes on Zotero's API
Item metadata is rendered from whatever fields the API returns rather than from a fixed list. Fields it omits are skipped, and fields this server doesn't know about appear under an "Other Fields" heading, so a Zotero upgrade never silently drops metadata.
The two APIs differ in one way worth knowing: the local API's quick search indexes citation keys, while the Web API does not, so searching for one returns nothing over the Web API even though the field is present in the data.
來源:README.md,提交 8461cc4
工具
0版本歷史
1- v0.3.1最新Sep 16, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分