kaliaboi

MCP Zotero

Community kaliaboi
Updated

A connector for Claude Desktop to work with collection and sources on your Zotero Cloud.

MCP Zotero

NPM Version smithery badge

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

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
    

MCP Server · Populars

MCP Server · New

    chatmcp

    mcpso

    directory for Awesome MCP Servers

    Community chatmcp
    TBXark

    MCP Proxy Server

    An MCP proxy server that aggregates and serves multiple MCP resource servers through a single HTTP server.

    Community TBXark
    ttommyth

    interactive-mcp

    Ask users questions from your LLM! interactive-mcp: Local, cross-platform MCP server for interactive prompts, chat & notifications.

    Community ttommyth
    lpigeon

    ros-mcp-server

    The ROS MCP Server is designed to support robots in performing complex tasks and adapting effectively to various environments by providing a set of functions that transform natural language commands, entered by a user through an LLM, into ROS commands for robot control.

    Community lpigeon
    emicklei

    melrose-mcp

    interactive programming of melodies, producing MIDI

    Community emicklei