zotero_get_annotations
Retrieve highlights and notes from PDF/EPUB attachments, filtered by a specific item key or across the entire Zotero library, with markdown or JSON output and optional PDF extraction fallback.
Instructions
Get annotations (highlights and attached notes on PDF/EPUB attachments) for a specific item or across the active Zotero library. item_key: pass the parent item key OR an attachment key — both work; attachment-to-parent resolution is automatic. ALWAYS pass item_key when you know which item you want; calling without it returns every annotation in the library (potentially thousands). use_pdf_extraction=True falls back to direct PDF parsing when the Zotero API has no stored annotation record — useful for annotations made outside Zotero desktop. limit: cap on annotations returned; None (default) returns all. format='markdown' (default) returns a readable list; format='json' returns normalized records with stable keys for downstream scripts and other MCP tools. Uses Better BibTeX when Zotero desktop is running locally, otherwise the Zotero web API. Example: zotero_get_annotations(item_key='ABC12345') → every highlight/note on that paper.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of annotations to return | |
| format | No | ``markdown`` for human-readable output or ``json`` for normalized structured records. | markdown |
| item_key | No | Optional Zotero item key/ID to filter annotations by parent item | |
| use_pdf_extraction | No | Whether to attempt direct PDF extraction as a fallback |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |