mcpField
M
MCP Zotero

MCP Zotero

Local
github.com/kaliaboiScience & Education163Updated 90w ago

About MCP Zotero

MCP Zotero is a Model Context Protocol server that connects Claude Desktop to a Zotero library through the Zotero Cloud API. It lets users browse collections, look up items and search their library from a chat. It is aimed at researchers who keep references in Zotero.

Key features

  1. 01Lists collections in the library
  2. 02Shows items within a collection
  3. 03Returns detailed information for a paper
  4. 04Searches the entire library
  5. 05Lists recently added papers

Use cases

  1. 01Finding saved references from Claude Desktop
  2. 02Browsing papers in a specific collection
  3. 03Checking recently added items in a library

MCP support

This is an MCP server that exposes five tools for reading collections, items and search results from a Zotero library to clients such as Claude Desktop.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"zotero": {
"command": "npx",
"args": [
"-y",
"mcp-zotero"
]
}
}
}
Run commandnpx -y mcp-zotero

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmmcp-zotero

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

MCP Zotero

NPM Version smithery badge

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

Zotero MCP server

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
    

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.