Zotero Batch Update
zotero_batch_updateBatch-edit Zotero item metadata in one call: add or remove tags and upsert or remove Key: value Extra lines, selected by item keys, search query, or tag.
Instructions
Edit metadata across many items in one call: add/remove tags and upsert/remove Key: value lines in Extra (Better BibTeX keys, tex.* fields). Select items by item_keys, and/or a free-text query, and/or an existing tag (query and tag are ANDed; tag may be a list to OR); item_keys wins. At least one selector AND one action are required. add_tags/remove_tags keep the item's other tags — not a replace-all. set_keys upserts Extra lines, matching a line case-insensitively by its key: prefix and replacing it in place, else appending; remove_keys deletes those lines; lines without a colon are preserved. limit: max items for query/tag selection (default 50, at most 1000); the report says when more matched. A query-only selection leaves attachments out; Extra edits skip attachments, notes and annotations. Items needing no change are skipped and counted. Requires a writable library. Example: zotero_batch_update(tag='to-read', add_tags=['reviewed'], remove_tags=['to-read']).
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "zotero_batch_update"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| tag | No | ||
| limit | No | ||
| query | No | ||
| add_tags | No | ||
| set_keys | No | ||
| item_keys | No | ||
| remove_keys | No | ||
| remove_tags | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |