Zoteus — Claude Code MCP server: features and setup
Connects Claude Code to Zotero for library searches, PDF passages and formatted references. Useful when you want an agent to work with research sources in chat.
claude mcp add --transport http zoteus https://mcp.zoteus.com/mcpWhat Zoteus does
Zoteus lets an agent search a Zotero library by keywords or meaning, retrieve PDF excerpts with page numbers, and format bibliographies using CSL styles. It can add a record from a DOI or arXiv identifier. The server also supports creating and editing entries, applying tags, and moving items to a recoverable trash.
With the Zotero desktop app open, Zoteus accesses the libraries available through that app. A Zotero API key is needed for syncing, group libraries outside the app, and access while Zotero is closed. Those cases depend on the key. Claude Code can connect over HTTP or run the server locally with npx; Zoteus is written in TypeScript.
What it helps with
- search a Zotero library for research on a topic
- retrieve a PDF excerpt with its page number
- format references in a CSL style
- add a paper using its DOI or arXiv identifier
- edit a Zotero record and move it to trash
Example prompts for the agent
- Find Zotero sources about sleep and memory, then return relevant PDF excerpts with page numbers.
- Format the references you found in APA style.
- Add the paper with DOI
10.xxxx/exampleto Zotero.
How to install Zoteus
1Platform CLI: remote server
claude mcp add --transport http zoteus https://mcp.zoteus.com/mcp2Platform CLI
claude mcp add --env ZOTERO_API_KEY=<ZOTERO_API_KEY> --env ZOTEUS_LOCAL=<ZOTEUS_LOCAL> --env ZOTEUS_ALLOW_DELETE=<ZOTEUS_ALLOW_DELETE> --transport stdio zoteus -- npx -y @oscardvs/zoteusReplace <…> with your own values
1Platform CLI: remote server
codex mcp add zoteus --url https://mcp.zoteus.com/mcp2Platform CLI
codex mcp add zoteus --env ZOTERO_API_KEY=<ZOTERO_API_KEY> --env ZOTEUS_LOCAL=<ZOTEUS_LOCAL> --env ZOTEUS_ALLOW_DELETE=<ZOTEUS_ALLOW_DELETE> -- npx -y @oscardvs/zoteusReplace <…> with your own values
Config file
{
"mcpServers": {
"zoteus": {
"url": "https://mcp.zoteus.com/mcp"
}
}
}{
"mcpServers": {
"zoteus": {
"command": "npx",
"args": [
"-y",
"@oscardvs/zoteus"
],
"env": {
"ZOTERO_API_KEY": "<ZOTERO_API_KEY>",
"ZOTEUS_LOCAL": "<ZOTEUS_LOCAL>",
"ZOTEUS_ALLOW_DELETE": "<ZOTEUS_ALLOW_DELETE>"
}
}
}
}Replace <…> with your own values
Config file
{
"servers": {
"zoteus": {
"type": "http",
"url": "https://mcp.zoteus.com/mcp"
}
}
}{
"servers": {
"zoteus": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@oscardvs/zoteus"
],
"env": {
"ZOTERO_API_KEY": "<ZOTERO_API_KEY>",
"ZOTEUS_LOCAL": "<ZOTEUS_LOCAL>",
"ZOTEUS_ALLOW_DELETE": "<ZOTEUS_ALLOW_DELETE>"
}
}
}
}Replace <…> with your own values
1Platform CLI: remote server
gemini mcp add -t http zoteus https://mcp.zoteus.com/mcp2Platform CLI
gemini mcp add -e ZOTERO_API_KEY=<ZOTERO_API_KEY> -e ZOTEUS_LOCAL=<ZOTEUS_LOCAL> -e ZOTEUS_ALLOW_DELETE=<ZOTEUS_ALLOW_DELETE> zoteus npx -y @oscardvs/zoteusReplace <…> with your own values
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about Zoteus
How do I install Zoteus in Claude Code?
For an HTTP connection, run claude mcp add --transport http zoteus https://mcp.zoteus.com/mcp.
What does Zoteus do?
It connects Claude Code to Zotero, where the agent can search records and PDF passages, format citations, and add or edit library items.
Do I need a Zotero API key?
Not for libraries available through the running Zotero desktop app. A key is required for syncing, group libraries outside the app, and access when Zotero is closed.