raulsimpetru avatar

Zotero Library Mcp

raulsimpetru/zotero-library-mcp

Wraps the Zotero Web API so Claude can manage your reference library through natural language. You get tools for adding papers by DOI or arXiv ID, books by ISBN, plus full CRUD on collections, tags, and annotations. The crossref and Open Library lookups happen server-side, so metadata gets normalized before hitting Zotero. Includes fulltext extraction from PDFs, BibTeX export, and the ability to create highlights with automatic duplicate detection. Supports both Zotero's native storage and WebDAV backends. Reach for this when you're doing literature review or research work and want Claude to handle the mechanical parts of bibliography management while you focus on reading and synthesis.

tools
49
auth
Secret needed
transport
STDIO
env vars
5
last updated
Mar 6, 2026

Tools

49 tools

Public tool metadata for what this MCP can expose to an agent.

add_paper_by_doiResolve a DOI via CrossRef and add the paper to Zotero (with duplicate detection)

Resolve a DOI via CrossRef and add the paper to Zotero (with duplicate detection)

No parameter schema in public metadata yet.

add_papers_by_doisBatch-add up to 50 papers at once

Batch-add up to 50 papers at once

No parameter schema in public metadata yet.

add_paper_by_arxiv_idAdd a preprint by arXiv ID (uses DOI when available, falls back to arXiv metadata)

Add a preprint by arXiv ID (uses DOI when available, falls back to arXiv metadata)

No parameter schema in public metadata yet.

add_item_from_metadataCreate any supported Zotero item type from validated manual metadata

Create any supported Zotero item type from validated manual metadata

No parameter schema in public metadata yet.

add_book_by_isbnResolve an ISBN via Open Library and add the book to Zotero (with duplicate detection)

Resolve an ISBN via Open Library and add the book to Zotero (with duplicate detection)

No parameter schema in public metadata yet.

list_librariesDiscover the API key owner's personal library and shared group libraries, with IDs and key permissions

Discover the API key owner's personal library and shared group libraries, with IDs and key permissions

No parameter schema in public metadata yet.

search_librarySearch your Zotero library by title, author, tag, etc., paginated via start/limit (falls back to fuzzy matching when the exact search returns no results)

Search your Zotero library by title, author, tag, etc., paginated via start/limit (falls back to fuzzy matching when the exact search returns no results)

No parameter schema in public metadata yet.

get_item_detailsView full metadata for any item

View full metadata for any item

No parameter schema in public metadata yet.

get_recent_itemsList recently added items

List recently added items

No parameter schema in public metadata yet.

get_unfiled_itemsGet items not in any collection

Get items not in any collection

No parameter schema in public metadata yet.

search_fulltextSearch Zotero metadata and indexed full text

Search Zotero metadata and indexed full text

No parameter schema in public metadata yet.

find_duplicatesFind duplicate items by DOI, ISBN, or normalized title

Find duplicate items by DOI, ISBN, or normalized title

No parameter schema in public metadata yet.

list_attachmentsList every attachment and choose a specific PDF key

List every attachment and choose a specific PDF key

No parameter schema in public metadata yet.

health_checkVerify library credentials, access, and storage configuration

Verify library credentials, access, and storage configuration

No parameter schema in public metadata yet.

get_item_fulltextReturn bounded plain text from Zotero's index or a PDF, without leaking temporary paths

Return bounded plain text from Zotero's index or a PDF, without leaking temporary paths

No parameter schema in public metadata yet.

get_bibtexRead-only BibTeX/BibLaTeX export for items, a collection, or the full library

Read-only BibTeX/BibLaTeX export for items, a collection, or the full library

No parameter schema in public metadata yet.

save_bibtexSave an export to an authorized local path

Save an export to an authorized local path

No parameter schema in public metadata yet.

get_annotationsList all highlights and annotations on a paper's PDF

List all highlights and annotations on a paper's PDF

No parameter schema in public metadata yet.

create_annotationHighlight a text passage in a PDF (searches for the exact text, creates a visible highlight in Zotero's reader, and returns a preview image for verification)

Highlight a text passage in a PDF (searches for the exact text, creates a visible highlight in Zotero's reader, and returns a preview image for verification)

No parameter schema in public metadata yet.

add_noteAdd a note to an item

Add a note to an item

No parameter schema in public metadata yet.

list_notesManage existing notes

Manage existing notes

No parameter schema in public metadata yet.

update_noteManage existing notes

Manage existing notes

No parameter schema in public metadata yet.

delete_noteManage existing notes

Manage existing notes

No parameter schema in public metadata yet.

update_annotationEdit or remove annotations

Edit or remove annotations

No parameter schema in public metadata yet.

delete_annotationEdit or remove annotations

Edit or remove annotations

No parameter schema in public metadata yet.

attach_fileAttach a local file over stdio or a ChatGPT file input over HTTP

Attach a local file over stdio or a ChatGPT file input over HTTP

No parameter schema in public metadata yet.

download_pdfReturn a remote-safe MCP file resource

Return a remote-safe MCP file resource

No parameter schema in public metadata yet.

save_pdfSave a PDF to an authorized local path

Save a PDF to an authorized local path

No parameter schema in public metadata yet.

list_collectionsList all collections (with nesting)

List all collections (with nesting)

No parameter schema in public metadata yet.

create_collectionCreate a new collection (optionally nested under a parent)

Create a new collection (optionally nested under a parent)

No parameter schema in public metadata yet.

get_collection_itemsBrowse items in a collection, paginated via start/limit

Browse items in a collection, paginated via start/limit

No parameter schema in public metadata yet.

add_to_collectionAdd an existing item to a collection

Add an existing item to a collection

No parameter schema in public metadata yet.

remove_from_collectionRemove an item from a collection (keeps it in your library)

Remove an item from a collection (keeps it in your library)

No parameter schema in public metadata yet.

rename_collectionReorganize collections

Reorganize collections

No parameter schema in public metadata yet.

move_collectionReorganize collections

Reorganize collections

No parameter schema in public metadata yet.

list_tagsList all tags in your library

List all tags in your library

No parameter schema in public metadata yet.

add_tagsAdd one or more tags to an item (with optional color)

Add one or more tags to an item (with optional color)

No parameter schema in public metadata yet.

remove_tagsRemove tags from an item

Remove tags from an item

No parameter schema in public metadata yet.

delete_tagsDelete tags from the entire library

Delete tags from the entire library

No parameter schema in public metadata yet.

set_tag_colorAssign a color to a tag (appears in Zotero's tag selector)

Assign a color to a tag (appears in Zotero's tag selector)

No parameter schema in public metadata yet.

rename_tagRename a tag across all items in your library

Rename a tag across all items in your library

No parameter schema in public metadata yet.

unset_tag_colorRemove a tag color without deleting the tag

Remove a tag color without deleting the tag

No parameter schema in public metadata yet.

verify_itemsRe-check recent items against CrossRef to catch bad DOIs or title mismatches

Re-check recent items against CrossRef to catch bad DOIs or title mismatches

No parameter schema in public metadata yet.

delete_itemPermanently delete an item from your library

Permanently delete an item from your library

No parameter schema in public metadata yet.

delete_collectionPermanently delete a collection

Permanently delete a collection

No parameter schema in public metadata yet.

trash_itemPrefer reversible trash operations for ordinary cleanup

Prefer reversible trash operations for ordinary cleanup

No parameter schema in public metadata yet.

restore_itemPrefer reversible trash operations for ordinary cleanup

Prefer reversible trash operations for ordinary cleanup

No parameter schema in public metadata yet.

searchThe standard read-only search tool shape used by ChatGPT company knowledge and deep research

The standard read-only search tool shape used by ChatGPT company knowledge and deep research

No parameter schema in public metadata yet.

fetchThe standard read-only fetch tool shape used by ChatGPT company knowledge and deep research

The standard read-only fetch tool shape used by ChatGPT company knowledge and deep research

No parameter schema in public metadata yet.

Sponsors

Configuration

ZOTERO_LIBRARY_ID*secret

Your Zotero user or group library ID

ZOTERO_API_KEY*secret

Zotero API key with read/write permissions

ZOTERO_WEBDAV_URLsecret

WebDAV URL for file storage (if using WebDAV sync)

ZOTERO_WEBDAV_USERsecret

WebDAV username

ZOTERO_WEBDAV_PASSWORDsecret

WebDAV password

Readme

zotero-library-mcp

An MCP server that lets Claude, Codex, and ChatGPT add papers and books to your Zotero library by DOI, arXiv ID, or ISBN — and manage your collections, tags, and items.

The server supports both MCP transports used by these clients:

  • stdio (default) for Claude Code, Claude Desktop, Codex CLI/IDE, and the ChatGPT desktop app
  • Streamable HTTP for a hosted ChatGPT app or any remote MCP client

Tools

Adding papers

  • add_paper_by_doi — Resolve a DOI via CrossRef and add the paper to Zotero (with duplicate detection)
  • add_papers_by_dois — Batch-add up to 50 papers at once
  • add_paper_by_arxiv_id — Add a preprint by arXiv ID (uses DOI when available, falls back to arXiv metadata)
  • add_item_from_metadata — Create any supported Zotero item type from validated manual metadata

Adding books

  • add_book_by_isbn — Resolve an ISBN via Open Library and add the book to Zotero (with duplicate detection)

Searching & browsing


View the full README on GitHub

Details

Repository
github.com/raulsimpetru/zotero-library-mcp
Category
Documents & Knowledge
Package
zotero-library-mcp
Transport
STDIO
Auth
Required
Registry
MCP registry, active

Related Documents & Knowledge MCP servers

View all
1sidney avatarWeb To Markdown Mcpsidney/web-to-markdown-mcpMCP server fetches URL through a real Chromium browser, returns main content as clean Markdown0stars
2vola-trebla avatarFlakiness Knowledge Graph Mcpvola-trebla/flakiness-knowledge-graph-mcpMCP server + Playwright reporter that builds a flakiness knowledge graph from test run history0stars
3atomicstrata avatarllmwikiatomicstrata/llm-wiki-compilerCompile documents into a cited knowledge wiki. Retrieve evidence, query, and review via local MCP.2.2Kstars
4basicmachines-co avatarBasic Memorybasicmachines-co/basic-memoryLocal-first knowledge management with bi-directional LLM sync via Markdown files.4.5Kstars
5sylphxai avataranymdsylphxai/anymdAny file → clean Markdown for AI agents: PDF, Office, EPUB, HTML, images, audio/video. Local MCP.1.1Kstars
6docsagent avatarDocsAgent — Zotero, Obsidian & Apple Notes MCP Serverdocsagent/docsagentInstant, private access to your knowledge base: Zotero, Obsidian, Apple Notes (macOS).578stars