# zotero-mcp-local

A local MCP server that lets your coding agent search a Zotero library, read PDFs and surface related papers. Read-only.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 8
- Author: piiinpiiins
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/piiinpiiins/Zotero-MCP-lite
- Updated: 2026-07-26
- HTML: https://affpapa.org/en/nevibecode/mcp/zotero-mcp-local

## What it does

This server hooks your agent up to a Zotero library on the same machine. Three jobs: look up entries, open PDFs, and suggest papers similar to one you already have. Nothing gets written back to the library.

It runs through `uvx`, so `uv` has to be installed and Zotero needs to be running with a local library. Without that the server won't start. Setup differs per client: Claude and Codex take a single `claude mcp add` or `codex mcp add` line, while Cursor and GitHub Copilot want a JSON block with `command` and `args`.

Supported clients include Claude, Codex, Cursor, GitHub Copilot, Windsurf, Cline, Zed and Gemini CLI. If your papers live in Zotero and you want the agent to cite them, this saves you from pasting quotes by hand.

## Requirements
- Needs: Python and uv (commands run via uvx)

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add zotero-mcp-local -- uvx zotero-mcp-local
```
uvx runs the command named after the package; if the README names another one, use uvx --from zotero-mcp-local <command>

### Codex

**Platform CLI**
```bash
codex mcp add zotero-mcp-local -- uvx zotero-mcp-local
```
uvx runs the command named after the package; if the README names another one, use uvx --from zotero-mcp-local <command>

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "zotero-mcp-local": {
            "command": "uvx",
            "args": [
                "zotero-mcp-local"
            ]
        }
    }
}
```
uvx runs the command named after the package; if the README names another one, use uvx --from zotero-mcp-local <command>

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "zotero-mcp-local": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "zotero-mcp-local"
            ]
        }
    }
}
```
uvx runs the command named after the package; if the README names another one, use uvx --from zotero-mcp-local <command>

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add zotero-mcp-local uvx zotero-mcp-local
```
uvx runs the command named after the package; if the README names another one, use uvx --from zotero-mcp-local <command>

## When to use it
- look up papers in a Zotero library by topic
- read a Zotero PDF inside the agent context
- find papers similar to one already in the library
- cite sources without copying quotes manually
- keep library access local instead of sending it to a cloud service

## Example prompts
- Search my Zotero library for papers on retrieval-augmented generation
- Open the PDF for this entry and summarise the main findings
- Suggest related papers for the one I have open in Zotero

## Similar
- [Zotero MCP](https://affpapa.org/en/nevibecode/mcp/zotero-mcp.md) — MCP server · ★ 5548
- [arxiv-mcp-server](https://affpapa.org/en/nevibecode/mcp/arxiv-mcp-server.md) — MCP server · ★ 3231
- [PaperBanana](https://affpapa.org/en/nevibecode/mcp/paperbanana.md) — MCP server · ★ 2417
- [MATLAB MCP Server](https://affpapa.org/en/nevibecode/mcp/matlab-mcp-server.md) — MCP server · ★ 1716
- [Hex Research](https://affpapa.org/en/nevibecode/mcp/hex-research.md) — MCP server · ★ 583
- [DocsAgent — Zotero, Obsidian & Apple Notes MCP Server](https://affpapa.org/en/nevibecode/mcp/docsagent-zotero-obsidian-apple-notes-mcp-server.md) — MCP server · ★ 578

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
