Local Zotero MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_itemsA | Search the library by title/creator/year or full text. Args: query: Search text. qmode: "titleCreatorYear" (default) or "everything" for a full-text search. item_type: Optional item type filter (e.g. "book", "journalArticle"). tag: Optional tag filter. limit: Maximum number of results (1-100). |
| get_itemB | Get the full data for a single item. Args: item_key: The item's Zotero key. include_bib: If true, also include a formatted citation and bibliography entry. style: CSL style to use for the citation/bibliography when include_bib is true. |
| get_item_childrenB | List the notes and attachments attached to an item. |
| list_collectionsA | List collections in the library. Args: top_level_only: If true, only return top-level collections (no subcollections). |
| get_collection_itemsA | List items in a collection. Args: collection_key: The collection's Zotero key. top_level_only: If true, exclude child items (e.g. notes/attachments). limit: Maximum number of results (1-100). |
| list_tagsA | List tags used in the library. Args: filter: Optional substring to filter tag names by. limit: Maximum number of results (1-100). |
| get_bibliographyA | Generate a formatted bibliography for one or more items. Args: item_keys: Zotero keys of the items to include. style: CSL style name (e.g. "apa", "chicago-note-bibliography"). locale: Locale for the bibliography (e.g. "en-US"). |
| list_saved_searchesA | List saved searches defined in the library. |
| execute_saved_searchA | Run a saved search and return the matching items. Args: search_key: The saved search's Zotero key. limit: Maximum number of results (1-100). |
| get_attachment_file_pathA | Get the local filesystem path of an attachment's file. Args: item_key: The attachment item's Zotero key. |
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 10 tools
Each tool has a clearly distinct purpose: searching, retrieving single items, listing collections/tags/saved searches, generating bibliographies, and resolving attachment paths. There is no overlap or ambiguity between them.
All tool names follow a consistent snake_case verb_noun pattern (e.g., get_bibliography, search_items, list_collections, execute_saved_search). The verbs are semantically appropriate and the naming is predictable.
With 10 tools, the set is well-scoped for a local Zotero MCP. It covers the primary read and search operations without unnecessary bloat, and each tool serves a functional need.
The tool set thoroughly covers read access to a Zotero library: searching, retrieving items, navigating collections/tags/saved searches, generating bibliographies, and locating attachment files. The only notable gap is the lack of write operations (create/update/delete), but the server appears intentionally read-only, so this is a minor limitation.