gyger
MCP Servergygerpublic

mcp pyzotero

A Model Control Protocol (MCP) connector for integrating your local Zotero with Claude

Repository Info

49
Stars
3
Forks
49
Watchers
3
Issues
Python
Language
MIT License
License

About This Server

A Model Control Protocol (MCP) connector for integrating your local Zotero with Claude

Model Context Protocol (MCP) - This server can be integrated with AI applications to provide additional context and capabilities, enabling enhanced AI interactions and functionality.

Documentation

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.

  2. Checkout the git project to local space and activate the virtual environment inside:

git clone https://github.com/gyger/mcp-pyzotero.git
cd mcp-pyzotero
uv sync
  1. Enable the local API in Zotero 7: !Zotero Local API Settings

  2. Add the server to your local Claude installation:

uv run mcp install zotero.py

Run encapsulated with uvx (Should work)

Edit the configuration for your Claude Desktop softare in the file.

- macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
- Windows: %APPDATA%\Claude\claude_desktop_config.json

and add the Zotero entry

{
    "mcpServers": {
        "Zotero": {
            "command": "uvx",
            "args": ["--from", "git+https://github.com/gyger/mcp-pyzotero.git", 
                     "--with", "mcp[cli]",
                     "--with", "pyzotero",
                     "mcp", "run", "zotero.py"
                    ],
        }
    }
}

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:

uv run mcp install zotero.py -v ZOTERO_USER_ID=0

Available Functions

Available tools

  • get_zotero_summary(): Lists properties about your library including collections, recent items or tags.
  • get_collection_items(collection_key): Get all items in a specific collection
  • get_items_metadata(item_key): Get detailed information about specific paper(s), including abstract.
  • search_library(query, mode): Search your Zotero library, with two possible modes: everything or titleCreatorYear.

This functionality should be extended in the future.

Requirements

  • Python 3.10+
    • pyzotero
    • mcp[cli]
  • Local Zotero installation

Contributing

Contributions are welcome! Please visit the GitHub repository to:

  • Report issues
  • Submit pull requests
  • Suggest improvements

License

MIT

Quick Start

1

Clone the repository

git clone https://github.com/gyger/mcp-pyzotero
2

Install dependencies

cd mcp-pyzotero
npm install
3

Follow the documentation

Check the repository's README.md file for specific installation and usage instructions.

Repository Details

Ownergyger
Repomcp-pyzotero
LanguagePython
LicenseMIT License
Last fetched8/10/2025

Recommended MCP Servers

💬

Discord MCP

Enable AI assistants to seamlessly interact with Discord servers, channels, and messages.

integrationsdiscordchat
🔗

Knit MCP

Connect AI agents to 200+ SaaS applications and automate workflows.

integrationsautomationsaas
🕷️

Apify MCP Server

Deploy and interact with Apify actors for web scraping and data extraction.

apifycrawlerdata
🌐

BrowserStack MCP

BrowserStack MCP Server for automated testing across multiple browsers.

testingqabrowsers

Zapier MCP

A Zapier server that provides automation capabilities for various apps.

zapierautomation