Zotero MCP Server
Model Context Protocol server for Zotero
This project is a python-based server that implements the Model Context Protocol (MCP) for Zotero.
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 detailed information about a specific Zotero itemzotero_item_fulltext
: Get the full text of a specific Zotero item
These can be discovered and accessed through the MCP Inspector or any other MCP client.
Each tool returns formatted text containing relevant information from your Zotero items.
Installation
To use this with Claude Desktop, add the following to the mcpServers
configuration:
The following environment variables are supported:
ZOTERO_LOCAL=true
: Use the local Zotero API (default: false)ZOTERO_LIBRARY_ID
: Your Zotero library ID (not required for the local API)ZOTERO_LIBRARY_TYPE
: The type of library (user or group, default: user)ZOTERO_API_KEY
: Your Zotero API key (not required for the local API)
You can find your library ID and create an API key in your Zotero account settings: https://www.zotero.org/settings/keys
The local Zotero API can be used with Zotero 7 running on the same machine.
n.b. An upcoming Zotero release is needed to support the fulltext API locally: https://github.com/zotero/zotero/pull/5004
Development
- Clone this repository
- Install dependencies with uv by running:
uv sync
- Create a
.env
file in the project root with the environment variables above
Start the MCP Inspector for local development:
Running Tests
To run the test suite:
Relevant Documentation
This server cannot be installed
This server allows users to interact with their Zotero library through the Model Context Protocol, providing tools for searching items, retrieving metadata, and accessing full text using natural language queries.