Connects your Zotero library to AI assistants to search, read, summarize and annotate research papers.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add zotero --env ZOTERO_API_KEY='<ZOTERO_API_KEY>' --env ZOTERO_LOCAL='<ZOTERO_LOCAL>' -- uvx zotero-mcp-server~/.codex/config.toml
[mcp_servers.zotero]
command = "uvx"
args = ["zotero-mcp-server"]
env = { ZOTERO_API_KEY = "<ZOTERO_API_KEY>", ZOTERO_LOCAL = "<ZOTERO_LOCAL>" }
# codex mcp add zotero --env ZOTERO_API_KEY='<ZOTERO_API_KEY>' --env ZOTERO_LOCAL='<ZOTERO_LOCAL>' -- uvx zotero-mcp-server~/.cursor/mcp.json
{
"mcpServers": {
"zotero": {
"command": "uvx",
"args": [
"zotero-mcp-server"
],
"env": {
"ZOTERO_API_KEY": "<ZOTERO_API_KEY>",
"ZOTERO_LOCAL": "<ZOTERO_LOCAL>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"zotero": {
"type": "stdio",
"command": "uvx",
"args": [
"zotero-mcp-server"
],
"env": {
"ZOTERO_API_KEY": "<ZOTERO_API_KEY>",
"ZOTERO_LOCAL": "<ZOTERO_LOCAL>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"zotero": {
"command": "uvx",
"args": [
"zotero-mcp-server"
],
"env": {
"ZOTERO_API_KEY": "<ZOTERO_API_KEY>",
"ZOTERO_LOCAL": "<ZOTERO_LOCAL>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"zotero": {
"command": "uvx",
"args": [
"zotero-mcp-server"
],
"env": {
"ZOTERO_API_KEY": "<ZOTERO_API_KEY>",
"ZOTERO_LOCAL": "<ZOTERO_LOCAL>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"zotero": {
"command": "uvx",
"args": [
"zotero-mcp-server"
],
"env": {
"ZOTERO_API_KEY": "<ZOTERO_API_KEY>",
"ZOTERO_LOCAL": "<ZOTERO_LOCAL>"
}
}
}
}Environment variables
ZOTERO_API_KEYZOTERO_LOCAL
Replace the placeholders with your own credentials and keep them out of version control.