List the key owner's personal library and a page of shared group libraries.
Use the returned library_id and library_type on subsequent tool calls.
This does not change the default library. Pagination applies to groups;
the personal library is included on each page. Key permissions are not a
guarantee of group membership rights; Zotero enforces access on each call.
Add a paper to your Zotero library by its DOI.
Resolves metadata automatically via CrossRef and creates the item in Zotero.
Optionally add it to a specific collection.
Args:
doi: The DOI of the paper (e.g. "10.1038/nature12373")
collection_id: Optional Zotero collection key to add the paper to
Pass both library_id and library_type to target another library;
omit both to use the configured default.
Add multiple papers to Zotero by their DOIs (batch, up to 50).
Args:
dois: List of DOIs to add
collection_id: Optional Zotero collection key to add all papers to
Pass both library_id and library_type to target another library;
omit both to use the configured default.
Add a paper to your Zotero library by its arXiv ID.
Fetches metadata from the arXiv API. If the paper has a DOI, resolves it
via CrossRef for richer metadata; otherwise creates a preprint entry directly.
Optionally add it to a specific collection.
Args:
arxiv_id: The arXiv ID of the paper (e.g. "2301.07041")
collection_id: Optional Zotero collection key to add the paper to
Pass both library_id and library_type to target another library;
omit both to use the configured default.
Add a book to your Zotero library by its ISBN.
Resolves metadata automatically via Open Library and creates the item in Zotero.
Optionally add it to a specific collection.
Args:
isbn: The ISBN of the book (e.g. "9780262046824")
collection_id: Optional Zotero collection key to add the book to
Pass both library_id and library_type to target another library;
omit both to use the configured default.
Add an item from manual, CSL-like, or previously parsed metadata.
The Zotero item template determines which fields are accepted for the
requested item type, preventing invalid cross-type metadata.
Pass both library_id and library_type to target another library;
omit both to use the configured default.
Get items that are not in any collection (unfiled items).
Args:
limit: Maximum number of items to return (default 25)
Pass both library_id and library_type to target another library;
omit both to use the configured default.
Search your Zotero library. Falls back to fuzzy matching if the
exact search returns no results.
Args:
query: Search query (searches titles, authors, tags, etc.)
limit: Maximum number of results per page (default 10, max 100)
start: Offset of the first result; pass the value suggested by the
previous call's footer to fetch the next page (default 0)
Pass both library_id and library_type to target another library;
omit both to use the configured default.
Get full details of a Zotero item by its key.
Args:
item_key: The Zotero item key
Pass both library_id and library_type to target another library;
omit both to use the configured default.
Export BibTeX entries from your Zotero library.
Can export specific items, an entire collection, or your whole library.
Use save_bibtex when the export should be written to a local file.
Args:
item_keys: Optional list of item keys to export. If omitted, exports collection or full library.
collection_id: Optional collection key to export all items from.
include_abstract: Include abstracts in BibTeX output (default False to save tokens).
biblatex: Convert output to BibLaTeX format (default False). Remaps fields like journal→journaltitle, address→location, and merges year+month into date.
max_chars: Maximum response size; use save_bibtex for larger full-library exports
Pass both library_id and library_type to target another library;
omit both to use the configured default.
Export BibTeX or BibLaTeX and atomically write it to a local file.
Path writes are available by default over local stdio. HTTP deployments
must explicitly allow a confined file root.
Pass both library_id and library_type to target another library;
omit both to use the configured default.
Get bounded plain text from a paper's PDF or Zotero full-text index.
Unlike download_pdf, this returns readable text directly and never
exposes a server-local temporary path.
Args:
item_key: The Zotero item key (the parent item, not the attachment)
attachment_key: Optional PDF attachment key when an item has several PDFs
max_chars: Maximum number of characters to return (1,000-200,000)
Pass both library_id and library_type to target another library;
omit both to use the configured default.
+38 more tools listed on main page