A practical guide to going from "just installed" to "NotebookLM is wired into my agent." For background on what the project is and the full feature list, see the README. For deep command/tool reference, see the CLI Guide and MCP Guide.
If you have never used notebooklm-mcp-cli before, the path is:
uv tool install notebooklm-mcp-cli. This gives you both
the nlm CLI and the notebooklm-mcp server binary. See the
README → Installation section for
alternatives (uvx, pip, pipx, source install).nlm login. The CLI extracts your Google cookies
from a managed browser session. See the
Authentication Guide for the two supported methods
(Auto Mode and File Mode) and how multi-profile auth works.bash
nlm skill install hermes # Hermes Agent
claude mcp add notebooklm-mcp -- notebooklm-mcp # Claude Code
gemini mcp add --scope user notebooklm-mcp -- notebooklm-mcp # Gemini CLI
nlm setup add json # any other MCP client (prints JSON)notebook_list (MCP) or
nlm notebook list (CLI). If you see your existing notebooks, you are
good to go.For deeper coverage, jump to the relevant guide:
auth_status state meaningsIf you previously used a browser-automation–based NotebookLM MCP (or any
other third-party NotebookLM server) and want to switch to
notebooklm-mcp-cli for direct API access, follow these steps. Most agent
frameworks (Hermes Agent, Claude Code, Cursor, etc.) get confused when two
NotebookLM servers are configured at the same time because their tool
names overlap (notebook_create, source_add, …), so a clean swap is
recommended.
uv tool install notebooklm-mcp-cli
This installs both nlm and the notebooklm-mcp server binary.
nlm login
Your Google cookies are extracted from a managed browser session and
cached in ~/.notebooklm-mcp-cli/profiles/default/auth.json. The
nlm login --check command verifies that the cached creds still work.
Pick whichever fits your agent framework:
# Hermes Agent
nlm skill install hermes
# Claude Code
claude mcp add notebooklm-mcp -- notebooklm-mcp
# Gemini CLI
gemini mcp add --scope user notebooklm-mcp -- notebooklm-mcp
For any other MCP client, generate a config snippet:
nlm setup add json
Recommended server name:
notebooklm-mcp(the default). Avoid generic names likenotebooklmif you also have a legacy server registered, or your agent will mix their tools up.
This is the step most people forget. Leaving both configured is the #1 cause of "Hermes picked the wrong tool" symptoms:
# Claude Code
claude mcp remove notebooklm # (or whatever the old name was)
# Gemini CLI
gemini mcp remove notebooklm
# Hermes / others: edit the client config directly
If you are not sure what is registered, list everything:
claude mcp list # Claude Code
gemini mcp list # Gemini CLI
Restart Claude Code / Cursor / Gemini / Hermes so the new tool list is
reloaded. Verify with a no-op call such as notebook_list (via the MCP)
or nlm notebook list (via the CLI).
auth_status says "stale" — re-run nlm login. See
Understanding auth_status
for the difference between stale and unverified.nlm doctor checks storage, auth, browser,
and MCP wiring in one go.