mcp-zotero
MCP server that exposes Zotero library operations as tools for Claude. Supports searching, browsing collections, adding items by DOI, importing PDFs with fulltext indexing, open access PDF discovery via Unpaywall, and injecting Zotero citation field codes into .docx documents.
claude mcp add --transport stdio xevos117-mcp-zotero npx -y @xevos117/mcp-zotero \ --env ZOTERO_API_KEY="YOUR_API_KEY" \ --env ZOTERO_USER_ID="YOUR_USER_ID" \ --env UNPAYWALL_EMAIL="YOUR_EMAIL_OR leave_empty" \ --env UNSAFE_OPERATIONS="none"
How to use
This MCP server provides a Zotero-integrated toolset for use with language models. It exposes 15 tools that let an LLM browse your Zotero library, add items (including by DOI), attach PDFs, read full-text, and inject live Zotero citations into Word documents. Tools cover library navigation (get_collections, get_collection_items, get_items_details, get_item_fulltext), content addition (add_items_by_doi, add_items, create_collection, import_pdf_to_zotero, find_and_attach_pdfs, add_linked_url_attachment), deletion (delete_items, delete_collection), and citation/document handling (inject_citations, get_user_id). The server is designed to be self-documenting through its tool listings, enabling an LLM with or without local filesystem access to work with Zotero data depending on capabilities.
To get started, configure your Zotero API credentials and environment variables as described in the installation guide, then run the MCP server. When connected, the MCP will present each available tool with usage guidance and cross-references, so an LLM can discover workflows such as adding papers by DOI, locating metadata, fetching PDFs, and injecting Zotero citations into documents. For Claude users, there is an optional Claude skill for in-sandbox citation injection that does not require local file access.
How to install
Prerequisites:
- Node.js and npm (for npx usage) or an environment that can run npx commands
- A Zotero API key with library read/write and file access permissions
- Your Zotero user ID
- Optional: Unpaywall account email for OA PDF lookup
Steps:
- Obtain Zotero API credentials:
- Create an API key at https://www.zotero.org/settings/keys (enable library read/write and file access)
- Retrieve your user ID: curl -H "Zotero-API-Key: YOUR_API_KEY" https://api.zotero.org/keys/current
- Set environment variables (replace placeholders):
- export ZOTERO_API_KEY="your-api-key"
- export ZOTERO_USER_ID="your-user-id"
- export UNPAYWALL_EMAIL="your@email.edu" # Optional
- export UNSAFE_OPERATIONS="none" # Optional: none | items | all
- Install and run the MCP Zotero server using npx (no local install needed):
- npx -y @xevos117/mcp-zotero
- The server will start and listen for MCP connections with the configured environment.
- Alternative: use Claude integration examples (if you’re wiring Claude Desktop or Claude Code) as described in the README to connect the MCP server to your Claude projects.
Additional notes
Notes and tips:
- By default, destructive actions are blocked. Set UNSAFE_OPERATIONS to items or all to enable deletions, with all-related safety warnings in mind.
- UNPAYWALL_EMAIL enables automatic OA PDF lookup when using add_items_by_doi and find_and_attach_pdfs; omit if not desired.
- The integration supports Claude Skill for in-sandbox citation injection, useful for LLMs without local file access.
- If you encounter API rate limits, consider using UNPAYWALL_EMAIL or adjusting requests flow via the tool parameters in your calls.
- The provided configuration example demonstrates how to embed credentials directly in the mcpServers configuration for Claude integrations; adapt as needed for your deployment security practices.
Related MCP Servers
obsidian -tools
Add Obsidian integrations like semantic search and custom Templater prompts to Claude or any MCP client.
mcp
Octopus Deploy Official MCP Server
furi
CLI & API for MCP management
mcp -arangodb
This is a TypeScript-based MCP server that provides database interaction capabilities through ArangoDB. It implements core database operations and allows seamless integration with ArangoDB through MCP tools. You can use it wih Claude app and also extension for VSCode that works with mcp like Cline!
CodeRAG
Advanced graph-based code analysis for AI-assisted software development
mcp-bundler
Is the MCP configuration too complicated? You can easily share your own simplified setup!