This report evaluates different approaches to integrating Google NotebookLM with AI agents (such as Claude Code, Cursor, or Codex) and command-line workflows. It compares the current browser-automation-based skill against two leading open-source alternatives: PleasePrompto/notebooklm-mcp and jacob-bd/notebooklm-mcp-cli.
The current /notebooklm skill used in this workspace is based on Browser Automation (driving a headless Chromium instance via Patchright/Playwright). In practice, this approach suffers from severe limitations:
.to-user-container .message-text-content), any UI update breaks the scraper, leading to timeouts or empty responses.This matrix compares the current implementation against the two open-source alternatives.
| Name (Link) | Stars | Latest Commit Date | Setup Overhead | Pros & Cons | License & Cost | Key Core Features |
|---|---|---|---|---|---|---|
Current /notebooklm Skill (Baseline) |
N/A | Local | Medium (Auto-venv via run.py) |
+ Stateless, isolated - Extremely slow (15-45s) - No source extraction - Highly fragile to UI updates |
MIT / Free | Basic Q&A via headless browser scraping |
| PleasePrompto/notebooklm-mcp | Active | 2026-05-01 | Medium (Installed via npx) |
+ Full MCP server protocol + Cross-client session sharing - Still uses Patchright browser automation under the hood - High CPU/RAM footprint |
MIT / Free | Q&A, Notebook & source management, Audio Overview generation |
| jacob-bd/notebooklm-mcp-cli | Active | 2026-06-25 | Medium (Installed via pipx / pip) |
+ Extremely Fast (Direct HTTP requests) + Rich Source Extraction (JSON metadata) + No UI selector fragility - Risk of "RPC drift" if Google changes internal endpoints |
MIT / Free | Q&A with precise citations, full notebook/source CRUD, Audio Overview, Study Guide generation |
src/notebooklm/selectors.ts must be manually updated by the maintainers or the server will fail.nlm login) to extract session cookies using the Chrome DevTools Protocol (CDP). Once authenticated, it communicates directly with Google's internal batchexecute RPC endpoints by sending raw POST payloads.NOTEBOOKLM_RPC_OVERRIDES. If Google updates a method ID, the user can override it instantly without waiting for a package update.jacob-bd/notebooklm-mcp-cliThis tool directly addresses all the pain points of the current system: 1. It eliminates the 30-second browser startup delay. 2. It provides complete, structured source and citation extraction. 3. It is much more stable than DOM scraping.
notebooklm-mcp-cli:
bash
pipx install notebooklm-mcp-clibash
nlm login
This opens a browser window for a one-time Google login and automatically captures the session cookies.mcp.json or through the CLI):
json
{
"mcpServers": {
"notebooklm": {
"command": "nlm",
"args": ["mcp"]
}
}
}/Users/keira/.gemini/config/skills/notebooklm directory to prevent the agent from falling back to the slow browser-based automation.