The Zotero MCP Connector server allows direct integration of your local Zotero library with Claude, enabling you to access and interact with your research data. With this server, you can:
- List all collections in your library using
get_collections()
- Fetch items within a specific collection using
get_collection_items(collection_key)
- Retrieve detailed information about specific items, including abstracts, via
get_item_details(item_key)
- Search your entire Zotero library with
search_library(query)
- Access recently added items using
get_recent(limit=10)
- Retrieve tags used in your library with
get_tags()
Provides direct read access to your local Zotero library, allowing Claude to search collections, view item details, and access paper abstracts
Zotero MCP Connector
A Model Control Protocol (MCP) connector for integrating your local Zotero with Claude.
This enables direct read access to your local Zotero library through Claude's Desktop interface.
It depends on the ability to access a local web-api in Zotero 7.
This was inspired by a repository using Node.js and the web api: mcp-zotero.
This builds on the shoulders of the fantastic pyzotero library.
Installation
Information about Claude Desktop interacting with MCPs can be found here.
- Use
uv
. Installation instructions can be found here. - Checkout the git project to local space and activate the virtual environment inside:
- Enable the local API in Zotero 7:
- Add the server to your local Claude installation:
Configuration
The connector is configured to work with local Zotero installations and currently only user
libraries are supported.
By default it uses the userid 0
, but you can also set the environment variable ZOTERO_USER_ID
if needed:
Available Functions
The connector provides the following functions:
get_collections()
: List all collections in your Zotero libraryget_collection_items(collection_key)
: Get all items in a specific collectionget_item_details(item_key)
: Get detailed information about a specific paper, including abstractsearch_library(query)
: Search your entire Zotero libraryget_recent(limit=10)
: Get recently added papers to your library
This functionality should be extended in the future.
Requirements
- Python 3.10+
- Local Zotero installation
- Claude Desktop
Contributing
Contributions are welcome! Please visit the GitHub repository to:
- Report issues
- Submit pull requests
- Suggest improvements
License
MIT
local-only server
The server can only run on the client's local machine because it depends on local resources.
Integrates local Zotero libraries with Claude's Desktop interface, allowing users to access and manage their library collections via a local API.
Related Resources
Related MCP Servers
- -securityAlicense-qualityConnects Claude Desktop directly to databases, allowing it to explore database structures, write SQL queries, analyze datasets, and create reports through an API layer with tools for table exploration and query execution.Last updated -272PythonMozilla Public License 2.0
- -securityAlicense-qualityA 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 -18PythonApache 2.0
- -securityFlicense-qualityIntegrates Claude Desktop with Azure AI Search, allowing users to query search indexes using keyword, vector, or hybrid search methods.Last updated -49Python
- AsecurityAlicenseAqualityConnects 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 -10264PythonMIT License