Releases: XiangweiW/deepread
Release list
v0.2.0 — Write tools (notes, tags, annotations)
What's new
DeepRead's MCP server now supports bidirectional Zotero: AI agents can not only read your library, they can save their insights back as notes, tags, annotations, and collection assignments.
5 write tools
add_note— markdown child notes with optional title and user tagsadd_tag/remove_tag— manage tags on an itemadd_to_collection— move existing items into collectionsadd_annotation— sticky-note comments on the first PDF of an item (with optional page label and color)
Safety
- Write tools are off by default. Tick Settings → DeepRead → "Allow write operations" to enable them. Read tools work as before.
- Every write is auto-tagged
deepread:mcp. Use Zotero's tag selector to find/undo all model-made changes. - The audit tag cannot be removed via MCP.
Workflow this enables
In Claude Code: "Read the Vaswani 2017 paper, write a 1-paragraph summary as a child note tagged 'attention-mechanism', and add the paper to my 'core-readings' collection." — one prompt, three tools, three writes, one new tag chain you can audit.
Compatibility
- Plugin id and pref namespace unchanged. v0.1.x users upgrade in place.
- New pref
extensions.zotero-copilot.mcpAllowWritedefaults off — existing setups remain read-only until explicitly enabled.
See docs/MCP.md for the full tool reference and install snippets.
Full Changelog: v0.1.0...v0.2.0
v0.1.0 — MCP server for Claude Code / Cursor / Codex CLI
What's new
DeepRead now ships an MCP (Model Context Protocol) server. Use your existing Claude Code / Cursor / Codex CLI / Copilot subscription to chat with your Zotero library — no separate API key needed.
Install
Zotero plugin — download zotero-copilot-0.1.0.xpi and install via Tools → Plugins → ⚙ → Install Plugin From File.
MCP server (after the plugin) — turn on Settings → DeepRead → Enable MCP server, then in your IDE:
- Claude Code:
claude mcp add --scope user deepread -- npx -y deepread-mcp - Cursor: click "Add to Cursor" in plugin settings (one-click deeplink)
- Codex CLI: paste the snippet shown in plugin settings into
~/.codex/config.toml - Other MCP clients: copy the generic JSON config from plugin settings
See docs/MCP.md for full details.
7 tools exposed
search_library, get_item, get_item_fulltext, list_collections, search_collection, rag_query, get_annotations
rag_query reuses the same embedding index the in-Zotero sidebar builds — no double indexing.
Other changes
- Restructured to npm-workspaces monorepo (
packages/{shared, zotero-plugin, mcp-server}) - All previous features unchanged: sidebar chat, collection RAG overlay, prefs pane, copy controls, collapsible sidebar
- Same plugin id
zotero-copilot@xiangweiw.devand same pref namespace, so 0.0.x users upgrade in place without losing API keys / collection indexes
Known caveats
- MCP server is off by default — toggle it in Settings → DeepRead before connecting any client
- Tools are read-only — annotation write-back lands in the next release
- Long RAG queries: stdio bridge has a soft ~60s timeout in some clients;
rag_queryreturns top-K excerpts so the model synthesizes the answer (rather than the server doing slow synthesis)
Full Changelog: v0.0.2...v0.1.0
v0.0.2 — Initial public release
First public release of DeepRead.
Install
- Download
zotero-copilot-0.0.2.xpibelow. - In Zotero: Tools → Plugins → ⚙ (gear) → Install Plugin From File...
- Pick the downloaded file. Restart Zotero if prompted.
- Open Settings → DeepRead and set your Anthropic or Gemini API key.
What's included
- Single-paper chat sidebar in the PDF reader (Anthropic Claude / Google Gemini, streaming)
- Right-click "Ask DeepRead" on PDF text selections
- Collection-level RAG: right-click any collection → "Analyze with DeepRead" → draggable / resizable floating chat with retrieval over all papers in the collection
- Native Zotero preferences pane
- Save chat transcripts as Zotero child notes
- Collapsible sidebar, copy / select-all / raw-text toolbar on every assistant message
Compatibility
- Tested on Zotero 9.0.1 / macOS 14
- Plugin id:
zotero-copilot@xiangweiw.dev(kept for backward compat with internal pref keys) - Manifest accepts Zotero 6.999 → *; should work on Zotero 7.x and later
Known limitations
- Drag-to-select inside chat bubbles is unreliable in Zotero's chrome iframe — use the toolbar buttons (✎ / ⊟ / ⧉)
- Gemini free tier has rate limits on some models;
gemini-2.5-flashworks - Collection RAG requires Zotero full-text indexing of PDFs (auto-triggered)
Full Changelog: https://github.com/XiangweiW/deepread/commits/v0.0.2