home / mcp / zotero mcp server

Zotero MCP Server

Provides an MCP server to search Zotero libraries, retrieve citations and bibliographies, and manage items.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "cr625-zotero-mcp-server": {
      "command": "python",
      "args": [
        "src/server.py"
      ],
      "env": {
        "ZOTERO_API_KEY": "YOUR_API_KEY",
        "ZOTERO_USER_ID": "YOUR_USER_ID",
        "ZOTERO_GROUP_ID": "YOUR_GROUP_ID (optional)"
      }
    }
  }
}

You run an MCP server that exposes Zotero library operations to AI applications through a consistent Model Context Protocol interface. This enables you to search libraries, fetch citations, add items, and manage collections from your tooling with ease and automation.

How to use

You connect an MCP client to the Zotero MCP Server to perform common library tasks. Start the server on your machine, then interact through the MCP client by issuing requests such as searching for items, retrieving citations or bibliographies, and adding or updating items in your Zotero libraries. The server supports both personal and group libraries, so you can work with your own collections or collaborative spaces. Make sure your client is configured to communicate with the server via the standard MCP channel and uses the supported tools exposed by the server.

How to install

# Prerequisites
- Python 3.8+ (recommended)
- git

# Step 1: Clone the project
git clone https://github.com/your-username/zotero-mcp-server.git
cd zotero-mcp-server

# Step 2: Create a virtual environment
python -m venv venv

# Step 3: Activate the virtual environment
# Linux/macOS
source venv/bin/activate
# Windows
venv\Scripts\activate

# Step 4: Install dependencies
pip install -r requirements.txt
# Step 5: Configure environment variables
# Copy the example env file and adjust credentials
cp .env.example .env

# Edit the .env file with your Zotero credentials
# ZOTERO_API_KEY=your_api_key_here
# ZOTERO_USER_ID=your_numeric_user_id_here
# ZOTERO_GROUP_ID=your_group_id_here  # Uncomment to use a group library
# Step 6: Run the server
python src/server.py

Additional sections

Configuration, security, and practical usage notes help you run the Zotero MCP Server smoothly in development or production environments.

Configuration

The server reads credentials from an environment file for Zotero API access. You can run with either a personal Zotero library (your own user ID) or a group library (group ID). The following keys are used: ZOTERO_API_KEY, ZOTERO_USER_ID, ZOTERO_GROUP_ID. Ensure you provide the appropriate values for your setup.

Troubleshooting

If you encounter connection or authentication issues, verify that the Zotero API key is active, the user or group ID is correct, and that your environment variables are loaded when starting the server. Check that the virtual environment is activated and that the server process is running without errors.

Notes

This MCP server supports searching items, retrieving citations and bibliographies, and adding or updating items in Zotero libraries. It is designed to work with both personal and group libraries and is intended for use by AI applications that need reliable access to Zotero data.

Available tools

search_items

Search for items in the Zotero library using query terms and optional filters.

get_citation

Retrieve a formatted citation for a specific item in a chosen style.

add_item

Add a new item to a Zotero library with provided metadata and associations.

get_bibliography

Get a bibliography entry for multiple items in a selected citation style.

create_collection

Create a new collection within a Zotero library.

update_item

Update the fields of an existing Zotero item.

delete_item

Remove an item from the Zotero library.

get_item_types

List all available Zotero item types.

get_item_fields

List available fields for a specific item type.