Pyzotero — Zotero Library Automation
Lets Claude drive the pyzotero client to search, create, update and export your Zotero reference library.
Web & APIIntermediate★ 33,030⑂ 3,248AI score 8/10Last updated: Aug 9, 2026
What it does
Teaches Claude to work fluently with pyzotero, the Python wrapper for the Zotero Web API v3. It covers reading and writing items, collections, tags and attachments; search and sort parameters; pagination via everything(); full-text content access; and BibTeX / CSL-JSON export. Fourteen focused reference files (authentication, error handling, file uploads, plus the local Zotero 7 CLI and MCP server) are loaded on demand instead of bloating the main prompt.
Who it's for
- Researchers and grad students who manage citations in Zotero and want repetitive work automated
- Developers building literature-review pipelines or bibliographic data collection scripts
- Lab managers bulk-importing PDFs and metadata into shared group libraries
Examples
- "Pull 50 items matching 'machine learning' from my Zotero and give me a table sorted by year" →
zot.items(q=...)with sort parameters, rendered as Markdown. - "Add these papers as journalArticle entries in a new collection and attach the PDFs" →
item_template()→create_items()→ attachment upload. - "Export my submission bibliography as a .bib file" →
add_parameters(format='bibtex')on top-level items, saved to disk.
· · · Install guide · · ·
Install in the Claude app (no terminal)
- Download the ZIP with the button below.
- In Claude, open Settings → Capabilities and turn on 'Code execution and file creation'. (one time)
- Go to Customize → Skills → + → 'Upload a skill' and upload the ZIP.
Install in Claude Code
Let Claude do it — paste this into Claude Code
Install the skill I found on Claude Skill Mart. Copy the skills/pyzotero folder from the GitHub repo K-Dense-AI/scientific-agent-skills into my ~/.claude/skills/pyzotero/. When it's done, tell me in one line what this skill can do.
Install with a command instead
git clone https://github.com/K-Dense-AI/scientific-agent-skills.git && mkdir -p ~/.claude/skills && cp -r scientific-agent-skills/skills/pyzotero ~/.claude/skills/⚠ This is a third-party skill. Check the source repository before installing.
- Open a terminal and clone the repository:
git clone https://github.com/K-Dense-AI/scientific-agent-skills.git - Copy the skill into Claude Code:
mkdir -p ~/.claude/skills && cp -r scientific-agent-skills/skills/pyzotero ~/.claude/skills/ - Confirm Python 3.10+ is installed, then add the library:
uv add pyzotero(orpip install pyzotero). - Visit https://www.zotero.org/settings/keys to find your userID and create a new API key.
- Create a
.envfile in your working directory withZOTERO_LIBRARY_ID,ZOTERO_API_KEY, andZOTERO_LIBRARY_TYPE=user(usegroupfor group libraries). Never commit this file. - Restart Claude Code and try a prompt like "show me the 10 most recent items in my Zotero library".
- Because update and delete calls modify your real library, run your first experiments against a throwaway group library.
View source on GitHub ↗License: MIT