MCP Zotero logo

MCP Zotero

by kaliaboi

Connects MCP clients to Zotero Cloud for collection browsing, library search, paper details, and recent-item retrieval.

Install MCP Zotero

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "kaliaboi-mcp-zotero": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-zotero"
      ],
      "env": {
        "ZOTERO_API_KEY": "YOUR_VALUE_HERE",
        "ZOTERO_USER_ID": "YOUR_VALUE_HERE"
      }
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Values are written into the snippet above so you can paste it as is. They never leave your browser.

We couldn’t confirm it starts correctly

We ran the install command but it didn't respond within our test window — this can mean a slow first-time install rather than a real problem.

npx -y mcp-zotero

No response to initialize.

This is an experimental automated check and can have false negatives — missing environment variables, a slow cold install, etc. It doesn’t necessarily mean something’s wrong. Last checked 1mo ago.

Overview

The kaliaboi/mcp-zotero MCP server connects an MCP client to a Zotero library in Zotero Cloud. It uses a Zotero API key and user ID to expose collection listing, collection-item retrieval, library search, paper details, and recent-item tools. The package runs locally through npm and can be configured for Claude Desktop. Reach for it when an agent needs to inspect or search a Zotero research library.

Use cases

  • Browse Zotero collections through an AI client
  • Search a research library for papers
  • Inspect detailed information for a selected item
  • Review recently added papers

Key features

  • List Zotero collections
  • Retrieve items from a collection
  • Search the full library
  • Get detailed paper information
  • List recently added papers

Tools5

What MCP Zotero lets your agent do. Expand a tool for its parameters.

Self-reported~59 tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked Today

Recent health check succeeded.

8/8 checks healthy over the last 80d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 9d ago via OSV.dev · mcp-zotero (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars163Stargazers on the source repository.
npm downloads362Package downloads in the last 30 days.
Last commit1y agoMost recent push to the default branch.
Install checkInconclusiveDidn't respond in our test window — often a slow first install.
Tools exposed5Callable tools this server registers over MCP.
Directory activity13 viewsConfig copies, upvotes, and views on AllMCPs.

How MCP Zotero works

What kaliaboi/mcp-zotero MCP server does

The kaliaboi/mcp-zotero MCP server gives an MCP-compatible client read access to a Zotero library through Zotero’s cloud API. Its tools cover the main discovery paths in a library:

  • List every collection in the user’s library.
  • Retrieve the items belonging to a selected collection.
  • Search across the complete library.
  • Fetch detailed information for a paper or other library item.
  • Retrieve recently added papers.

These capabilities support research workflows where an agent needs to locate sources, inspect collection contents, or review recent additions.

How it works

The package runs as an MCP server and uses two environment variables to identify and access the Zotero account. ZOTERO_API_KEY contains a key created in Zotero’s account settings. ZOTERO_USER_ID identifies the Zotero user whose library the server queries.

The user ID can be obtained from Zotero’s /keys/current endpoint using the API key. Before connecting an MCP client, credentials can be checked by requesting the user’s collections endpoint with the Zotero-API-Key header. A successful response should contain the library’s collections.

The kaliaboi/mcp-zotero MCP server is suitable for a local MCP setup because the README provides npm installation and execution commands. Claude Desktop is explicitly documented as a client, with the server command and both credential variables placed in its MCP configuration.

Setup and configuration

Install the npm package globally with npm install -g mcp-zotero, then start it with mcp-zotero.

Set the required values in the environment before starting the process:

  • ZOTERO_API_KEY: the Zotero API key.
  • ZOTERO_USER_ID: the numeric user ID returned by Zotero’s current-key endpoint.

For Claude Desktop, add an MCP server entry whose command is mcp-zotero and whose environment contains those two variables. The README’s example uses placeholder credential values, so replace them with the actual key and user ID rather than copying the placeholders literally.

If the connection fails, first inspect the two environment variables, confirm that the package is installed, and test the credentials against the user collections endpoint. Reinstalling the global npm package is another documented troubleshooting step.

Tools and capabilities

get_collections returns the library’s collections. get_collection_items accepts a collection context and returns the items assigned to it. search_library searches the full library, while get_item_details provides detailed information for a selected paper. get_recent surfaces recently added papers.

Together, these tools let an agent move from broad library discovery to collection-level browsing, targeted search, and item inspection without requiring separate Zotero queries from the user.

Limitations and notes

Treat the server as a retrieval and discovery interface based on the capabilities listed here.

Access requires a Zotero API key and the corresponding user ID. Keep both environment variables available to the MCP process and verify them independently if no collections are returned.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about MCP Zotero

Install it globally with `npm install -g mcp-zotero` and run `mcp-zotero`, or use `npx -y mcp-zotero`.

Set `ZOTERO_API_KEY` to a Zotero API key and `ZOTERO_USER_ID` to the user ID obtained from Zotero’s `/keys/current` endpoint.

Yes. The README provides Claude Desktop configuration using the `mcp-zotero` command and the two Zotero environment variables.

It can search the entire library, list collections, retrieve collection items, get item details, and return recently added papers.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewMCP Zotero AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/kaliaboi-mcp-zotero?style=directory)](https://allmcps.com/mcp/kaliaboi-mcp-zotero)
HTML Embed
<a href="https://allmcps.com/mcp/kaliaboi-mcp-zotero"><img src="https://allmcps.com/api/badge/kaliaboi-mcp-zotero?style=directory" alt="MCP Zotero on AllMCPs" /></a>