Production‑ready MCP server for Zotero to save open preprints (arXiv, CVF, bio/med/chemRxiv) with rich metadata and smart PDF attachments — with upcoming support for publisher databases (Nature, Science, IEEE Xplore, Springer).
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"zotlink": {
"env": {
"ZOTLINK_ZOTERO_ROOT": "/Users/yourname/Zotero"
},
"args": [],
"command": "/opt/homebrew/.../zotlink"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
🇺🇸 English | 🇨🇳 中文
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
uvx 'zotlink' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
Checked zotlink against OSV.dev.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in data / education
Query and manage PostgreSQL databases directly from AI assistants
🔥 Official Firecrawl MCP Server - Adds powerful web scraping and search to Cursor, Claude and any other LLM clients.
Manage Supabase projects — databases, auth, storage, and edge functions
Real-time financial market data: stocks, forex, crypto, commodities, and economic indicators
MCP Security Weekly
Get CVE alerts and security updates for ZotLink and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
A lightweight, production-ready MCP server that brings open scholarly sources into Zotero with one command.
❤️ Like ZotLink? Give it a star 🌟 to support the development!
~/.zotlink/zotlink.logpip install zotlink
python -m playwright install chromium
Requires Python 3.10+. Includes full browser support for all preprint servers by default!
Use zotlink init to automatically generate MCP configuration:
# Auto-detect Zotero path
zotlink init
# Or specify path manually
zotlink init /Users/yourname/Zotero
The command outputs ready-to-use configuration JSON, for example:
{
"mcpServers": {
"zotlink": {
"command": "/opt/homebrew/.../zotlink",
"args": [],
"env": {
"ZOTLINK_ZOTERO_ROOT": "/Users/yourname/Zotero"
}
}
}
}
Copy the generated configuration to your Claude Desktop config file:
~/Library/Application Support/Claude/claude_desktop_config.json~/.config/claude/claude_desktop_config.json~/AppData/Roaming/Claude/claude_desktop_config.jsonRestart Claude Desktop and you're ready to go!
git clone https://github.com/your-org/ZotLink.git
cd ZotLink
pip install -e .
python -m playwright install chromium
If you need manual configuration (without using zotlink init), see examples below:
Recommended configuration (simple - just specify Zotero directory):
{
"mcpServers": {
"zotlink": {
"command": "/path/to/zotlink",
"args": [],
"env": {
"ZOTLINK_ZOTERO_ROOT": "/Users/yourname/Zotero"
}
}
}
}
Advanced configuration (specify paths separately):
{
"mcpServers": {
"zotlink": {
"command": "/path/to/zotlink",
"args": [],
"env": {
"ZOTLINK_ZOTERO_DB": "/Users/yourname/Zotero/zotero.sqlite",
"ZOTLINK_ZOTERO_DIR": "/Users/yourname/Zotero/storage"
}
}
}
}
Minimal config (auto-detect Zotero paths):
... [View full README on GitHub](https://github.com/TonybotNi/ZotLink#readme)