mcp-zotero
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ZOTERO_LOCAL | No | Use Zotero Local API (requires Zotero app running). Default: 'true'. | true |
| RAG_INDEX_DIR | No | Where to store index data. Default: '~/.zotero-rag'. | ~/.zotero-rag |
| RAG_CHUNK_SIZE | No | Target chunk size in tokens. Default: '512'. | 512 |
| RAG_ENABLE_OCR | No | Enable docling OCR fallback for scanned PDFs. Default: 'false'. | false |
| ZOTERO_API_KEY | No | Web API key from zotero.org/settings/keys (required for writes). | |
| ZOTERO_LOCAL_KEY | No | Local API key (required for reading via local API). | |
| RAG_CHUNK_OVERLAP | No | Overlap between chunks. Default: '50'. | 50 |
| ZOTERO_LIBRARY_ID | Yes | Your Zotero library ID. | |
| RAG_EMBEDDING_MODEL | No | Sentence transformer model. Default: 'all-MiniLM-L6-v2'. | all-MiniLM-L6-v2 |
| ZOTERO_LIBRARY_TYPE | No | Library type: 'user' or 'group'. Default: 'user'. | user |
| ZOTERO_ATTACHMENTS_DIR | No | Path to Zotero storage directory (required for RAG tools). |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| pingA | Basic liveness check. |
| health_checkA | Validate configuration without making API calls. |
| search_itemsC | Search items by free-text query. |
| get_itemC | Retrieve a single item and (optionally) its children. |
| top_itemsC | Retrieve top-level items. |
| trash_itemsC | Retrieve items in the trash. |
| deleted_itemsC | Retrieve deleted items (requires since). |
| list_searchesC | Retrieve saved searches. |
| list_groupsC | Retrieve user groups. |
| list_collectionsC | Retrieve collections. |
| list_collections_topC | Retrieve top-level collections. |
| list_collections_subB | Retrieve subcollections for a collection. |
| get_collectionC | Retrieve a collection. |
| collection_itemsC | Retrieve items in a collection. |
| collection_items_topB | Retrieve top-level items in a collection. |
| collection_tagsB | Retrieve tags for a collection. |
| list_tagsC | Retrieve tags. |
| item_tagsB | Retrieve tags for a specific item. |
| item_typesB | Retrieve item types. |
| item_fieldsB | Retrieve item fields. |
| item_type_fieldsC | Retrieve fields for an item type. |
| creator_fieldsC | Retrieve creator fields. |
| item_creator_typesC | Retrieve creator types for an item type. |
| item_attachment_link_modesB | Retrieve attachment link mode types. |
| download_attachmentsC | Download all file attachments for an item to a local directory. |
| add_itemB | Add an item to Zotero. Optionally attach files (best-effort). |
| update_itemC | Modify fields on an existing item. |
| create_collectionsD | Create collections. |
| update_collectionC | Update a collection's name or parent. |
| delete_collectionC | Delete a collection. |
| add_item_to_collectionC | Add an item to a collection. |
| remove_item_from_collectionC | Remove an item from a collection. |
| delete_itemB | Delete an item. |
| create_saved_searchC | Create a saved search. |
| delete_saved_searchC | Delete saved searches by key. |
| delete_tagsD | Delete tags. |
| attach_fileC | Attach a local file to an existing item (best-effort). |
| attach_linked_fileC | Attach a linked (non-uploaded) local file to an existing item. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/nealcaren/mcp-zotero'
If you have feedback or need assistance with the MCP directory API, please join our Discord server