Fire in da houseTop Tip:Paying $100+ per month for Perplexity, MidJourney, Runway, ChatGPT and other tools is crazy - get all your AI tools in one site starting at $15 per month with Galaxy AI Fire in da houseCheck it out free

zotero-mcp-server

MCP.Pizza Chef: swairshah

The zotero-mcp-server is an MCP server that provides programmatic access to your local Zotero repository. It enables MCP clients like Anthropic Claude App and Goose to search papers, manage notes, and interact with your Zotero library efficiently. This server facilitates integration of Zotero's research management capabilities into AI-enhanced workflows, supporting secure and real-time context sharing.

Use This MCP server To

Search Zotero papers from MCP clients Manage Zotero notes programmatically Integrate Zotero library with AI copilots Enable real-time Zotero data access in workflows Automate citation retrieval and management Sync Zotero metadata with external tools

README

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

zotero-mcp-server FAQ

How do I set up the zotero-mcp-server?
Install dependencies via pip, then configure your Zotero API key and user ID in a .env file.
Which MCP clients can connect to zotero-mcp-server?
Clients like Anthropic Claude App, Goose, and potentially vscode Cline can connect.
How does zotero-mcp-server authenticate with Zotero?
It uses your Zotero API key and user ID provided in the .env configuration file.
Can I use zotero-mcp-server to manage notes in Zotero?
Yes, it allows programmatic management of notes within your Zotero library.
Is zotero-mcp-server compatible with multiple operating systems?
It runs wherever Python and the required dependencies are supported, typically on major OSes.
How secure is the zotero-mcp-server?
It uses scoped API keys and local hosting to ensure secure access to your Zotero data.
Can I integrate zotero-mcp-server with other AI models besides Anthropic?
Yes, it supports any MCP client including those using OpenAI, Claude, and Gemini models.
What kind of Zotero data can I access through this server?
You can access papers, notes, metadata, and other library contents programmatically.