zotero_search_items
Search items by author, year, or title using substring matching. Returns metadata and abstracts; automatically falls back to semantic search if no results are found.
Instructions
Search Zotero items by substring match against metadata (title, creators, year, and — in 'everything' mode — abstract). Returns metadata + abstracts as markdown. IMPORTANT: keep queries SHORT and SIMPLE — 'Author Year' (e.g. 'Brewer 2011') or just an author name ('Cladder-Micus'). This is substring matching, not web search: each extra word NARROWS the match, so adding topic words usually returns fewer results, not more. For topic discovery, use zotero_semantic_search instead; for tag filtering use zotero_search_by_tag. If a query finds nothing, this tool automatically falls back to simplified queries and then semantic search. query: required substring. qmode: 'titleCreatorYear' (default) matches only title/authors/year; 'everything' also searches abstract. item_type: '-attachment' (default) excludes attachments; pass 'journalArticle', 'book', etc. to filter. tag: optional list of tag conditions (ANDed). limit: max results (default 10). collection_key: 8-char key to restrict to a collection (bypasses the fallback cascade). Example: zotero_search_items(query='Cladder-Micus') or zotero_search_items(query='Brewer 2011', limit=5).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query string | |
| qmode | No | Query mode (titleCreatorYear or everything) | titleCreatorYear |
| item_type | No | Type of items to search for. Use "-attachment" to exclude attachments. | -attachment |
| limit | No | Maximum number of results to return | |
| tag | No | Tag filter. Accepts ["tagA", "tagB"] (preferred), a bare string "tagA", a JSON-string list '["tagA", "tagB"]', or the dict-shape [{"tag": "tagA"}] sometimes emitted by clients that confuse the filter form with Zotero's stored-tag form. All are normalized internally to the list[str] form pyzotero expects. | |
| collection_key | No | Optional collection key to scope the search to a specific collection. When provided, bypasses the fallback cascade and searches the collection directly. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |