Zotero MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ZOTERO_MCP_CONFIG | No | Specify the path to the configuration file. | |
| ZOTERO_MINERU_LEDGER | No | Specify the path to the MinerU ledger CSV file. | |
| ZOTERO_MCP_CONFIG_DIR | No | Specify the directory for the configuration file. |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| zotero_pingA | Test access to the configured Zotero Local API from the current environment. |
| zotero_searchA | Search Zotero items and resolve local PDF attachment paths. |
| zotero_matchA | Find the best Zotero item by exact or near-exact title/DOI. |
| zotero_itemA | Show one Zotero item as readable metadata, complete JSON, or a Better BibTeX export. Markdown remains the default and includes local PDF paths. |
| zotero_childrenA | List child attachments/notes for one Zotero parent item key. |
| zotero_get_citation_keyA | Resolve the Better BibTeX citation key for one exact Zotero item key. Uses the running Better BibTeX plugin first, then its stored Zotero citationKey/Extra field when available. |
| zotero_collectionsA | List Zotero collections with full nested paths, keys, and direct item/subcollection counts. |
| zotero_resolve_collectionA | Resolve one exact Zotero collection key, globally unique name, or full path. Fails closed on missing, duplicate, deleted, or malformed collections. Similar candidates are suggestions only and are never selected automatically. |
| zotero_item_collectionsA | Show every Zotero collection containing an item. Child attachment/note keys are resolved to their top-level parent item. |
| zotero_collection_itemsA | List items assigned to an exact Zotero collection key or collection reference, optionally including nested subcollections with duplicate items removed. |
| zotero_web_api_statusA | Read-only check for official Zotero Web API credentials, expected user ID, personal-library write permission, and file-write permission. Performs no write. |
| zotero_plan_paper_importA | Read-only preflight for up to 50 papers. Exact DOI, PMID, PMCID, and arXiv IDs may match existing items. A title-only match is always ambiguous. Reports create, collection-union, unchanged, manual, invalid, or ambiguous actions. Never touches PDFs. |
| zotero_apply_paper_importA | Apply a preflighted batch of up to 50 papers through the official Zotero Web API. Rescans the local library, performs fail-closed cloud exact-ID checks before creation, resolves DOI/PMID/arXiv metadata, and versions collection unions for existing items. Never removes memberships, merges items, edits existing metadata, or creates/downloads/uploads PDF attachments. Zotero desktop sync makes cloud writes visible locally. Requires confirm=true. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 13 tools
Each tool targets a distinct resource and action: search, match, item detail, children, citation keys, collections (list/resolve), item-collection relationships, web API status, and import plan/apply. Even related tools like plan and apply are clearly separated by preflight vs. execution.
All tools share a consistent 'zotero_' prefix, but the naming convention mixes verbs (ping, search, match, get_citation_key, resolve_collection, plan/apply_paper_import) and nouns (item, children, collections, item_collections, collection_items, web_api_status). This is readable but not a uniform verb_noun pattern.
13 tools is well within the ideal 3-15 range for a purpose-specific server. Each tool contributes meaningfully to the Zotero workflow without redundancy or bloat.
The tool set covers search, retrieval, collection management, item relationships, citation keys, and a robust import workflow (plan + apply). It avoids direct item create/update/delete and attachment upload, which are meaningful gaps if full Zotero management were expected, but the scope appears intentionally read-and-import oriented.