3,000 people are now using MCP for Zotero — here's what they did with it
Five months ago I was supposed to be organising the sources for my thesis. I have ADHD, and my brain quietly concluded that building an entire platform was a more tractable problem than tidying a bibliography. So that is what I did instead.
What came out of it is a free service that connects a Zotero library to an AI assistant over the Model Context Protocol, so you can search, add, tag, organise and export references by asking in plain language. Yesterday the 3,000th account was created. The thesis, for the record, is still not finished.
What those accounts have actually done, 23 February to 31 July:
- 1,442 libraries connected, and 106,156 operations run against them
- 23,064 searches, 3,409 of them full-text, inside PDFs
- 28,230 items read, 8,088 created, 16,774 updated
- 8,398 tag operations, 10,326 additions to collections, 439 bibliographies exported
- 99.6% success rate, 382 ms median response
The surprise was the write numbers. 46,647 of those operations were writes. I assumed people would mostly read from their libraries. Instead they are using their assistant for metadata cleanup and re-filing at a scale that is miserable by hand.
Recently shipped: setup collapsed from three screens into one; plain-text documentation at /docs/ plus an /llms.txt index, so you can hand the URL to your assistant and let it walk you through your own setup; real screenshots for the Zotero API key step; group libraries selectable from the interface instead of a hand-edited URL; and the interface no longer mixes languages.
Also fixed: a redirect on my side was silently discarding the first request of the handshake for connections coming from Claude's web app. Those users saw "authorized, but the connector returned an error" for weeks, while every dashboard I had stayed green. Fixed on 1 August and verified end to end. If that was you, disconnect and reconnect once. It will not retry on its own.
Feedback goes straight to me through the Messages panel in the dashboard. So far 83 people have sent 116 messages, every one has been answered, and every reproducible bug that came through it has been fixed and shipped. That panel is the reason most of the list above exists.
On credentials, since it is the obvious question: your Zotero API key is encrypted at rest and used only to call the Zotero API on your behalf. No library content is stored, so no items, no notes, no PDFs. Every operation goes straight to Zotero and the result goes straight back to you. You can revoke the key from your Zotero settings at any time, and delete your account and everything attached to it from the dashboard. My own recommendation is to create a key scoped to exactly what you need, and to leave write permission off if you only want to read.
https://mcpforzotero.alejandroarnaud.dev
Free, and about five minutes to set up. If you would rather read before signing in, the whole setup is documented in plain text and needs no account:
https://mcpforzotero.alejandroarnaud.dev/docs/setup.md
Disclosure: I built and run this. It is an independent project, and it is not affiliated with or endorsed by Zotero or the Corporation for Digital Scholarship.
What came out of it is a free service that connects a Zotero library to an AI assistant over the Model Context Protocol, so you can search, add, tag, organise and export references by asking in plain language. Yesterday the 3,000th account was created. The thesis, for the record, is still not finished.
What those accounts have actually done, 23 February to 31 July:
- 1,442 libraries connected, and 106,156 operations run against them
- 23,064 searches, 3,409 of them full-text, inside PDFs
- 28,230 items read, 8,088 created, 16,774 updated
- 8,398 tag operations, 10,326 additions to collections, 439 bibliographies exported
- 99.6% success rate, 382 ms median response
The surprise was the write numbers. 46,647 of those operations were writes. I assumed people would mostly read from their libraries. Instead they are using their assistant for metadata cleanup and re-filing at a scale that is miserable by hand.
Recently shipped: setup collapsed from three screens into one; plain-text documentation at /docs/ plus an /llms.txt index, so you can hand the URL to your assistant and let it walk you through your own setup; real screenshots for the Zotero API key step; group libraries selectable from the interface instead of a hand-edited URL; and the interface no longer mixes languages.
Also fixed: a redirect on my side was silently discarding the first request of the handshake for connections coming from Claude's web app. Those users saw "authorized, but the connector returned an error" for weeks, while every dashboard I had stayed green. Fixed on 1 August and verified end to end. If that was you, disconnect and reconnect once. It will not retry on its own.
Feedback goes straight to me through the Messages panel in the dashboard. So far 83 people have sent 116 messages, every one has been answered, and every reproducible bug that came through it has been fixed and shipped. That panel is the reason most of the list above exists.
On credentials, since it is the obvious question: your Zotero API key is encrypted at rest and used only to call the Zotero API on your behalf. No library content is stored, so no items, no notes, no PDFs. Every operation goes straight to Zotero and the result goes straight back to you. You can revoke the key from your Zotero settings at any time, and delete your account and everything attached to it from the dashboard. My own recommendation is to create a key scoped to exactly what you need, and to leave write permission off if you only want to read.
https://mcpforzotero.alejandroarnaud.dev
Free, and about five minutes to set up. If you would rather read before signing in, the whole setup is documented in plain text and needs no account:
https://mcpforzotero.alejandroarnaud.dev/docs/setup.md
Disclosure: I built and run this. It is an independent project, and it is not affiliated with or endorsed by Zotero or the Corporation for Digital Scholarship.
Upgrade Storage