zotero-mcp
cookjohn · cookjohn/zotero-mcp
This MCP server and Zotero plugin allow your AI assistants like Claude to deeply integrate with Zotero, enabling smart search, content extraction, and semantic analysis of your literature library.
It's a plugin extension in Zotero. Zotero MCP Plugin enables integration between AI assistants and Zotero through MCP. Zotero MCP Plugin 是一个 Zotero 插件,通过 MCP协议实现 AI 助手与 Zotero深度集成。插件支持文献检索、元 数据管理、全文分析和智能问答等功能,让 Claude、ChatGPT 等 AI 工具能够直接访问和操作您的文献库。
Preview
What you can do with it
- Enable your Claude agent to perform multi-dimensional searches (title, author, tags, full-text) within your Zotero library for literature reviews.
- Use an AI assistant to extract and analyze PDF full-text, notes, and annotations from your Zotero items for research summaries.
- Have your agent manage Zotero metadata, create new items, and organize tags based on content analysis.
Safety check
No risky patterns found in the files we scanned.
Automated scan of the repo files. Always review code you run.
From the README
Zotero MCP - Model Context Protocol Integration for Zotero
Zotero MCP is an open-source project designed to seamlessly integrate powerful AI capabilities with the leading reference management tool, Zotero, through the Model Context Protocol (MCP). This project consists of two core components: a Zotero plugin and an MCP server, which work together to provide AI assistants (like Claude) with the ability to interact with your local Zotero library. This README is also available in: :cn: 简体中文 | :gb: English.
Fork us on Wechat
| MP | Forum |
|---|---|
📚 Project Overview
The Zotero MCP server is a tool server based on the Model Context Protocol that provides seamless integration with the Zotero reference management system for AI applications like Claude Desktop. Through this server, AI assistants can:
- 🔍 Smart Search: Multi-dimensional library search (title/creator/year/tags/fulltext/semantic) with boolean operators and relevance scoring
- 📖 Content Extraction: Extract PDF full-text, notes, abstracts, webpage snapshots with fine-grained mode control
- 📝 Annotation Analysis: Search and analyze PDF highlights and annotations by color, tags, and keywords
- 📂 Collection Browsing: Browse and search collection hierarchies, retrieve items within collections
- 🧠 Semantic Search: AI-powered concept matching via embedding vectors, discover related literature across languages
- ✏️ Write Operations: Create notes, manage tags, update metadata, create new items and attach PDFs
- 💾 Full-text Database: Access and search cached PDF full-text content
This enables AI assistants to help you with literature reviews, citation management, content analysis, annotation organization, knowledge base management, and more.
🚀 Project Structure
This project now features a unified architecture with an integrated MCP server:
zotero-mcp-plugin/: A Zotero plugin with integrated MCP server that communicates directly with AI clients via Streamable HTTP protocolIMG/: Screenshots and documentation imagesREADME.md/README-zh.md: Documentation files
Unified Architecture:
AI Client ↔ Streamable HTTP ↔ Zotero Plugin (with integrated MCP server)
This eliminates the need for a separate MCP server process, providing a more streamlined and efficient integration.
🚀 Quick Start Guide
This guide is intended to help general users quickly configure and use Zotero MCP, enabling your AI assistant to work seamlessly with your Zotero library.
1. Installation (For General Users)
What is Zotero MCP?
Simply put, Zotero MCP is a bridge connecting your AI client (like Cherry Studio, Gemini CLI, Claude Desktop, etc.) and your local Zotero reference management software. It allows your AI assistant to directly search, query, and cite references from your Zotero library, greatly enhancing academic research and writing efficiency.
Two-Step Quick Start:
-
Install the Plugin:
- Go to the project's Releases Page to download the latest
zotero-mcp-plugin-x.x.x.xpifile. - In Zotero, install the
.xpifile viaTools -> Add-ons. - Restart Zotero.
- Go to the project's Releases Page to download the latest
-
Configure the Plugin:
- In Zotero's
Preferences -> Zotero MCP Plugintab, configure your connection settings:- Enable Server: Start the integrated MCP server
- Port: Default is
23120(you can change this if needed) - Generate Client Configuration: Click this button to get configuration for your AI client
- In Zotero's
2. Connect to AI Clients
Important: The Zotero plugin now includes an integrated MCP server that uses the Streamable HTTP protocol. No separate server installation is needed.
Streamable HTTP Connection
The plugin uses Streamable HTTP, which enables real-time bidirectional communication with AI clients:
- Enable Server in the Zotero plugin preferences
- Generate Client Configuration by clicking the button in plugin preferences
- Copy the generated configuration to your AI client
Supported AI Clients
- Claude Desktop: Streamable HTTP MCP support
- Cherry Studio: Streamable HTTP support
- Cursor IDE: Streamable HTTP MCP support
- Custom implementations: Streamable HTTP protocol
For detailed client-specific configuration instructions, see the Chinese README.
👨💻 Developer Guide
Prerequisites
- Zotero 7.0 or higher
- Node.js 18.0 or higher
- npm or yarn
- Git
Step 1: Install and Configure the Zotero Plugin
- Download the latest
zotero-mcp-plugin.xpifrom the Releases Page. - Install it in Zotero via
Tools -> Add-ons. - Enable the server in
Preferences -> Zotero MCP Plugin.
Step 2: Development Setup
-
Clone the repository:
git clone https://github.com/cookjohn/zotero-mcp.git cd zotero-mcp -
Set up the plugin development environment:
cd zotero-mcp-plugin npm install npm run build -
Load the plugin in Zotero:
# For development with auto-reload npm run start # Or install the built .xpi file manually npm run build
Step 3: Connect AI Clients (Development)
The plugin includes an integrated MCP server that uses Streamable HTTP:
- Enable the server in Zotero plugin preferences
- Generate client configuration using the plugin's built-in generator
- Configure your AI client with the generated Streamable HTTP configuration
Example configuration for Claude Desktop:
{
"mcpServers": {
"zotero": {
"transport": "streamable_http",
"url": "http://127.0.0.1:23120/mcp"
}
}
}
🧩 Features
zotero-mcp-plugin Features
- Integrated MCP Server: Built-in MCP