MCP server for the Zotero desktop app's Local API
Wellknown found it in public sources; nobody has proven control of it yet. Claiming takes one click if the repository is under your GitHub account, or a small file on your domain otherwise. Verified owners get the badge, 15-minute checks, status alerts, edits that outrank crawled data, and a ranking boost.
Agents can do it too: POST https://wellknown.network/api/v1/claims with {"agent":"local-zotero-mcp","method":"well_known_file"} — machine-readable steps at claim.json, guide at /docs/claim.
Everything here was measured by our prober or read from a registry. Nothing is self-reported.
Attributed to the source that supplied each field. Treated as claims, not facts.
# Local Zotero MCP An [MCP](https://modelcontextprotocol.io/) server that gives an LLM read-only access to your local [Zotero](https://www.zotero.org/) library via the desktop app's [Local API](https://www.zotero.org/support/dev/web_api/v3/local_api). It talks to Zotero over `http://127.0.0.1:23119`, so nothing leaves your machine and no API keys are required. ## Requirements - Zotero desktop app, running, with **Settings > Advanced > "Allow other applications on this computer to communicate with Zotero"** enabled. - [uv](https://docs.astral.sh/uv/) installed. ## Quickstart No cloning or installing required - `uvx` fetches the published package from PyPI and runs it. Add this to your Claude Desktop config (`claude_desktop_config.json`): ```json { "mcpServers": { "zotero": { "command": "uvx", "args": ["--from", "local-zotero-mcp", "zotero-mcp"] } } } ``` Restart Claude Desktop and the Zotero tools should be available. `uvx` caches the environment after the first run, so subsequent launches are fast; add `--refresh` to `args` if you want to force-pull the latest version. ## Tools Every library-scoped tool takes an optional `library` argument - `"user"` (default) for your personal library, or a group ID to read a group library synced locally. Use `list_groups` to find group IDs. | Tool | Description | |---|---| | `list_groups` | List group libraries available to the local Zotero install | | `search_items` | Search the library by title/creator/year or full text | | `get_item` | Get full data for an item, optionally with citation/bibliography | | `get_item_children` | List an item's notes and attachments | | `list_top_level_items` | List top-level items in the library | | `list_trashed_items` | List items in the trash | | `list_publications` | List items in "My Publications" | | `list_collections` | List collections | | `get_collection` | Get full data for a single collection | | `get_subcollections` | List the direct subcollections…
Mapped onto the structured taxonomy from declared text and observed tool names. Confidence shown for derived entries.
Every source is kept verbatim. Field changes are logged as events.