Zotero Native MCP server
Read and write your local Zotero 10 library. No plugin, no zotero.org API key, no cloud.
5 stars67 downloads/wk
Reviews
Write oneNobody has reviewed Zotero Native MCP yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Zotero Native MCP tools (28, 8 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
zotero_add_items_to_collectionFile existing items into a collection, keeping every collection they already belong to. An
zotero_attach_fileAttach a file from disk to a Zotero item, or add it as a standalone attachment. mode="linked"
zotero_authorizeRequest a local API key so write tools (creating collections, items, and attachments) can
zotero_create_collectionwrite actionCreate one or more collections, optionally nested under an existing collection. Up to 50 per
zotero_create_itemswrite actionCreate up to 50 items in one call. Set `collections` on an item to file it into collections
zotero_delete_collectionwrite actionMove collections to Zotero's trash, which is reversible and the default. The items inside
zotero_delete_itemswrite actionMove up to 50 items to Zotero's trash, where the user can restore them from the Zotero
zotero_empty_trashPermanently erase every item in the trash. This is irreversible and removes attachment
zotero_export_itemsExport items in a citation format. Use format "bibtex", "biblatex", "ris", "csljson", "csv"
zotero_get_attachment_pathResolve an attachment to its absolute path on this machine, so the file can be opened and
zotero_get_collectionFetch one collection by key, including its name, parent collection, item count and current
zotero_get_itemFetch one item by key with all of its metadata. Set includeChildren to also return its notes
zotero_get_item_childrenList the child notes, attachments and annotations of an item. Attachment children carry the
zotero_get_item_fulltextReturn the indexed full text of an attachment. Passing a regular item key works too: its
zotero_get_item_type_fieldsList the valid field names and creator types for a Zotero item type, or list every item
zotero_list_collectionsList collections in a library. scope="all" returns every collection flat (each carrying its
zotero_list_librariesList the personal library and every group library available locally. Use this to get the
zotero_list_saved_searchesList the saved searches defined in the library, with their conditions. Run one with
zotero_list_tagsList tags in the library, optionally only those used within one collection or matching a
zotero_list_trashList the items currently in Zotero's trash, which are the ones zotero_restore_items can
zotero_remove_items_from_collectionwrite actionRemove items from one collection. The items stay in the library and in any other collection
zotero_restore_collectionBring collections back out of Zotero's trash, undoing a non-permanent
zotero_restore_itemsBring items back out of Zotero's trash, undoing a non-permanent zotero_delete_items. The
zotero_run_saved_searchwrite actionExecute a saved search and return the matching items. The search runs against the local
zotero_search_itemsSearch the local Zotero library. `q` runs Zotero's quicksearch: qmode "titleCreatorYear"
zotero_statusCheck that the local Zotero instance is running and reachable, and report its version,
zotero_update_collectionwrite actionRename a collection and/or move it under a different parent. Pass parentCollectionKey=null to
zotero_update_itemwrite actionPatch fields on an existing item. Only the fields passed in `fields` change; everything else
Public scan report
scanner v0.1.9 · 2026-09-20 · same rubric, same numbers if you re-run it
- Code scan14 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 16 days ago15/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Install directly
Runs npx -y zotero-native-mcp on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add zotero-native-mcp -- npx -y zotero-native-mcp
Zotero Native MCP: common questions
- Is Zotero Native MCP server safe?
- Yes, by our scan: it is graded A (92/100). Read the Zotero Native MCP safety report
- How do I install Zotero Native MCP?
- It runs on your machine. Copy the Claude Code, Claude Desktop or Cursor config from the install section.
- Does Zotero Native MCP need an API key?
- No secret keys are declared. It reads 2 settings from the environment.
- Is Zotero Native MCP maintained?
- The last commit was 17 days ago (2026-09-04). The latest release is v1.0.1.
- What can I use instead of Zotero Native MCP?
- Servers from other publishers that do the same job: Compartment MCP server.
Alternatives to Zotero Native MCP
Same job from other publishers: the closest match first, then the best rated.
- CompartmentDurable agentic memory, encrypted at rest. Fully offline: no network, no API key, no cloud.not reviewedEstablishedA