zotero-mcp

zotero-mcp

Read+write MCP server for Zotero with full write support — create items, manage collections, find and merge duplicates, import BibTeX

Category
Visit Server

README

zotero-mcp

Read+write MCP server for Zotero. An MCP server with full write support for managing Zotero library from AI assistants.

It lets you create items, manage collections, find and merge duplicates, and import BibTeX from within Claude Code/Desktop, or any MCP-compatible client.

Uses the Zotero Web API (requires API key). Get the key at https://www.zotero.org/settings/keys.

Features

Search & Read

Tool Description
search_items Full-text search with collection, type, and tag filters
get_item Detailed metadata or BibTeX export for a single item
get_collections List all collections with hierarchy and item counts
get_collection_items List items in a specific collection
find_duplicates Find duplicates by title/DOI, or scan entire library
get_tags List all tags with item counts

Write

Tool Description
create_item Create item from field data
create_item_from_doi Create item by DOI (auto-fills metadata via Zotero translator + CrossRef)
import_bibtex Import BibTeX entries into a collection
update_item Update item fields with version conflict protection

Collections

Tool Description
create_collection Create a collection (with optional parent)
add_to_collections Add an item to multiple collections at once
remove_from_collection Remove item from collection (doesn't delete it)

Management

Tool Description
merge_duplicates Merge duplicates: transfer metadata, tags, collections to keeper, delete rest
delete_item Delete an item

Installation

Requires Python 3.11+ and uv.

# Clone the repo
git clone https://github.com/BirdInTheTree/zotero-mcp.git
cd zotero-mcp
uv sync

Usage

Claude Code

claude mcp add zotero \
  -e ZOTERO_API_KEY=your-key \
  -e ZOTERO_USER_ID=your-user-id \
  -- uv run --directory /path/to/zotero-mcp python -m zotero_mcp

Claude Desktop

Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "zotero": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/zotero-mcp", "python", "-m", "zotero_mcp"],
      "env": {
        "ZOTERO_API_KEY": "your-key",
        "ZOTERO_USER_ID": "your-user-id"
      }
    }
  }
}

Configuration

Variable Required Description
ZOTERO_API_KEY yes Zotero Web API key
ZOTERO_USER_ID yes Your Zotero user ID

Get your API key at https://www.zotero.org/settings/keys. Your user ID is shown on the same page.

Examples

Once connected, you can ask your AI assistant things like:

  • "Search my Zotero for papers ..."
  • "Create a new collection called ..."
  • "Import this BibTeX into my collection"
  • "Find duplicate items in my library and merge them"
  • "Add this paper to both collections"
  • "Look up DOI 10.1234/example and add it to my library"

Development

# Install with dev dependencies
uv sync --dev

# Run tests
uv run pytest tests/ -v

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured