cli-anything-zotero: Zotero for AI agents
cli-anything-zotero
The zotero-cli command manages a local Zotero library: search, DOI import, BibTeX export, PDFs, notes, DOCX citations
- 142 ★ on the repository
- Last commit
- Apache-2.0
Broad access
Why this level
- The agent gets privileged JavaScript inside Zotero and can change and delete library data
- The arbitrary-code mode opens full access to the library and attached files
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add cli/cli-anything-zoteroDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- The agent gets privileged JavaScript inside Zotero and can change and delete library data
- The arbitrary-code mode opens full access to the library and attached files
This is third-party code. Review the repository files before installing.
What it does
cli-anything-zotero installs the `zotero-cli` command through which an agent works with a local Zotero library. Access goes through a JS Bridge, a light Zotero plugin with a privileged JavaScript endpoint, so the Zotero desktop app must be running. Writing needs no API key or internet. Commands cover keyword and full-text PDF search, the collection tree and tags. Import accepts DOI, PMID, RIS and BibTeX files and JSON, and export gives BibTeX, CSL-JSON, RIS, CSV and formatted citations. The agent attaches PDFs, finds missing files online, searches annotations, updates metadata, writes notes and triggers sync. For Word texts there are `docx` commands: `{{zotero:ITEMKEY}}` placeholders become static citations with a bibliography, or refreshable Zotero fields when LibreOffice and its Zotero plugin are installed. The `auto` mode picks the dynamic variant when it is available, and `docx doctor` checks readiness. There is also semantic search over local embeddings, and an advanced mode can run your own JavaScript in Zotero.
Who it is for. Researchers and students with a large Zotero library who hand routine work to an agent: importing sources, finding PDFs, exporting and placing citations.
Good fit when
- You need papers on diabetes and kidney disease found in your library by PDF text
- A source by DOI should be added to a specific collection in a single sentence
- A thesis needs a collection exported to BibTeX or CSL-JSON
- Some items have no PDF and the agent should find and attach them
- A DOCX draft contains citation placeholders that must become real references
Not a fit when
- You need cloud use without Zotero running: the tool automates the local client
- You need an MCP server: after version 0.9.5 development is CLI and SDK, and MCP is frozen
- You want refreshable citation fields on a machine without LibreOffice: only static mode works
- The library holds other people's data with no backup: write operations change metadata and notes
Example request
Find papers about diabetes and kidney disease in my Zotero library and export their collection as BibTeX.Limitations
Python 3.10 or newer, Zotero 7 or newer running, and the CLI Bridge plugin that `zotero-cli app install-plugin` installs are required. Through the plugin the agent gets privileged JavaScript inside Zotero, and the arbitrary-code mode gives full access to the library.
Dynamic Word citations need LibreOffice and its Zotero plugin and are fully tested on macOS. MCP support stopped at version 0.9.5, and after that there is only the CLI and SDK. Make a library backup before bulk edits.
How to disable. Run `pip uninstall cli-anything-zotero` and remove the CLI Bridge plugin in Zotero's add-ons window. The Zotero library itself is left untouched.
FAQ
How do I install cli-anything-zotero?
Run `pip install cli-anything-zotero`, then `zotero-cli app install-plugin` for the CLI Bridge plugin. Zotero 7 or newer must be running, with Python 3.10 or higher.
Is a Zotero API key needed?
No. Write operations run locally through the JS Bridge and need no key or internet. The tool does not stand in for the cloud API.
What about MCP?
Version 0.9.5 stayed the last with the `zotero-mcp` command and the `[mcp]` extra. New releases ship as CLI and SDK, and MCP users are advised to pin `cli-anything-zotero[mcp]==0.9.5` or take the `legacy/mcp` branch.
How do I insert citations into DOCX?
The agent writes `{{zotero:ITEMKEY}}` placeholders in the text, then `zotero-cli --json docx cite draft.docx --output draft-cited.docx --mode auto --force` turns them into citations. Dynamic mode needs LibreOffice and the Zotero plugin, and static mode does not.
How is it different from a regular Zotero MCP?
Here access goes through the local client and a JS Bridge with full write operations and DOCX citations. The Zotero MCP servers in the catalogue work through the cloud API or read the database.
Discussion
No questions or reviews yet.
Related
CLI toolsA Zotero MCP server: keyword and semantic search, PDF passages with page numbers, CSL citations and adding papers by DOI
A skill that manages a Zotero library from the terminal: search, adding, notes, collections and merging duplicates.
A local MCP server lets an agent search your Zotero library, Obsidian vault and Apple Notes through a C++ search core
A skill that links the agent to your Zotero library through a local JSON CLI with no MCP server: search, PDFs, annotations, notes.
A Zotero plugin with a built-in MCP server: the agent searches the library, reads PDFs and notes, and works with annotations and metadata
CLI set for agents on Windows: drives WPS Office and Microsoft Office, Photoshop and Illustrator through COM, plus Zotero with 27 academic skills
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| cli-anything-zotero: Zotero for AI agents (this card) | no | 142 | ||
| Zotero MCP | no | not required | 1,278 | a Zotero MCP server with search and reading but no CLI or DOCX citations |
| Zotero Research Assistant Skill | no | 98 | a skill for research tasks without library management commands |
README in short
The README splits material into a section for non-programmers, capabilities, a comparison of static and dynamic DOCX citations, a two-step install and example requests to an agent. The project is built on CLI-Anything from HKUDS. Detailed commands are in `docs/COMMANDS.md` and plans in `docs/ROADMAP.md`.