Claude Code With Zotero: Connect and Check Your Sources

Connecting Zotero to a Claude Code workflow gives your AI assistant access to your reference library so it can cite sources, summarize papers, and check claims against your collection. Here is how to set up the connection and verify what comes out.

Updated 5 min read

Zotero keeps your research library — papers, books, web pages, notes, and citation metadata — in one place. Connecting it to Claude Code means your AI assistant can search your collection, pull an item's metadata for a citation, summarize an abstract, or check whether a claim has a source in your library. The connection is read-only by default and does not require sending your full library to an external service.

Good source management matters for research. A fact Claude states confidently may come from its training data rather than your collection, which means it might be outdated, approximate, or simply wrong. Tools like fenbs let you keep research questions, verified source links, and open findings as tasks that any connected assistant can read, so your research project has a clear record across sessions.

What Zotero offers a Claude Code research workflow

Zotero stores structured metadata: author, title, year, journal, DOI, abstract, and your own notes and tags. That structure makes it straightforward to retrieve a citation in a standard format, search for papers on a topic, or check whether a specific source is already in your library.

For a Claude Code workflow, the most useful capabilities are retrieving citation data for a reference Claude found, checking a claim against a paper in your collection, and searching your library for sources on a topic you are researching. The assistant can then include the retrieved metadata in a document it drafts or a code comment it writes.

For background on what Claude Code is and how to install it, see those guides.

Connect Zotero using the local API

Zotero runs a local HTTP server on your computer when it is open. By default it listens on port 23119 and responds to requests with item data in a structured format. You do not need a Zotero account for this — just the desktop app running on the same machine as Claude Code.

To use it, enable local API access in Zotero's Advanced preferences and note the API key it generates. You can then write a short MCP server or a shell script that Claude Code can call: it sends a search query or an item key to the local server and returns the citation data. The Better BibTeX plugin, if you use LaTeX, adds a JSON-RPC endpoint with more options for citation export.

Keep Zotero open while you work. The local server is only available when the desktop app is running. For Claude Code documentation that covers how to configure tools and scripts, see that guide.

Use the Zotero Web API for remote access

If you need to access your library from a machine where Zotero is not installed, or if your library is synced to zotero.org, the Zotero Web API offers the same metadata over HTTPS. You authenticate with a personal API key from your zotero.org account settings, and you can scope the key to read-only access on specific libraries.

The Web API endpoint returns JSON responses with item metadata, so a small wrapper script or an MCP server is enough to make it usable as a Claude Code tool. Search queries, item retrieval by key, and tag-based filtering are all supported. Check Zotero's API documentation (opens in a new tab) for the current endpoints and rate limits.

How fenbs helps

Keep source links and research tasks in one record

fenbs keeps your research questions as tasks and source links as context notes that any connected assistant can read. Add a task for each claim that still needs a source, link the Zotero item URL to the task when you find one, and record what was confirmed. The next session starts from Where we left off without re-reading every paper.

Create a free account

Free for one person · No credit card · Works with Claude, ChatGPT, Cursor and more

Check citations before you submit

When Claude Code retrieves a citation from Zotero, verify that the metadata is correct before you use it. Check the author list, the year, the journal or publisher, and the DOI. Zotero's metadata is generally reliable, but imported records sometimes have errors in capitalization, missing co-authors, or incorrect journal abbreviations.

Also check that Claude is citing a source you have actually read and that supports the claim it is attached to. An assistant can technically cite a paper that is in your Zotero library without you having checked whether that paper says what it claims to say. Read the abstract and the relevant section before you accept the citation in your final document.

For workflows that involve many citations, Claude Code checkpoints and worktrees can help you review changes before they accumulate. Those guides explain how to use those Claude Code features.

Save research questions and source links

A research workflow that tracks only the final citations misses a lot of useful history. As you work, record the questions you started with, the searches you ran, the sources you found and discarded, and the ones you confirmed. That record lets you return to the project after a break, hand it to a collaborator, or audit your reasoning later.

Keep each confirmed source link close to the claim it supports. A task note that says "Section 2.3 of the draft claims X — supported by Smith 2022, DOI: 10.xxxx" is more useful than a citation list at the end of the document, because it lets the next reader check one claim without reading the whole bibliography.

How to do this with fenbs

  1. Create a free account and set up a project for your research task.
  2. Add your main research questions as tasks in To Do so Claude Code knows what it is trying to find.
  3. Connect Claude Code over MCP from Integrations and configure a Zotero tool using either the local API or the Web API, depending on your setup.
  4. After each session, ask Claude Code to record the sources it found in context notes, with their Zotero item URLs, and add follow-up tasks for claims that still need a source.
  5. Mark each research question as complete when you have a verified source, or leave it open with a note on what is still missing so Where we left off reflects the true state.

fenbs does not connect to Zotero directly. It keeps the research questions, source links, and tasks that make a multi-session research project manageable. For related questions, see the guide on using Claude for Zotero and the Claude Code sandbox for running scripts safely.

Questions people ask.

Does Zotero work with Claude Code out of the box?

Not without a connection. You need to set up a tool or script that calls the Zotero local API or Web API, then make that tool available to Claude Code in your session.

Is the Zotero local API free to use?

Yes. The local API is part of the free Zotero desktop app. The Better BibTeX plugin, which adds extra export options, is also free.

Can Claude Code add new items to my Zotero library?

The Web API supports write operations if you authorize them, so a tool could add items. Most research workflows benefit from read-only access to avoid accidental changes to the library.

What happens if Claude cites a paper that is not in my Zotero library?

If the tool only has access to your library, it cannot retrieve that item's metadata. Claude may fall back to citing from its training knowledge, which can be inaccurate. Treat any citation not confirmed from your library as unverified.

Can I use Zotero with other AI coding assistants?

Any assistant that supports MCP tool connections or that can call an HTTP API from a script can be connected to Zotero in the same way.

More in Connect your AI tools

All Connect your AI tools articles

Start with one thing.

Free for one person · No credit card · Works with Claude, ChatGPT, Cursor and more

There is nothing to set up first. Write one line and you’ve started.