zotero_add_by_doi
Add a publication to your Zotero library by providing a DOI. Resolves rich metadata from CrossRef and optionally downloads the PDF.
Instructions
Add an item to the active Zotero library by DOI, resolving rich metadata (title, creators, journal, year, abstract) from CrossRef. Use this as the FIRST choice when the user gives you a DOI — cleaner metadata than zotero_add_by_url. For arXiv IDs or raw URLs use zotero_add_by_url; for a local PDF use zotero_add_from_file. doi: the DOI string (with or without the '10.' prefix, with or without a leading 'https://doi.org/'). collections: optional list of 8-character collection keys (or collection names — resolved automatically) to file the item under. tags: optional list of tag strings to attach. attach_mode: 'auto' (default) downloads a PDF if CrossRef links one and storage is available; 'none' skips PDF download; 'required' fails if no PDF can be attached. PDF uploads may fail on the Zotero cloud free-tier 300MB quota — metadata still lands even when the upload fails. Requires a writable library (web API key or hybrid mode); fails in local-only mode. Remember to run zotero_update_search_database afterwards to make the new item searchable semantically. Example: zotero_add_by_doi(doi='10.1145/3708319', collections=['9SU943GB'], tags=['MCP']).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| doi | Yes | ||
| collections | No | ||
| tags | No | ||
| attach_mode | No | auto |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |