Connect ChatGPT to Zotero
Connect ChatGPT to Zotero with a hosted or self-hosted remote. Check Developer mode, PDF availability and permissions, then verify your first passage.
Zoteus is an open-source MCP server that gives ChatGPT access to your Zotero library. Once it is connected you can ask ChatGPT to find the paper you saved three years ago, read a page range from its PDF, build a bibliography in the style your journal wants, or tag the items you are screening. References come from your library, but you still need to verify each passage and the conclusions drawn from it.
ChatGPT connects to MCP servers over HTTPS only, from OpenAI's cloud. It cannot start the local npx @oscardvs/zoteus server that Claude Desktop, Claude Code and Cursor use, and it cannot reach the Zotero app on your computer. That leaves two routes, and both reach your library through your Zotero account online.
| Route | What to do | Cost |
|---|---|---|
The hosted connector at mcp.zoteus.com | Subscribe, add the plugin, sign in | From €7/month |
| Your own server | Run the OAuth remote on a public HTTPS host, then add that URL the same way | Free software; your own hosting costs |
Before you start
- A paid ChatGPT plan. OpenAI makes Developer mode available on the Plus, Pro, Business, Enterprise and Edu plans, in the web app. A free ChatGPT account cannot add custom servers. On Business and Enterprise an administrator may have to allow Developer mode first.
- Developer mode switched on. In ChatGPT, open Settings, then Security and login, and turn on the Developer mode switch. ChatGPT labels it as elevated risk, because it lets you connect servers OpenAI has not reviewed. The same switch is linked from Settings, then Plugins.
- A Zotero account with your library synced. ChatGPT reaches your library through zotero.org, so anything you have not synced to Zotero's servers is invisible to it. PDFs in Zotero's cloud storage can be read; PDFs that live only on your own disk stay out of reach. Check sync in the Zotero desktop app under Settings, then Sync.
- A Zoteus subscription key, or your own remote. Subscribers get the key by email after checkout on the pricing page. If you self-host, you need the public HTTPS URL of your instance, which means running a server on the public internet; Remote OAuth covers that.
Before subscribing
Check hosted requirements and limits: client access, synced PDF availability, which libraries you want indexed, and the provider/coverage your research needs. Metadata sync alone does not make local-only or WebDAV file bytes readable. Zoteus does not include a separate AI subscription.
Add Zoteus to ChatGPT
-
Subscribe, if you are using the hosted connector. Checkout on the pricing page is handled by Polar and the subscription key arrives by email. Self-hosters skip this step.
-
Open Plugins. Click Plugins in the left sidebar of ChatGPT, or go to chatgpt.com/plugins, and click Create app. If there is no Create app button, Developer mode is off or the account is on a free plan.
-
Fill in the New Plugin dialog.
- Name:
Zoteus - Description: optional
- Connection: Server URL
- MCP Server URL:
https://mcp.zoteus.com/mcp(orhttps://<your-host>/mcpfor your own remote) - Authentication: OAuth, which is the default
Leave Advanced OAuth settings empty: ChatGPT discovers the OAuth endpoints and registers itself with Zoteus. It may show CIMD unavailable there; that is expected and harmless. Tick I understand and want to continue and click Create.
- Name:
-
Sign in. ChatGPT shows Add Zoteus to ChatGPT with a Sign in with Zoteus button. Click it. A popup opens the Zoteus page Connect ChatGPT to Zoteus and asks for the subscription key (a self-hosted instance shows its own consent page instead). It then goes to zotero.org, where you sign in and approve the permissions Zoteus asks for; untick write access there if you want a read-only connection. The popup returns to ChatGPT and the plugin page shows Connected on today's date.
-
Load the tools. Right after connecting, the plugin's Actions list can say No app actions available yet. Click Refresh in the Information section of the plugin page. The available Zoteus tools then appear, each labelled READ or PUBLIC WRITE by ChatGPT.
-
Use it. In a chat, click + in the composer (Add files and more), pick Zoteus, and ask normally. Start with Am I connected to my Zotero library?
First successful research task
Find a known paper, retrieve a passage and verify its page. Check search readiness before interpreting a missing semantic hit as missing evidence.
What to ask next
- Search my library for papers about urban heat islands.
- Which papers in my library argue against open-plan offices? Quote the passage and give me the page.
- Format a bibliography of the five most relevant papers in APA style.
- Give me the outline of the PDF attached to that paper, with page numbers, then read me pages 4 to 6.
- Tag the three most recent of those with
to-read.
The second question can use search by meaning to locate candidates, followed by passage retrieval. The first request can start a background index build. Semantic ranking needs active embeddings; PDF-body indexing is opt-in and may cover only part of a library. Check search readiness first. Direct keyword lookup works without that index.
What ChatGPT asks before a write
ChatGPT controls tool confirmations through the app permissions. Behaviour can vary by account, tool and saved choices. Review the current permissions instead of assuming every write will ask first.
That behaviour is the plugin's Permissions setting, on its page under Plugins. The options are Always ask, Allow read actions, Allow low-risk actions (the default) and Allow all actions. To review writes, select the setting that asks before writes (for example Allow read actions) and ask for a proposed change first. Zotero authorization must also permit the write.
Do you need a Zotero API key?
No. ChatGPT signs you in at zotero.org through the plugin, and you never create or paste a key. On the zotero.org approval page you choose what the connection may do: leave write access ticked if you want ChatGPT to add tags, file items or edit records, or untick it for a read-only connection. You can revoke the access at any time from zotero.org/settings/keys.
When something goes wrong
| What you see | What to do |
|---|---|
| Create app is missing from the Plugins page | Developer mode is off, or the account is on a free plan. Turn it on under Settings, then Security and login; on Business and Enterprise, ask an administrator to allow it. |
| No app actions available yet after connecting | Click Refresh in the Information section of the plugin page. The available tools then appear. |
| Sign in with Zoteus comes straight back without a Zotero page | The popup was blocked. Allow popups for chatgpt.com and click the button again. |
| ChatGPT says it cannot reach the server | The URL must be a public HTTPS address ending in /mcp. A self-hosted instance on localhost, behind a firewall, or on plain HTTP cannot be reached from OpenAI's cloud; see Remote OAuth. |
| ChatGPT asks permission on every write | The plugin's Permissions setting is on Always ask or Allow read actions. This can be intentional. Keep confirmations if you want to review changes; inspect the proposed edit and approve only the action you intend. |
| ChatGPT cannot find something you know is in Zotero | Check account, selected library and permissions, then sync. Try exact title lookup. Indexed search may be capped, partial or keyword-only; a PDF may lack accessible bytes or a text layer. See search readiness and missing PDFs. |
| Something else | Open an issue with what you tried and what you saw, or email support@zoteus.com about the hosted connector. Never paste your subscription key. |
Next
-
Connect Claude to Zotero, if you also use Claude: the free Claude Desktop extension there reads the PDFs on your own disk.
-
Group libraries for systematic review teams, for a shared library.
-
Remote OAuth, to host the connector yourself.
-
Configuration, every setting in full.
Frequently asked questions
Can ChatGPT read the PDFs in my Zotero library?
Yes, through Zoteus, for PDFs stored in Zotero's cloud storage. Zoteus reaches your library through your Zotero account online, so ChatGPT can read those PDFs, quote passages with their page numbers and look at a page as an image. PDFs that exist only on your own disk or in WebDAV storage are out of reach for ChatGPT; see missing PDFs.
Is Zoteus only for editing my library, or can it read my PDFs?
Zoteus reads first. In ChatGPT it searches your Zotero library by keyword or, where embeddings are active, by meaning, returns passages from your PDFs with page numbers, finds your own notes and PDF annotations, and can compare papers in a cited evidence table. It can also add items by DOI or arXiv id, tag and file items and edit records, but only if you leave write access ticked when you approve Zoteus on zotero.org.
Do I need to install anything?
No. ChatGPT cannot run a program on your computer, so Zoteus connects to ChatGPT as a remote plugin: you add https://mcp.zoteus.com/mcp under Plugins, sign in with your Zotero account, and there is nothing to install or update. You do need Developer mode, which OpenAI offers on paid ChatGPT plans in the web app, and a Zotero library synced to zotero.org.
Is there a free version of Zoteus for ChatGPT?
Zoteus is MIT-licensed and free to self-host with every feature, but ChatGPT only connects to servers on the public internet, so the free route for ChatGPT means running the Zoteus OAuth remote on your own HTTPS host at your own hosting cost. The free local install works in Claude Desktop, Claude Code and Cursor, not in ChatGPT. The hosted Zoteus connector costs €69 a year or €7 a month for one researcher, or €99 a month for a lab of up to ten, and does not include a ChatGPT subscription.
Does Zoteus work with Zotero group libraries in ChatGPT?
Yes. Zoteus lets ChatGPT use the group libraries your Zotero account belongs to, within what your Zotero group role allows: ask ChatGPT which groups it can see, then name the group in your request. Each library, personal or group, can have its own search index, and ChatGPT can search several of them at once. The hosted connector currently searches by keyword, including PDF full text; search by meaning needs a server with embeddings switched on, such as a self-hosted remote; see group libraries for review teams.
Can ChatGPT cite page numbers from my Zotero PDFs?
Yes. When ChatGPT asks Zoteus for a passage, Zoteus returns the text from the PDF with its page number and the nearest heading, so ChatGPT can quote it with the page. Zoteus also formats bibliographies with citeproc-js in any CSL style, such as APA, Vancouver or Chicago. Check each quoted passage against the PDF page before you rely on it.
Verification notes
Instructions reviewed 14 September 2026 against Zoteus v1.20.0 and OpenAI Developer mode guidance. Web setup uses the current browser interface, which has no fixed client version. Release assets were checked for macOS, Windows and Linux. End-to-end authenticated installation was not repeated on all platforms; menu labels and workspace permissions can vary.
Connect Claude to Zotero
Connect Claude to Zotero using the free desktop extension or hosted access. Platform downloads, embedding setup, PDF checks and your first verified passage.
Zotero group libraries with Claude for systematic review teams
Connect a shared Zotero group library to Claude so a screening or evidence-synthesis team can search, quote and tag the same references. What works without a key, what needs one, and the free 30-day lab pilot.