Skip to main content
MCP server CX Codex

Cite Caddy — Claude Code MCP server: read/write access to Zotero

A remote MCP server that gives an assistant full read and write access to a Zotero library: items, collections, tags, attachments and notes.

Install into Claude Code · Platform CLI: remote server All methods and platforms ↓
claude mcp add --transport http cite-caddy https://citecaddy.herbertkokholm.dk/mcp
Open on GitHub

What Cite Caddy does

Cite Caddy talks to Zotero through its Web API and exposes 39 tools. An assistant can search for items, add new ones, edit fields, apply tags, build and rename collections, pull down attachments and read their extracted text, handle notes, the trash and saved searches, and query Zotero's own item-type and field schema.

The server ships as a Docker container and expects a reverse proxy that terminates TLS in front of it. Clients only point at a URL, so there is nothing to run locally. In stdio mode the target library comes from ZOTERO_LIBRARY_ID, ZOTERO_LIBRARY_TYPE and ZOTERO_API_KEY; the key needs write permission, not read alone. In HTTP mode each caller supplies their own library ID, type and key through the /login form, and those keys are encrypted at rest with MCP_TOKEN_STORE_KEY.

Deleting and moving items deserves care. A Word document that cites an item through the Zotero plugin stores that item's key inside a live field code, and a library-to-library move is carried out as a removal followed by a fresh creation. Either operation breaks those citations without any warning: the document stays quiet and later shows stale field text. Calls that keep the key intact are fine. Six destructive tools, among them delete_item_permanently and move_item_to_different_library, take an optional idempotency_key, so a retry after an ambiguous response replays the earlier outcome rather than hitting Zotero again.

What it helps with

  • look up an item in a Zotero library by its identifier
  • tag a batch of items in one go
  • sort items into collections and rename them
  • download an attachment and read its extracted text
  • clear out the trash and saved searches

Example prompts for the agent

  • Find every Zotero item whose DOI appears in refs.txt and tag them to-read
  • Create a collection called Review 2025 and move the graph neural network papers into it
  • Show me the notes on the item with key ABCD1234

How to install Cite Caddy

Platform CLI: remote server

claude mcp add --transport http cite-caddy https://citecaddy.herbertkokholm.dk/mcp

Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more

Questions about Cite Caddy

How do I install Cite Caddy in Claude Code?

Run claude mcp add --transport http cite-caddy https://citecaddy.herbertkokholm.dk/mcp.

What does Cite Caddy do?

It gives an assistant full read and write access to a Zotero library: items, collections, tags, attachments, notes, the trash and saved searches.

What does the server need to run?

A Zotero Web API key with write permission and a library ID. In HTTP mode it also needs MCP_TOKEN_STORE_KEY to encrypt tenants' keys.

Similar MCP servers

Everything for Science and research →

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor