zotero
Zotero MCP: Connects your Zotero research library with Claude and other AI assistants via the Model Context Protocol to discuss papers, get summaries, analyze citations, and more.
claude mcp add --transport stdio 54yyyu-zotero-mcp zotero-mcp \ --env ZOTERO_LOCAL="true"
How to use
Zotero MCP lets you interact with your Zotero library from AI assistants like Claude, ChatGPT, and others through the Model Context Protocol. It supports local offline access via a Zotero local API and optional web API access for remote libraries. After you install and configure the server, you can run semantic search over your library, fetch detailed metadata and full text where available, and manage annotations and notes. The included setup guides and commands enable you to initialize a semantic index, choose embedding models, and configure update strategies so your search results stay current with your library.
Key capabilities include AI-powered semantic search with multiple embedding options (default local model, OpenAI, and Gemini), building and updating the semantic database, and retrieving content such as metadata, PDFs, notes, and attachments. You can perform complex queries, filter by collections or tags, and use semantic prompts to find conceptually related papers. The server also supports local mode (no API key needed) and a web API option for cloud libraries, making it flexible for both offline and online workflows.
How to install
Prerequisites:
- Python 3.10+ (for uv, pip, or pipx installations)
- Zotero installed and running (local API enabled if you plan local access)
- Optional: API keys if you plan to use OpenAI or Gemini embeddings
Install via uv (recommended):
uv tool install zotero-mcp-server
zotero-mcp setup # Auto-configure (Claude Desktop supported)
Install via pip:
pip install zotero-mcp-server
zotero-mcp setup # Auto-configure (Claude Desktop supported)
Install via pipx:
pipx install zotero-mcp-server
zotero-mcp setup # Auto-configure (Claude Desktop supported)
Updating your installation (preserves configurations):
# Check for updates
zotero-mcp update --check-only
# Update to latest version
zotero-mcp update
Notes:
- If you plan to use semantic search with full-text extraction, ensure Zotero is configured to allow full-text access via the local API.
- For remote access, you can configure the server to use the Web API with --no-local and provide your API key and library ID during setup.
- The environment variable ZOTERO_LOCAL=true enables local API mode; adjust as needed for your setup.
Additional notes
Tips and common issues:
- Ensure Zotero is running and that the local API is enabled in Zotero preferences when using local mode.
- If you encounter embedding conflicts, you can reconfigure embeddings during zotero-mcp setup or run update-db with --force-rebuild.
- For Claude Desktop or other MCP clients, you can auto-configure or manually add the zotero-mcp server under mcpServers in your client config with ZOTERO_LOCAL=true.
- When using the web API, keep your API key secure and supply the correct library ID to access remote libraries.
- The server supports multiple embedding models (Default/local, OpenAI, Gemini). Choose based on your needs and API access.
- Use the update-db and db-status commands to manage and monitor the semantic search database lifecycle.
Related MCP Servers
mcp -qdrant
An official Qdrant Model Context Protocol (MCP) server implementation
freecad
FreeCAD MCP(Model Context Protocol) server
claude-self-reflect
Claude forgets everything. This fixes that. 🔗 www.npmjs.com/package/claude-self-reflect
zotero
Model Context Protocol (MCP) server for the Zotero API, in Python
mcp -aws
A Model Context Protocol server implementation for operations on AWS resources
pfsense
pfSense MCP Server enables security administrators to manage their pfSense firewalls using natural language through AI assistants like Claude Desktop. Simply ask "Show me blocked IPs" or "Run a PCI compliance check" instead of navigating complex interfaces. Supports REST/XML-RPC/SSH connections, and includes built-in complian