Skip to main content
mcpSource-backedReview first Safety Privacy

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.

HarnessClaude CodeCodexCursorClaude Desktop
Review first review before installing

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
Source repository stats
Scope
Source repo
Collection metadata
Estimated setup
10 minutes
Difficulty
intermediate
Tool listing metadata
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

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-cli for 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

Show that Zotero MCP Server is listed on HeyClaude. Paste this Markdown into your README — it renders the badge and links back to this page.

Listed on HeyClaude
[![Listed on HeyClaude](https://heyclau.de/badge/mcp/zotero-mcp-server.svg)](https://heyclau.de/entry/mcp/zotero-mcp-server)

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.

FieldZotero 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 riskReview firstReview firstReview firstReview first
Notes Safety Privacy Safety Privacy Safety Privacy Safety Privacy
Categorymcpmcpmcpmcp
Sourcesource-backedsource-backedsource-backedsource-backed
Author54yyyuJoseph BlazickopenagsChunkHound
Added2026-06-182026-06-052026-06-052026-06-06
Platforms
Claude CodeCodexCursorClaude Desktop
Claude CodeClaude Desktop
Claude CodeClaude Desktop
Claude CodeClaude Desktop
Source repo
Safety notesLocal 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 notesZotero 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
  • 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.
  • Python 3.11 or newer available to the MCP client runtime.
  • uvx available for package execution.
  • Local storage available for downloaded papers.
  • Optional PDF extra if you need older papers that do not have HTML content.
  • Python 3.10 or newer, with uv recommended for the documented no-install and persistent-install paths.
  • Network access to public academic sources and repositories.
  • Optional API keys or emails configured only for sources the user is authorized to access.
  • A policy decision on whether download, read, optional Sci-Hub fallback, paid-platform skeleton connectors, and proxy-based Google Scholar discovery are allowed.
  • Python 3.10 or newer and the `uv` package manager.
  • A local repository or workspace you are authorized to index.
  • ChunkHound JSON config reviewed for database path, excludes, embeddings, and LLM provider settings.
  • Optional embedding provider credentials for semantic search, or regex-only usage when no embedding key is configured.
Install
uv tool install zotero-mcp-server
uvx arxiv-mcp-server
uvx paper-search-mcp
uv tool install chunkhound
Config
{
  "mcpServers": {
    "zotero": {
      "command": "zotero-mcp",
      "env": {
        "ZOTERO_LOCAL": "true"
      }
    }
  }
}
{
  "mcpServers": {
    "arxiv": {
      "command": "uvx",
      "args": ["arxiv-mcp-server"]
    }
  }
}
Manual-only setup:
uv tool install paper-search-mcp
uv tool run paper-search-mcp
{
  "mcpServers": {
    "chunkhound": {
      "command": "chunkhound",
      "args": ["mcp", "/path/to/approved/project"]
    }
  }
}
Citations
ClaimUnclaimedUnclaimedUnclaimedUnclaimed

Signals

Loading live community signals…

More like this, weekly

A short, calm digest of reviewed Claude resources. Unsubscribe any time.