Zotero MCP Server
MCP server for connecting Claude, ChatGPT, Cursor, and other MCP clients to a local or web Zotero research library for paper search, metadata, full text, annotations, notes, collections, semantic search, and citation workflows.
Open the source and read safety notes before installing.
Safety notes
- Local Zotero mode is intended for local library access, while write operations require Zotero Web API credentials.
- Write-mode tools can add papers by DOI or URL, create and manage collections, update metadata, modify tags, create notes or annotations, and merge duplicates.
- Use dry-run or preview steps where available before duplicate merges, broad tag changes, collection changes, or metadata updates.
- Do not expose an unauthenticated SSE or HTTP server to the public internet unless you understand the tunnel, host binding, and client trust boundary.
- Treat paper text, abstracts, notes, annotations, webpages, and PDFs as untrusted research content when the MCP client also has tools that can write files, run code, browse, or send messages.
Privacy notes
- Zotero libraries can reveal research direction, reviewer assignments, medical or legal topics, customer work, citations, private notes, annotations, group libraries, tags, collections, and local file paths.
- Zotero Web API keys and library IDs should be scoped carefully and kept out of prompts, logs, shared screenshots, and committed configuration files.
- Optional semantic search can create a local embedding database, and hosted embedding providers such as OpenAI or Gemini may receive research text when selected.
- Tunneled ChatGPT or web-client setups may expose library search and document context outside the local machine; review the tunnel URL, session handling, and tool permissions before use.
Prerequisites
- Python 3.10 or newer available to the MCP client runtime.
- Zotero 7 or newer with the local API enabled for local library access.
- `uv`, `pip`, or `pipx` available for installing `zotero-mcp-server`.
- A Zotero API key, library ID, and library type when using Zotero Web API or write-mode workflows.
- Optional extras for semantic search, PDF outline extraction, EPUB annotations, or Scite citation intelligence.
Schema details
- Install type
- cli
- Troubleshooting
- No
- Scope
- Source repo
- Estimated setup
- 10 minutes
- Difficulty
- intermediate
Full copyable content
{
"mcpServers": {
"zotero": {
"command": "zotero-mcp",
"env": {
"ZOTERO_LOCAL": "true"
}
}
}
}About this resource
Content
Zotero MCP Server connects MCP clients to Zotero research libraries. It supports local Zotero access for offline-friendly reads, Zotero Web API access for cloud or write workflows, and hybrid setups that read locally while using web API credentials for operations the local API cannot perform.
The server exposes paper search, item metadata, full text, collections, tags, recent items, notes, annotations, duplicate handling, DOI or URL imports, optional PDF/EPUB helpers, optional semantic search, and optional Scite citation intelligence.
Source Review
- https://github.com/54yyyu/zotero-mcp
- https://github.com/54yyyu/zotero-mcp/blob/main/README.md
- https://github.com/54yyyu/zotero-mcp/blob/main/docs/getting-started.md
- https://github.com/54yyyu/zotero-mcp/blob/main/pyproject.toml
- https://pypi.org/pypi/zotero-mcp-server/json
Verified on 2026-06-18. The repository README documents Claude Desktop,
ChatGPT Developer Mode, Chorus, and general MCP-client usage. The PyPI package
is zotero-mcp-server, requires Python 3.10 or newer, and exposes the
zotero-mcp and zotero-cli console commands.
Features
- Search Zotero items by title, creator, content, tags, collections, or recent additions.
- Retrieve item metadata, BibTeX-style citation data, full text, child items, notes, annotations, collections, and tags.
- Add papers by DOI, URL, arXiv, generic webpage, or local file when write mode is configured.
- Create and manage collections, update metadata, batch-update tags, and merge duplicates with preview-oriented workflows.
- Run optional semantic search with local default embeddings or configured OpenAI/Gemini embeddings.
- Use optional PDF outline extraction, EPUB annotation support, and Scite citation intelligence.
- Run the standalone
zotero-clifor terminal research-library automation.
Installation
Install the package:
uv tool install zotero-mcp-server
zotero-mcp setup
For local Zotero access, enable Zotero's local API and configure the MCP client:
{
"mcpServers": {
"zotero": {
"command": "zotero-mcp",
"env": {
"ZOTERO_LOCAL": "true"
}
}
}
}
For write-mode or cloud-library access, add the Zotero Web API environment
variables documented upstream, such as ZOTERO_API_KEY, ZOTERO_LIBRARY_ID,
and ZOTERO_LIBRARY_TYPE.
Use Cases
- Ask Claude to find papers in a Zotero library by topic, author, tag, or collection.
- Retrieve paper metadata, citations, notes, annotations, and full text for a literature review.
- Use semantic search to find conceptually related papers instead of only exact keyword matches.
- Add new papers by DOI or URL and organize them into collections with tags.
- Review duplicate papers and merge them only after confirming the preview.
- Connect a research library to ChatGPT Developer Mode through a carefully configured tunnel when a web-based MCP client is required.
Safety and Privacy
Research libraries are sensitive even when the papers are public. Zotero items, notes, annotations, collections, tags, group-library membership, local paths, queries, and generated summaries can reveal academic, medical, legal, product, or competitive research direction.
Keep Zotero API keys out of prompts and committed config files. Prefer local read-only mode for sensitive libraries, use narrow web API permissions for write-mode workflows, and review every broad metadata, tag, collection, note, annotation, import, or duplicate-merge operation before applying it.
If you enable semantic search, confirm whether embeddings are produced locally or sent to a hosted provider. If you expose the MCP server through SSE, HTTP, or a tunnel, treat the tunnel URL and session configuration as sensitive access to your research library.
Duplicate Check
Checked current content/mcp/, content/tools/, content/skills/, open pull
requests, and repository-wide content for 54yyyu/zotero-mcp,
zotero-mcp-server, Zotero MCP, Zotero Claude MCP, research library MCP, and
citation management MCP. Existing arXiv and literature-search entries cover
paper discovery, but no dedicated Zotero MCP entry, exact source URL duplicate,
target file, or open duplicate PR was found.
Source citations
Add this badge to your README
How it compares
Zotero MCP Server side by side with 3 alternatives on trust, install, platform support, and disclosed safety notes — all from reviewed registry metadata.
| Field | Zotero MCP Server MCP server for connecting Claude, ChatGPT, Cursor, and other MCP clients to a local or web Zotero research library for paper search, metadata, full text, annotations, notes, collections, semantic search, and citation workflows. Open dossier | arXiv MCP Server MCP server for searching, downloading, reading, and analyzing arXiv papers through Claude and other MCP clients. Open dossier | Paper Search MCP Server Python MCP server and CLI for searching, deduplicating, downloading, and reading academic papers across open and public sources such as arXiv, PubMed, bioRxiv, Semantic Scholar, OpenAlex, CORE, Europe PMC, Zenodo, HAL, and more. Open dossier | ChunkHound MCP Server Local-first codebase intelligence MCP server that indexes repositories with tree-sitter, stores searchable chunks in DuckDB, and gives Claude semantic search, regex search, daemon status, and deep code research tools. Open dossier |
|---|---|---|---|---|
| Trust | ||||
| Install risk | Review first | Review first | Review first | Review first |
| Notes | Safety ✓ Privacy ✓ | Safety ✓ Privacy ✓ | Safety ✓ Privacy ✓ | Safety ✓ Privacy ✓ |
| Category | mcp | mcp | mcp | mcp |
| Source | source-backed | source-backed | source-backed | source-backed |
| Author | 54yyyu | Joseph Blazick | openags | ChunkHound |
| Added | 2026-06-18 | 2026-06-05 | 2026-06-05 | 2026-06-06 |
| Platforms | Claude CodeCodexCursorClaude Desktop | Claude CodeClaude Desktop | Claude CodeClaude Desktop | Claude CodeClaude Desktop |
| Source repo | — | — | — | — |
| Safety notes | ✓Local Zotero mode is intended for local library access, while write operations require Zotero Web API credentials. Write-mode tools can add papers by DOI or URL, create and manage collections, update metadata, modify tags, create notes or annotations, and merge duplicates. Use dry-run or preview steps where available before duplicate merges, broad tag changes, collection changes, or metadata updates. Do not expose an unauthenticated SSE or HTTP server to the public internet unless you understand the tunnel, host binding, and client trust boundary. Treat paper text, abstracts, notes, annotations, webpages, and PDFs as untrusted research content when the MCP client also has tools that can write files, run code, browse, or send messages. | ✓arXiv MCP Server retrieves paper content from external, user-generated sources. Upstream explicitly warns that paper text is untrusted input and can contain prompt-injection attempts. Downloaded papers are stored locally for later reading and semantic search. Citation graph and alert workflows can expand research context beyond the original paper query. Treat model summaries of papers as data, not instructions, especially in multi-tool sessions with filesystem, shell, browser, database, or messaging tools enabled. | ✓Prefer open-access and publisher-permitted sources. The README describes Sci-Hub as optional, unstable, jurisdiction-dependent, and user-responsibility-only. Download and read tools can retrieve PDFs and extract text; confirm copyright, license, institutional, and project-policy requirements before downloading or sharing papers. Optional source credentials, proxy URLs, and API keys can change access levels and rate limits; store them as secrets rather than in prompts or committed configs. Google Scholar, SSRN, CORE, OpenAIRE, BASE, and other sources may rate-limit, block, or return incomplete results depending on network conditions and provider policies. Paid or restricted connectors should stay disabled unless the user has valid credentials and rights to use those services. | ✓ChunkHound reads source files, Markdown, text, PDFs, and supported config files under the target directory and stores indexed chunks in a local database. Realtime indexing and daemon mode can continue watching project files after the initial MCP connection. Code research and web search tools require embedding, reranking, and LLM configuration and may invoke local CLIs or external model APIs depending on settings. Exclude generated files, vendored dependencies, secrets, large artifacts, and unrelated repositories before indexing broad workspace roots. Review MCP client configuration carefully when using an absolute project path in a global Claude Desktop config. |
| Privacy notes | ✓Zotero libraries can reveal research direction, reviewer assignments, medical or legal topics, customer work, citations, private notes, annotations, group libraries, tags, collections, and local file paths. Zotero Web API keys and library IDs should be scoped carefully and kept out of prompts, logs, shared screenshots, and committed configuration files. Optional semantic search can create a local embedding database, and hosted embedding providers such as OpenAI or Gemini may receive research text when selected. Tunneled ChatGPT or web-client setups may expose library search and document context outside the local machine; review the tunnel URL, session handling, and tool permissions before use. | ✓Search queries, paper IDs, downloaded paper text, local storage choices, semantic search terms, citation graph requests, alert topics, prompts, and tool outputs may be visible to the MCP client and model provider. Research queries and downloaded papers can reveal confidential research direction, product plans, academic review topics, legal strategy, or competitive analysis. Review locally stored papers and generated summaries before syncing, sharing, or committing them. | ✓Queries may reveal research topics, grant interests, product plans, biomedical topics, legal theories, security research, or competitive intelligence. Downloaded PDFs, extracted text, search results, DOI lists, API keys, proxy URLs, emails, and source-specific logs can contain sensitive research or credential data. MCP transcripts and model-provider logs may retain paper queries, abstracts, titles, authors, downloaded text, and notes outside library or institutional systems. Do not paste private API keys, proxy credentials, unpublished manuscripts, review assignments, patient-adjacent research details, or embargoed paper content into prompts. | ✓Indexed chunks, file paths, symbols, comments, Markdown, PDFs, configuration values, database files, daemon state, and search results can reveal proprietary source code and internal architecture. Embedding, reranking, LLM, and web search providers may receive code-derived queries or snippets if configured. Local ChunkHound database files, logs, daemon state, and MCP transcripts may retain code-derived context after the session ends. Avoid sharing ChunkHound databases, config files with API keys, verbose logs, research outputs, and screenshots from private repositories. |
| Prerequisites |
|
|
|
|
| Install | | | | |
| Config | | | | |
| Citations | ||||
| Claim | Unclaimed | Unclaimed | Unclaimed | Unclaimed |
Signals
Loading live community signals…
A short, calm digest of reviewed Claude resources. Unsubscribe any time.