zotero.com
zotero.com logo

Zotero

Integrates local Zotero libraries, enabling natural language interactions for exploring and analyzing personal research...

Created byApr 22, 2025

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.
  1. Use uv. Installation instructions can be found here.
  1. Checkout the git project to local space and activate the virtual environment inside:
  1. Enable the local API in Zotero 7: Zotero Local API Settings
  1. 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 library
  • get_collection_items(collection_key): Get all items in a specific collection
  • get_item_details(item_key): Get detailed information about a specific paper, including abstract
  • search_library(query): Search your entire Zotero library
  • get_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

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.
  1. Use uv. Installation instructions can be found here.
  1. Checkout the git project to local space and activate the virtual environment inside:
  1. Enable the local API in Zotero 7: Zotero Local API Settings
  1. 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 library
  • get_collection_items(collection_key): Get all items in a specific collection
  • get_item_details(item_key): Get detailed information about a specific paper, including abstract
  • search_library(query): Search your entire Zotero library
  • get_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