Zotero

by kaliaboi

74 stars
2.1k downloads
Not rated
GitHub

About

Integrates with Zotero to enable listing collections, retrieving item details, searching libraries, and fetching recent papers for research and citation management.

Details

Author
kaliaboi
Repository
kaliaboi/mcp-zotero
GitHub stars
74
Downloads
2,096
License
MIT License
Categories
Productivity, Other, Knowledge Base, AI, Design, Developer Tools, Search, Security, Infrastructure
Tags
#integration

- Lists all collections in your Zotero library
- Gets items belonging to a specific collection
- Retrieves detailed information about a paper
- Searches your entire Zotero library
- Fetches recently added papers
- Integrates with Claude Desktop via MCP

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Zotero
    Command (node, npx, python, etc.) mcp-zotero
    Environment
    • ZOTERO_API_KEY YOUR_API_KEY
    • ZOTERO_USER_ID YOUR_USER_ID

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

1. Get your Zotero credentials:

```bash

npm install -g mcp-zotero
mcp-zotero

get_collections

List all collections in your library.

get_collection_items

Get items in a specific collection.

get_item_details

Get detailed information about a paper.

search_library

Search your entire library.

get_recent

Get recently added papers.

- get_collections: List all collections in your library
- get_collection_items: Get items in a specific collection
- get_item_details: Get detailed information about a paper
- search_library: Search your entire library
- get_recent: Get recently added papers

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "zotero": {
            "env": {
                "ZOTERO_API_KEY": "YOUR_API_KEY",
                "ZOTERO_USER_ID": "YOUR_USER_ID"
            },
            "args": [],
            "command": "mcp-zotero"
        }
    }
}

Linux

{
    "env": {
        "ZOTERO_API_KEY": "YOUR_API_KEY",
        "ZOTERO_USER_ID": "YOUR_USER_ID"
    },
    "args": [],
    "command": "mcp-zotero"
}

Macos

{
    "env": {
        "ZOTERO_API_KEY": "YOUR_API_KEY",
        "ZOTERO_USER_ID": "YOUR_USER_ID"
    },
    "args": [],
    "command": "mcp-zotero"
}

Windows

{
    "env": {
        "ZOTERO_API_KEY": "YOUR_API_KEY",
        "ZOTERO_USER_ID": "YOUR_USER_ID"
    },
    "args": [
        "/c",
        "mcp-zotero"
    ],
    "command": "cmd"
}

MCP Zotero

NPM Version smithery badge

A Model Context Protocol server for Zotero integration that allows Claude to interact with your Zotero library.

<a href="https://glama.ai/mcp/servers/mjvu0xzzzz">Zotero MCP server</a>

Setup

1. Get your Zotero credentials:

   # First, create an API key at https://www.zotero.org/settings/keys
   # Then use it to get your user ID:
   curl -H "Zotero-API-Key: YOUR_API_KEY" https://api.zotero.org/keys/current
   

The response will look like:

   {
     "userID": 123456,
     "username": "your_username",
     "access": {
       "user": {
         "library": true,
         "files": true,
         "notes": true,
         "write": true
       }
     }
   }
   

The userID value is what you need.

2. Set environment variables:

   export ZOTERO_API_KEY="your-api-key"
   export ZOTERO_USER_ID="user-id-from-curl"
   

3. Verify your credentials:

   # Test that your credentials work:
   curl -H "Zotero-API-Key: $ZOTERO_API_KEY" \
        "https://api.zotero.org/users/$ZOTERO_USER_ID/collections"
   

You should see your collections list in the response.

4. Install and run:

   # Install globally (recommended)
   npm install -g mcp-zotero
   mcp-zotero

# Or run directly with npx
npx mcp-zotero

Integration with Claude Desktop

To use this server with Claude Desktop, add the following to your Claude Desktop configuration:

{
  "mcpServers": {
    "zotero": {
      "command": "mcp-zotero",
      "env": {
        "ZOTERO_API_KEY": YOUR_API_KEY,
        "ZOTERO_USER_ID": YOUR_USER_ID
      }
    }
  }
}

Available Tools

- get_collections: List all collections in your library
- get_collection_items: Get items in a specific collection
- get_item_details: Get detailed information about a paper
- search_library: Search your entire library
- get_recent: Get recently added papers

Troubleshooting

If you encounter any issues:

1. Verify your environment variables are set:

   echo $ZOTERO_API_KEY
   echo $ZOTERO_USER_ID
   

2. Check the installation:

   npm list -g mcp-zotero
   

3. Try reinstalling:

   npm uninstall -g mcp-zotero
npm install -g mcp-zotero

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.