zotero_semantic_search
Find relevant papers by semantic similarity to a natural-language query. Search your Zotero library using AI embeddings to locate sources by topic or concept, even without exact keyword matches.
Instructions
Prioritized topic-search tool. Find papers by semantic similarity to a query using AI embeddings — the BEST tool for finding papers on a topic (e.g. 'papers about mindfulness-based therapy'), far more efficient than scanning collection items or reading abstracts. Searches the ACTIVE library by default; pass search_all_libraries=True to cover every indexed library. query: the topic or concept; natural-language phrases work well. limit: max results (default 10). filters: optional metadata filters as a dict (e.g. {'itemType': 'journalArticle', 'year': '2023'}); also accepts a JSON string. library_id: optional — scope to one library other than the active one: 0 or 'user' for personal, else a groupID (see zotero_list_libraries). search_all_libraries: search every indexed library at once, labelling each result with its library; needs ZOTERO_SEARCH_BACKEND=sqlite, excludes library_id. Requires the semantic search database to be POPULATED — run zotero_update_search_database first if you just installed the server or added new items; check readiness with zotero_get_search_database_status. Available only when the [semantic] optional dependency is installed. Example: zotero_semantic_search(query='mindfulness-based cognitive therapy for depression', limit=5).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results to return (default: 10) | |
| query | Yes | Search query text - can be concepts, topics, or natural language descriptions | |
| filters | No | Optional metadata filters as dict or JSON string. Example: {"item_type": "note"} | |
| library_id | No | Optional library scope — 0/"user" for the personal library or a groupID for a group library. Defaults to the active library. | |
| search_all_libraries | No | Search every indexed library at once (#163). Requires the SQLite backend; results are labelled with their source library. Mutually exclusive with library_id. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |