Skip to main content
Glama
ARHashemi

zotero-claude-mcp

by ARHashemi

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ZOTERO_API_KEYNoYour Zotero API key, used for web API access. Read/write permission needed for write tools; read-only is fine for everything else.
ZOTERO_USER_IDNoYour numeric Zotero user ID, used for web API access.
ZOTERO_DATA_DIRNoPath to your Zotero data directory, if it is not found automatically.
ZOTERO_LIBRARY_TYPENoLibrary type, e.g. 'user'. Defaults to 'user'.user
ZOTERO_DEFAULT_SOURCENoDefault source for read tools: 'local' or 'web'. Defaults to 'local'.local
ZOTERO_BASE_ATTACHMENT_PATHNoBase path for attachment files, if needed.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
zotero_searchA

Search the user's Zotero library for references by keyword, author, tag, item type, year or collection. Returns a ranked list with title, authors, year, venue and the item key needed by the other tools. Use this first for any question about what is in the user's library or to find a paper they have saved.

zotero_get_itemA

Fetch the complete record for one or more Zotero items by item key: every metadata field, all creators, tags, collections, attached notes (as plain text) and attachment file paths. Use after zotero_search when you need abstracts, DOIs, notes or the PDF path.

zotero_fulltext_searchA

Search the full text of PDFs and notes stored in the library (not just metadata), returning the parent references that contain the phrase. Use when the user asks which of their papers discuss or mention something.

zotero_collectionsA

List the library's collections as a tree, with item counts and collection keys.

zotero_collection_itemsA

List the references in a collection, by collection key or (local) name.

zotero_tagsA

List tags used in the library with how many items carry each one.

zotero_recentA

List the most recently added or modified references — useful for 'what have I saved lately'.

zotero_attachmentsA

Resolve the on-disk paths of files (PDFs, HTML snapshots) attached to the given items, so the PDF can then be read with the Read tool. Local source only.

zotero_bibliographyA

Format references as a bibliography or in-text citations in any CSL style (apa, chicago-note-bibliography, ieee, nature, vancouver, …). Uses zotero.org's citation processor when a web API key is configured; otherwise falls back to a plain author–date rendering from local metadata.

zotero_librariesA

List available libraries: local libraries on this machine and group libraries on zotero.org.

zotero_create_itemA

Save a new reference to the user's Zotero library via the web API (it then syncs to the desktop app). Requires a configured API key with write access. Ask the user before writing unless they clearly asked you to save something.

zotero_add_noteB

Attach a note to an existing Zotero item (or add a standalone note) via the web API. Requires a configured API key with write access.

zotero_create_collectionA

Create a collection (folder) in the user's Zotero library via the web API, optionally nested under a parent. If a collection with the same name already exists under that parent, its key is returned instead of making a duplicate. Returns the collection key.

zotero_update_collectionA

Rename a collection and/or move it under another parent (or to the top level) via the web API.

zotero_delete_collectionA

Delete a collection via the web API. The items in it are NOT deleted — they stay in the library and in any other collections. Refuses if the collection has subcollections. Always confirm with the user first.

zotero_add_to_collectionA

File existing items into a collection via the web API (items can be in several collections at once; this does not remove them from others). Works in batches, so pass all the keys in one call. Set create=true to make the collection if it doesn't exist.

zotero_remove_from_collectionA

Take items out of a collection via the web API. The items themselves stay in the library.

zotero_update_itemA

Edit an existing item's metadata via the web API: set or clear any fields (title, date, DOI, abstractNote, volume, pages, extra, …), replace its creators, add or remove tags. Only the fields you pass are changed.

zotero_tag_itemsA

Add and/or remove tags on many items at once via the web API.

zotero_rename_tagA

Rename a tag on every item that carries it (merging into the new name if it already exists), via the web API.

zotero_delete_tagsA

Remove tags from the whole library (from every item) via the web API. Items are untouched otherwise. Confirm with the user first.

zotero_trash_itemsA

Move items to the Zotero trash (recoverable), or restore them from it with restore=true, via the web API. Never deletes permanently. Confirm with the user first.

zotero_statusA

Report how this connector is configured: data directory, item counts, whether the web API key works, and what to fix if something is missing.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.8/5.0

Scored across 23 tools

Disambiguation5/5

Each tool targets a distinct resource or action: search vs fulltext search vs recent, item retrieval vs attachment path resolution, and separate collection/tag operations are clearly scoped. The descriptions reinforce the boundaries, so an agent should rarely misselect.

Naming Consistency4/5

All tools share the zotero_ prefix and most action tools follow verb_noun (create_item, update_collection, rename_tag, trash_items). A few noun-only names like zotero_recent, zotero_attachments, and zotero_collections break the otherwise consistent pattern, but the convention remains predictable and readable.

Tool Count3/5

23 tools is on the heavy end for an MCP server, though the Zotero domain legitimately spans items, collections, tags, notes, search, bibliography, and configuration. The count feels justified but is slightly beyond the ideal well-scoped range.

Completeness5/5

The tool surface covers the core library lifecycle thoroughly: search and retrieval, item creation/update/trash, notes, collection CRUD, tag management, bibliography generation, attachment resolution, and status diagnostics. There are no major dead ends or obvious missing operations for the stated purpose.

Maintenance

ActivityMaintained
ResponsivenessNo issues