
Zotero MCP Server
by 54yyyuio.github.54yyyu/zotero-mcpv0.14.1
Search, read, annotate, and add to your Zotero research library, local or web.
context tax
queued
security
queued
cold start
queued
freshness
Active1d ago
Install Zotero MCP server
Install in Claude Code
claude mcp add zotero -e ZOTERO_API_KEY='<zotero-api-key>' -- uvx zotero-mcp-server serveInstall in Cursor
{
"mcpServers": {
"zotero": {
"command": "uvx",
"args": [
"zotero-mcp-server",
"serve"
],
"env": {
"ZOTERO_API_KEY": "<zotero-api-key>"
}
}
}
}Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project).
Install in Claude Desktop
{
"mcpServers": {
"zotero": {
"command": "uvx",
"args": [
"zotero-mcp-server",
"serve"
],
"env": {
"ZOTERO_API_KEY": "<zotero-api-key>"
}
}
}
}Settings → Developer → Edit Config (claude_desktop_config.json), then restart.
Install in VS Code
{
"servers": {
"zotero": {
"type": "stdio",
"command": "uvx",
"args": [
"zotero-mcp-server",
"serve"
],
"env": {
"ZOTERO_API_KEY": "<zotero-api-key>"
}
}
}
}Add to .vscode/mcp.json in your workspace.
Install in Windsurf
{
"mcpServers": {
"zotero": {
"command": "uvx",
"args": [
"zotero-mcp-server",
"serve"
],
"env": {
"ZOTERO_API_KEY": "<zotero-api-key>"
}
}
}
}Add to ~/.codeium/windsurf/mcp_config.json.
Configuration
| Variable | Required | Secret | Description |
|---|---|---|---|
| ZOTERO_LOCAL | — | — | Read from the local Zotero desktop app instead of the web API. Requires Zotero 7+ with the local API enabled in Settings > Advanced. |
| ZOTERO_API_KEY | — | yes | Zotero Web API key from https://www.zotero.org/settings/keys. Only needed when ZOTERO_LOCAL is false, or for write operations in hybrid mode. |
| ZOTERO_LIBRARY_ID | — | — | Zotero user or group library ID. Only needed when ZOTERO_LOCAL is false, or for write operations in hybrid mode. |
| ZOTERO_LIBRARY_TYPE | — | — | Whether ZOTERO_LIBRARY_ID refers to a personal or a group library. |
| ZOTERO_MCP_TOOLSETS | — | — | Which optional tool groups to expose, as a comma-separated list. Every tool is sent to the model on each request, so optional capabilities are off by default. Use 'all' for the full surface, 'none' for core only, named groups (scite, duplicates, discovery, feeds, relations, libraries, search-admin, pdf-geometry) to add them, or a leading '-' to subtract. |
Freshness
Active — last maintenance signal 1d ago. The newest of the signals below sets the band.
Last commit (default branch)
2026-10-08 · 1d ago · GitHub
Latest release
2026-10-08 · 1d ago · GitHub · v0.14.1
Package published
no data · npm/PyPI
Registry entry updated
2026-10-08 · 1d ago · official registry · v0.14.1
FAQ
›How do I install the Zotero MCP server in Claude Code?
Run: claude mcp add zotero -e ZOTERO_API_KEY='<zotero-api-key>' -- uvx zotero-mcp-server serve. For Cursor, VS Code, Claude Desktop and Windsurf, use the install tabs above.
›Does Zotero require an API key?
Yes. It expects ZOTERO_API_KEY, of which 1 is a secret.
›Can I use Zotero as a remote (hosted) MCP server?
No hosted endpoint is published; it runs locally over stdio.
›Is Zotero in the official MCP registry?
Yes, as io.github.54yyyu/zotero-mcp.
Alternatives to Zotero
Other science & research MCP servers.