Zotero MCP Server

Zotero MCP Server

By swairshah GitHub

MCP server to expose local zotero repository to MCP clients

Overview

What is Zotero MCP Server?

Zotero MCP Server is a Model Context Protocol (MCP) server that allows MCP clients to interact with a local Zotero repository, enabling programmatic access to manage and search through your Zotero library.

How to use Zotero MCP Server?

To use the Zotero MCP Server, install the necessary dependencies, create a .env file with your Zotero credentials, and configure your MCP client (like Anthropic Claude App) to connect to the server.

Key features of Zotero MCP Server?

  • Programmatic access to your Zotero library
  • Search papers by tags
  • Retrieve paper details and attached notes
  • Add notes to papers
  • Request summaries of papers

Use cases of Zotero MCP Server?

  1. Integrating with research tools to manage references.
  2. Automating note-taking and summarization of academic papers.
  3. Enhancing collaboration in research projects by sharing Zotero libraries.

FAQ from Zotero MCP Server?

  • Can I use Zotero MCP Server with any MCP client?

Yes! It is designed to work with various MCP clients like Anthropic Claude App and others.

  • Is there a cost to use Zotero MCP Server?

No, it is open-source and free to use.

  • What programming language is Zotero MCP Server written in?

Zotero MCP Server is written in Python.

Content

Zotero MCP Server

A MCP (Model Context Protocol) server to let your MCP clients (e.g. Anthropic Claude App, Goose, possibly vscode Cline too) interact with your local Zotero repository. This server enables programmatic access to your Zotero library, allowing you to search papers, manage notes, and more.

Setup

  1. Install dependencies:
pip install -e .
  1. Create a .env file in the root directory with your Zotero credentials:
ZOTERO_API_KEY=your_api_key_here
ZOTERO_USER_ID=your_user_id_here

You can get your Zotero API key and user ID from Zotero's settings page.

Integration with Anthropic Desktop App

To integrate with the Anthropic Desktop app, add the following configuration to ~/Library/Application Support/Claude/claude_desktop_config.json:

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

If this gives an error like

{"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"claude-ai","version":"0.1.0"}},"jsonrpc":"2.0","id":0}
  error: unexpected argument '--directory' found

Then use the following config, make sure to do uv venv; source .venv/bin/activate; uv pip install ".[dev]" to make sure the server can be run with all dependencies.

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

Example Usage

Zotero MCP Server Example

The server allows you to:

  • Search papers by tags
  • Get paper details and attached notes
  • Add notes to papers
  • Request paper summaries
No tools information available.
No content found.