Zotero MCP
An open-source MCP server that connects a user's Zotero research library to AI assistants like Claude and ChatGPT. It enables agents to search the library by title, author, or semantic meaning, read PDF metadata and full text, extract and place annotations, and add new items via DOI or file. It supports local mode via zotero.sqlite or the Zotero web API, and includes features like citation tallies and retraction alerts.
Package and access
Local package with source-attributed installation metadata. Koskamo does not execute packages during review.
What you can do with it
- Search library by title, author, or semantic meaning
- Read metadata, BibTeX, and full text of PDFs
- Extract and place annotations on papers
- Add papers by DOI, URL, or file to collections
Source and maintenance
- Maintenance checked
Packages and installation
Source-provided package data. Koskamo has not executed or live-probed this package.
zotero-mcp-server 0.15.2
{
"version": "0.15.2",
"transport": "stdio",
"identifier": "zotero-mcp-server",
"runtimeHint": "uvx",
"registryType": "pypi",
"registryBaseUrl": "https://pypi.org",
"packageArguments": [
{
"type": "positional",
"value": "serve",
"valueHint": "serve"
}
],
"environmentVariables": [
{
"name": "ZOTERO_LOCAL",
"format": "boolean",
"default": "true",
"description": "Read from the local Zotero desktop app instead of the web API. Requires Zotero 7+ with the local API enabled in Settings > Advanced."
},
{
"name": "ZOTERO_API_KEY",
"format": "string",
"description": "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."
},
{
"name": "ZOTERO_LIBRARY_ID",
"format": "string",
"description": "Zotero user or group library ID. Only needed when ZOTERO_LOCAL is false, or for write operations in hybrid mode."
},
{
"name": "ZOTERO_LIBRARY_TYPE",
"format": "string",
"choices": [
"user",
"group"
],
"default": "user",
"description": "Whether ZOTERO_LIBRARY_ID refers to a personal or a group library."
},
{
"name": "ZOTERO_MCP_TOOLSETS",
"format": "string",
"description": "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."
}
]
}Tools
Reported by the attributed source; not independently observed by Koskamo.
Connect from your client
Each snippet configures the same source-provided package; replace placeholders before use.
Cursor
{
"mcpServers": {
"zotero-mcp-zotero-mcp-server": {
"command": "uvx",
"args": [
"zotero-mcp-server==0.15.2",
"serve"
],
"env": {
"ZOTERO_LOCAL": "<YOUR_ZOTERO_LOCAL>",
"ZOTERO_API_KEY": "<YOUR_ZOTERO_API_KEY>",
"ZOTERO_LIBRARY_ID": "<YOUR_ZOTERO_LIBRARY_ID>",
"ZOTERO_LIBRARY_TYPE": "<YOUR_ZOTERO_LIBRARY_TYPE>",
"ZOTERO_MCP_TOOLSETS": "<YOUR_ZOTERO_MCP_TOOLSETS>"
}
}
}
}Cline
{
"mcpServers": {
"zotero-mcp-zotero-mcp-server": {
"command": "uvx",
"args": [
"zotero-mcp-server==0.15.2",
"serve"
],
"env": {
"ZOTERO_LOCAL": "<YOUR_ZOTERO_LOCAL>",
"ZOTERO_API_KEY": "<YOUR_ZOTERO_API_KEY>",
"ZOTERO_LIBRARY_ID": "<YOUR_ZOTERO_LIBRARY_ID>",
"ZOTERO_LIBRARY_TYPE": "<YOUR_ZOTERO_LIBRARY_TYPE>",
"ZOTERO_MCP_TOOLSETS": "<YOUR_ZOTERO_MCP_TOOLSETS>"
}
}
}
}VS Code
{
"servers": {
"zotero-mcp-zotero-mcp-server": {
"type": "stdio",
"command": "uvx",
"args": [
"zotero-mcp-server==0.15.2",
"serve"
],
"env": {
"ZOTERO_LOCAL": "<YOUR_ZOTERO_LOCAL>",
"ZOTERO_API_KEY": "<YOUR_ZOTERO_API_KEY>",
"ZOTERO_LIBRARY_ID": "<YOUR_ZOTERO_LIBRARY_ID>",
"ZOTERO_LIBRARY_TYPE": "<YOUR_ZOTERO_LIBRARY_TYPE>",
"ZOTERO_MCP_TOOLSETS": "<YOUR_ZOTERO_MCP_TOOLSETS>"
}
}
}
}Claude Desktop
{
"mcpServers": {
"zotero-mcp-zotero-mcp-server": {
"command": "uvx",
"args": [
"zotero-mcp-server==0.15.2",
"serve"
],
"env": {
"ZOTERO_LOCAL": "<YOUR_ZOTERO_LOCAL>",
"ZOTERO_API_KEY": "<YOUR_ZOTERO_API_KEY>",
"ZOTERO_LIBRARY_ID": "<YOUR_ZOTERO_LIBRARY_ID>",
"ZOTERO_LIBRARY_TYPE": "<YOUR_ZOTERO_LIBRARY_TYPE>",
"ZOTERO_MCP_TOOLSETS": "<YOUR_ZOTERO_MCP_TOOLSETS>"
}
}
}
}Let your agent find its tools
Find servers like Zotero MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.