zotero-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ZOTERO_LOCAL | No | Use local Zotero desktop API (requires Zotero running). Set to 'false' to use Web API. | true |
| ZOTERO_API_KEY | No | Zotero Web API key (required if not using local mode). | |
| ZOTERO_USER_ID | No | Zotero user ID (required if not using local mode). |
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": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_itemsB | Search items in Zotero library with optional filters |
| get_itemB | Get detailed metadata for a single Zotero item |
| get_collectionsB | List all collections in the Zotero library |
| get_collection_itemsC | List items in a specific Zotero collection |
| find_duplicatesC | Find duplicate items by title or DOI, or scan entire library |
| get_tagsB | List tags in the Zotero library |
| create_itemC | Create a new item in Zotero |
| create_item_from_doiA | Create a Zotero item from a DOI (auto-fills metadata) |
| import_bibtexC | Import BibTeX entries into Zotero |
| update_itemC | Update fields on an existing Zotero item |
| create_collectionC | Create a new Zotero collection |
| add_to_collectionsC | Add a Zotero item to one or more collections |
| remove_from_collectionA | Remove a Zotero item from a collection (does not delete the item) |
| merge_duplicatesC | Merge duplicate Zotero items: transfer metadata, tags, collections to keeper, trash rest |
| delete_itemB | Delete a Zotero item (move to trash or permanently delete) |
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 15 tools
Each tool has a clearly distinct purpose targeting specific Zotero operations like collection management, item CRUD, duplicate handling, and import/search functions. There is no significant overlap between tools - for example, 'add_to_collections' and 'remove_from_collection' are complementary but distinct operations, and 'create_item' vs 'create_item_from_doi' serve different creation workflows.
All tools follow a consistent verb_noun naming pattern throughout (e.g., create_collection, get_item, search_items, import_bibtex). The naming is perfectly predictable and readable, with no mixing of conventions or inconsistent verb styles across the toolset.
With 15 tools, this server provides comprehensive coverage of Zotero's core functionality without being overwhelming. The count is well-scoped for a reference management system, covering collections, items, duplicates, imports, and searches - each tool earns its place in the domain.
The toolset provides complete CRUD/lifecycle coverage for Zotero's domain: full item management (create, get, update, delete), collection operations (create, get, add/remove items), duplicate handling (find and merge), import capabilities, and search functionality. There are no obvious gaps that would cause agent failures in typical reference management workflows.