The combination of Zotero with AI-supported plugins opens up new possibilities for scientific research and analysis. I have already described one of these tools in my article ’The top Zotero extensions I can't live without'.
Here I present the best AI tools that can extend Zotero - including information on costs and supported models. And if you're technically minded, you'll also find a DIY guide at the end to build your own language model based on your library.
By the way: this article is about AI features inside of Zotero. If you’d prefer to connect your library to external assistants such as Claude or ChatGPT instead, you’ll find a useful overview in our article MCP and Zotero: an overview of available tools.
Table of Contents
Beaver: AI research assistant for Zotero
Zotero minimum version: 7.x+
Supported LLMs: OpenAI, Claude, Gemini, DeepSeek, and other providers via custom endpoints (e.g. OpenRouter)
Cost: Free version with 25 credits to try out; unlimited use possible with your own API key. Plus plan from $10/month with 100 credits.
Target group: Researchers with extensive libraries who are looking for deep integration into their Zotero workflow
Beaver was developed by Joscha Legewie, Professor of Sociology at Harvard University. Joscha is also the developer of ZotFile – one of the most widely used Zotero plugins. His deep familiarity with Zotero is evident: the plugin integrates directly into Zotero as a side panel and allows you to search your entire library – including full-text searches within PDFs and page-specific source references.
The built-in reading assistant is particularly handy, as it explains highlighted text passages or formulas directly within the PDF. Furthermore, Beaver can search through over 240 million academic papers outside its own library and helps organise collections and tags, as well as filling in missing or incorrect metadata – with all changes only being applied once confirmed. Beaver also stands out thanks to its extensive Knowledge Base which makes getting started really easy!
llm-for-zotero: The AI research assistant for your library
Zotero minimum version: 7.0+
Supported LLMs: OpenAI, Anthropic (Claude), Gemini, DeepSeek, Grok, Qwen, Kimi and others, as well as any OpenAI-compatible endpoint (e.g. Ollama, LM Studio). Can also be used via WebChat (ChatGPT/DeepSeek), Codex App Server and Claude Code.
Cost: Completely free and open source (AGPL v3). You’ll only incur your provider’s API charges. ChatGPT Plus subscribers can use their existing subscription via the Codex App Server without needing a separate API key; the WebChat mode even works without a key at all.
Target group: Researchers who don’t just want to chat with individual PDFs, but would like to have their entire library managed by an AI agent
llm-for-zotero by Yile Wang is designed as a true agent system and goes well beyond the simple question-and-answer principle. Directly within the Reader, you can summarise papers, have highlighted passages explained, interpret figures via screenshots, and compare multiple papers with one another. Answers are always anchored in the source text – with a single click, you can jump back to the relevant passage.
The highlight is the agent mode (Beta): Here, the LLM autonomously searches your library, adds metadata, assigns tags, organises collections and imports papers via DOI or arXiv ID. Any actions that involve writing data always require confirmation and can be undone. Via the built-in MCP server you can also connect external AI tools such as Claude Desktop to your Zotero library.
PapersGPT (formerly Zotero-ChatPDF or ZoteroChat) is based on zotero-gpt and enables conversation-based analysis of PDFs directly in Zotero. Researchers can ask specific questions about document content without having to read through the entire document, which saves time and helps to find key information more quickly.
PapersGPT also stands out because it supports a large number of LLMs: ChatGPT, Gemini, Claude Sonnet, Meta Llama, Microsoft Phi, Google Gemma and Mistral. The extension also offers completely free LLMs that can be run locally. Unfortunately, this is currently only possible for Mac users.
Cost: Free version with limited access; requires ChatGPT Plus subscription for full access
AskYourPDF is a tool that allows targeted communication with the content of saved PDFs. Researchers can ask questions about the PDF content and have relevant passages displayed, which is particularly helpful for complex texts. This makes it easier to work on specific topics and large PDF files. AskYourPdf is also available as a mobile phone app and as a browser extension (Chrome) and can therefore provide a comprehensive solution.
Reproduced from https://github.com/AskYourPdf/zotero_plugin
Supported LLMs: Scite uses its own NLP algorithms and does not support external LLMs
Cost: Partly free of charge, but extended functions require a paid subscription
Scite is a platform for finding and evaluating scientific articles via Smart Citations. Smart Citations allows users to see how a publication has been cited by providing the context of the citation and a classification describing whether it provides supporting or contrasting evidence for the cited claim. Scite can therefore help relevant papers, to rate an article's quality and inform about new publications in your field of research. Scite for Zotero Plugin can do this directly in Zotero. On the one hand, you can see the metadata classification of a paper and then via a right click on "Scite Report" will be redirected directly to Scite.
Scite is like a ChatGPT that you can ask questions. It shows you which papers it has accessed and what it ‘thinks’ about them. You can ask questions like ‘What is the evidence for ginger tea for colds?’ and it will tell you. I would definitely recommend using the trial to see if you like Scite.
Reproduced from scitedotai's "Scite for Zoter Plug-in"
Zotero AI: a slim AI assistant with free LLM choice
Zotero minimum version: 9.0+
Supported LLMs: Any provider with a compatible chat interface – ChatGPT, Claude, Llama, etc.; OpenRouter is the default; local models are possible
Cost: Free and open source (AGPL-3.0); API charges apply depending on the chosen provider
Zotero AI is a new community-driven plugin that’s deliberately kept simple: no subscription, no proprietary service behind it – just a pure interface to the AI provider of your choice. Right-clicking on an entry opens a chat window where responses—including Markdown and LaTeX equations—appear. The plugin reads not only the metadata but also the full-text index of the associated PDF. It is controlled via short commands: #summarize summarises, #ask answers questions about your document, #translate translates the highlighted text, #search searches your whole library semantically and #web let's your LLM search the web independently and adds citations to its answers.
To put this into context: The project is still in its very early stages and is being developed by a single person. According to the documentation, the API key is stored in plain text in the Zotero settings. Furthermore, not every feature works with every model: #web requires function calling, #search in addition, an accessible embedding endpoint – OpenRouter does not provide one, so a local instance must be used here.
Supported LLMs: Claude, Deepseek, Doubao, Gemini, GLM, Grok, Kimi, Qwen, Wenxin, Yi
Cost: Free; however, depending on the model used, a premium subscription is required for API access.
The Zotero AI Bar provides a sidebar that allows users to perform AI-powered tasks such as summarising research papers, translating texts, and answering questions based on the content of your PDF library.
Cost: Free; however, depending on the model used, a Premium subscription may be required for API access
Chat directly with AI in the Zotero sidebar – available in both library view and PDF reader. Ask questions, get summaries, and interact seamlessly with your research.
from pyzotero import zotero
from openai import OpenAI
import chromadb
# Initialize ChomaDB
chroma_client = chromadb.PersistentClient(path="chromadb")
collection = chroma_client.get_or_create_collection(name="zotero_papers")
# Initialize LLM client
llm_client = OpenAI(
base_url=os.environ["LLM_SERVER_BASE_URL"],
api_key=os.environ["LLM_SERVER_API_KEY"],
)
# Initialize Zotero client for user (use group id and "group" for group libraries)
zot = zotero.Zotero(
library_id=os.environ.get("ZOTERO_USER_ID"),
library_type="user",
api_key=os.environ.get("ZOTERO_API_KEY")
)
With the AI plugins presented, Zotero becomes a platform for AI-supported literature management. The tools enable efficient analyses, citation evaluations and interaction with PDF content, making everyday scientific work easier. Researchers can retrieve specific information, recognise relevant literature and even create their own language model - a comprehensive extension of traditional literature management.
The Theisen citation style is standard at many universities, but deviations in the guidelines often lead to uncertainties. Find out more about this topic in this blog.
Literature research and citation according to German citation style done right, thanks to Zotero and CSL citation template. Here I show you how to do it.
Sometimes in Zotero, you need to add sources to your bibliography that have not been directly cited, such as the book containing a specific chapter. Here, I will show you how to do this easily.
How the cite-non-english plugin replaces Juris-M and, for the first time, enables clean multilingual citations, especially CJK citations, directly in Zotero.
We use cookies to improve your browsing experience, display personalised adverts or content, and analyse our website traffic. By clicking ‘Accept all’, you consent to the use of cookies. You can change or withdraw your consent at any time by clicking the settings icon.
Adjust settings
We use cookies to enable you to navigate our website efficiently and to carry out certain functions. You can find detailed information on all cookies below, under the relevant consent categories.
Cookies classified as ‘necessary’ are stored in your browser, as they are essential for the website’s basic functions.
We also use third-party cookies to help us analyse your use of this website, save your settings and provide you with content and marketing materials that are relevant to you. These cookies are only stored in your browser with your prior consent.
You can enable or disable some or all of these cookies; however, disabling some of them may affect your browsing experience.
Always Active
Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. They are not used for advertising or to track you across other sites. The consent cookie stores a random identifier that lets us keep a record of the choice you made.
Cookie
PHPSESSID
Duration
session
Description
PHP session cookie for managing user sessions.
Cookie
selectedTab
Duration
session
Description
Cookie
woocommerce_items_in_cart
Duration
session
Description
WooCommerce cookie to track items in cart.
Cookie
woocommerce_cart_hash
Duration
session
Description
WooCommerce cookie to determine cart contents changes.
Cookie
_GRECAPTCHA
Duration
6 months
Description
Used by Google reCAPTCHA to distinguish between humans and bots.
Cookie
fazcookie-consent
Duration
6 months
Description
Stores the visitor’s cookie consent choices and a random consent ID used to keep a record of this choice.
Always Active
Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.
Cookie
timezone
Duration
session
Description
No description available
Cookie
tk_ai
Duration
session
Description
Stores a randomly-generated anonymous ID. This is only used within the dashboard (/wp-admin) area and is used for usage tracking, if enabled.
Cookie
wmc_current_currency
Duration
1 day
Description
Cookie supplied by Woo Multi-Currency
Cookie
__stripe_mid
Duration
1 year
Description
Stripe fraud prevention cookie for payment processing.
Cookie
__stripe_sid
Duration
30 minutes
Description
Stripe fraud prevention session cookie for payment processing.
Cookie
cf_clearance
Duration
session
Description
Whether a CAPTCHA or Javascript challenge has been solved.
Cookie
LOGIN_INFO
Duration
2 years
Description
This cookie is used to play YouTube videos embedded on the website.
Always Active
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.
Google Analytics 4 cookie used to persist session state.
Cookie
_ga
Duration
2 years
Description
Google Analytics cookie used to distinguish users.
Cookie
sbjs_migrations
Duration
session
Description
Technical data to help with migrations between different versions of the tracking feature
Cookie
sbjs_current_add
Duration
session
Description
Timestamp, referring URL, and entry page for your visitor’s current visit to your store
Cookie
sbjs_first_add
Duration
session
Description
Timestamp, referring URL, and entry page for your visitor’s first visit to your store (only applicable if the visitor returns before the session expires)
Cookie
sbjs_current
Duration
session
Description
Traffic origin information for the visitor’s current visit to your store
Cookie
sbjs_first
Duration
session
Description
Traffic origin information for the visitor’s first visit to your store (only applicable if the visitor returns before the session expires)
Cookie
sbjs_udata
Duration
session
Description
Information about the visitor’s user agent, such as IP, the browser, and the device type
Cookie
_clsk
Duration
1 day
Description
Microsoft Clarity session cookie.
Cookie
_gid
Duration
24 hours
Description
Google Analytics cookie used to distinguish users.
Cookie
_gat
Duration
1 minute
Description
Google Analytics cookie used to throttle request rate.
Cookie
CLID
Duration
1 year
Description
The cookie is set by embedded Microsoft Clarity scripts. The purpose of this cookie is for heatmap and session recording.
Always Active
Performance cookies are used to understand and analyse the key performance indexes of the website which helps in delivering a better user experience for the visitors.
No cookies to display.
Always Active
Cookies that have not yet been categorized.
No cookies to display.
Always Active
Marketing cookies are used to provide visitors with customised ads based on the pages you visited previously and to analyse the effectiveness of the ad campaigns.
Cookie
sib_cuid
Duration
session
Description
Used by Sendinblue to link website activity with marketing campaigns. Facilitates marketing automation, personalization, lead scoring, and retargeting.
Cookie
_gcl_au
Duration
90 days
Description
Google Ads conversion linker cookie.
Cookie
_fbp
Duration
3 months
Description
Facebook Pixel cookie used for advertising and analytics.
Cookie
YSC
Duration
session
Description
YouTube cookie used to track views of embedded videos.
Cookie
VISITOR_INFO1_LIVE
Duration
6 months
Description
YouTube cookie used to estimate bandwidth and display settings.