Get the Zotero NotebookLM Plugin running in 5 minutes.
# Verify you have the required tools
node --version # Should be 18+
python3 --version # Should be 3.8+If missing:
- Node.js: Download from nodejs.org
- Python: Download from python.org
# Install Python dependencies
cd python
uv sync
uv run playwright install chromium
cd ..
# Install Node.js dependencies (for development)
npm install# Start the Python backend (keep this running)
cd python
uv run uvicorn server:app --host 127.0.0.1 --port 5847You should see:
INFO: Uvicorn running on http://127.0.0.1:5847
Keep this terminal open! The server must run while using the plugin.
In a new terminal:
npm run build
npm run packageThis creates dist/zotero-notebooklm-plugin-1.0.0.xpi
- Open Zotero 8
- Go to Tools → Plugins
- Click the gear icon → Install Plugin From File
- Select
dist/zotero-notebooklm-plugin-1.0.0.xpi - Click Restart Now
- In Zotero, click New Item → Web Page
- Fill in:
- Title: "Test Article"
- URL: https://example.com
- Save
- Right-click the item
- Select "Add to NotebookLM"
- On first use, you'll be prompted to login:
- Click Yes
- A browser opens
- Sign in with your Google account
- Close the browser when done
- Select a notebook from the list
- Wait for "Export Complete" message
- Go to notebooklm.google.com
- Open the notebook you selected
- You should see your URL added as a source
Fix: Start the Python server:
cd python
uv run uvicorn server:app --port 5847Fix: Make sure your items have URLs:
- Select item in Zotero
- Look for URL field in right panel
- Add a URL if missing
Fix:
- Check internet connection
- Make sure you have a NotebookLM account
- Try clearing credentials:
rm -rf ~/.notebooklm - Restart the Python server
- Try logging in again
Fix: Kill the process using port 5847:
# macOS/Linux
lsof -ti:5847 | xargs kill
# Windows
netstat -ano | findstr :5847
taskkill /PID <PID> /F-
Start server (in terminal):
cd python uv run uvicorn server:app --port 5847 -
Use Zotero normally - the plugin is ready
-
Export items: Right-click → "Add to NotebookLM"
macOS/Linux - Add to ~/.bashrc or ~/.zshrc:
alias zotero-server="cd /path/to/zotero-notebooklm-plugin/python && uvicorn server:app --port 5847"Then just run: zotero-server
Windows - Create start-server.bat:
cd C:\path\to\zotero-notebooklm-plugin\python
uv run uvicorn server:app --host 127.0.0.1 --port 5847
pauseDouble-click to start.
- See README.md for full documentation
- See DEVELOPMENT.md for development guide
- Report issues on GitHub
- Check server is running: Visit http://127.0.0.1:5847/api/health
- View Zotero errors: Tools → Developer → Error Console
- Check server logs: Look at the terminal where uvicorn is running