Skip to main content
Glama

MCP Zotero

NPM Version

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

Related MCP server: Zotero MCP

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

Available Tools

5 tools
get_collection_itemsC

Get all items in a specific collection

Inputs: collectionKey (required).

get_collectionsB

List all collections in your Zotero library

Inputs: no named parameters.

get_item_detailsC

Get detailed information about a specific paper

Inputs: itemKey (required).

get_recentC

Get recently added papers to your library

Inputs: limit.

search_libraryC

Search your entire Zotero library

Inputs: query (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.4/5.0

    Scored across 5 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose with no overlap: get_collection_items retrieves items within a collection, get_collections lists collections, get_item_details provides details on a specific paper, get_recent shows recent additions, and search_library searches the entire library. The descriptions reinforce these distinctions, making misselection unlikely.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern with snake_case (e.g., get_collection_items, get_collections, get_item_details, get_recent, search_library). The naming is predictable and readable throughout, with no deviations in style or convention.

    Tool Count4/5

    With 5 tools, the count is well-scoped for a Zotero library management server, covering core operations like listing, searching, and retrieving details. It is slightly lean but reasonable, as it includes essential functions without being overwhelming or too sparse.

    Completeness3/5

    The tool set covers read operations well (get, list, search) but lacks create, update, or delete capabilities for collections or items, which are typical in library management. This creates notable gaps that agents might need to work around, though the existing tools handle basic retrieval tasks adequately.

    Maintenance

    ActivityInactive
    ResponsivenessLimited data

    Related MCP Connectors

    Related MCP Servers