Zotero

MCP server to expose local zotero repository to MCP clients
  • python

23

GitHub Stars

python

Language

6 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "swairshah-zotero-mcp-server": {
      "command": "uv",
      "args": [
        "--directory",
        "/Users/swair/shahswai/personal/zotero-mcp-server",
        "run",
        "python",
        "-m",
        "zotero_mcp.server"
      ],
      "env": {
        "ZOTERO_API_KEY": "YOUR_API_KEY_PLACEHOLDER",
        "ZOTERO_USER_ID": "YOUR_USER_ID_PLACEHOLDER"
      }
    }
  }
}

A Model Context Protocol (MCP) server for Zotero lets you connect your local Zotero library to MCP clients so you can search papers, view details, manage notes, and generate summaries from your Zotero collection. It provides a programmable interface to interact with your library across tools and apps you use in your research workflow.

How to use

You use an MCP client to talk to the Zotero MCP server and perform common library actions. Typical workflows include searching papers by tags or keywords, retrieving paper details and attached notes, adding new notes to entries, and requesting automatic paper summaries. You can integrate with desktop clients and other tools that support MCP to automate research tasks and keep your Zotero notes and papers organized.

How to install

Prerequisites: you need Python and a working internet connection to install dependencies and run the server.

pip install -e .

Additional configuration and usage notes

You have two practical options to run the Zotero MCP server. You can authenticate with Zotero’s API by providing an API key and user ID, or you can bypass the API and access the local SQLite database directly. If you want to use the API keys, create a .env file in your project root and add the Zotero credentials.

ZOTERO_API_KEY=your_api_key_here
ZOTERO_USER_ID=your_user_id_here

If you are integrating with the Anthropic Desktop App

To integrate with the Anthropic Desktop app, you can run the server as an MCP backend. Use one of the configurations shown below depending on your setup. The first option uses uv with a project directory and starts the server module. The second option shows a robust setup that activates a Python virtual environment before starting the server.

{
  "mcpServers": {
    "zotero-mcp-server": {
      "command": "uv",
      "args": [
        "--directory",
        "/Users/swairshah/work/research/zotero-mcp",
        "run",
        "python",
        "-m",
        "zotero_mcp.server"
      ]
    }
  }
}

If you encounter an initialization error with the first approach

If you see an error about an unexpected argument like --directory, switch to a setup that activates a virtual environment and then starts the server. The following configuration demonstrates this approach.

{
  "mcpServers": {
    "zotero-mcp-server": {
      "command": "bash",
      "args": [
        "-c",
        "cd /Users/shahswai/personal/zotero-mcp-server && source .venv/bin/activate && python -m zotero_mcp.server"
      ]
    }
  }
}

Available tools

search_papers

Query papers in your Zotero library by tags, keywords, or other metadata to retrieve matching entries.

get_paper_details

Fetch a paper's details, including attached notes, authors, year, and publication venue.

add_notes

Add notes to a specific paper entry to capture insights or summaries.

get_summaries

Request automated summaries for papers to quickly grasp key points.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational