Reading the repo
Reading the repo
How to install on macOS
Programmatic access to Gemini Notebook - via command-line interface (CLI), Model Context Protocol (MCP) server, and AI agent skills.
Saved setup from 4 h ago
Will it work on macOS?
docs/GETTING_STARTED.mdA practical guide to going from "just installed" to "Gemini Notebook (formerly Google 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 supported methods
and how multi-profile auth works.
🔒 Tip: On a personal computer,
nlm loginasks before the browser opens whether to keep your login encrypted in your OS keystore (recommended) or as a plain file. Already logged in? Switch any time withnlm setup→ Credential protection ornlm auth storage set protected. See Protected Storage.
nlm setup
Choose Add the MCP to my tools/agents, tick your apps with Space, and
press Enter. The wizard configures MCP at user/app scope, then offers the
optional skill for all projects or the current folder. Use Show my tools'
status to check what is connected, and Copy MCP setup for a tool not
listed for a client without a built-in installer. For Claude Desktop's
Chat and Cowork tabs (and claude.ai), tick Claude Desktop / claude.ai in
Add the skill to get an upload file (~/Downloads/nlm-skill.zip).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 Gemini Notebook MCP (or any
other third-party Gemini Notebook 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
Gemini Notebook 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.
Recommended: run the guided wizard to configure supported clients and optionally install the skill:
nlm setup
The skill defaults to all projects (user level); choose the current folder for project scope. For direct configuration, the existing client-specific commands remain available. For example:
# Hermes Agent
nlm skill install hermes
# Claude Code
claude mcp add gemini-notebook-mcp -- notebooklm-mcp
# Gemini CLI
gemini mcp add --scope user gemini-notebook-mcp -- notebooklm-mcp
# Claude Desktop (detects regular and Relay AI/3P profiles)
nlm setup add claude-desktop
# Or select Relay AI / Claude 3P explicitly
nlm setup add claude-desktop --profile 3p
For any other MCP client, generate a config snippet:
nlm setup add json
Recommended server name:
gemini-notebook-mcp. The executable remainsnotebooklm-mcp. Avoid generic names likenotebooklmif you also have a legacy server registered, or your agent will mix their tools up.
For Claude Desktop, fully quit the selected profile before running setup. If both regular and Relay AI/3P profiles are detected, the CLI asks which one to configure; if no profile exists, it creates nothing. Reopen Claude Desktop after setup completes.
User-level skill installation also requires the target tool to be detected;
use nlm skill install <tool> --level project when you intentionally want a
project-local skill without changing user-level tool directories.
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
Only removing a different Gemini Notebook server needs this step. If the old entry is this project's own pre-rebrand name (
notebooklm-mcpornotebooklm),nlm setupshows it as ⚠ old name and renames it togemini-notebook-mcpfor you: Add the MCP to my tools/agents → Needs a fix.
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.Then run bash setup.sh. It stops at the first error and is safe to run again. Servers and tests aren't started; it lists them at the end. Read it first.
Needs Git: xcode-select --install
git clone https://github.com/jacob-bd/gemini-notebook-mcp-cli.git cd gemini-notebook-mcp-cli
Python >=3.11
brew install uv
uv sync
uv run pytest
Three commands take you from nothing to a connected AI assistant:
nlm and the MCP server):uv tool install notebooklm-mcp-cli
nlm login
nlm setup
nlm setup)nlm setup finds the AI tools installed on your machine and connects them to
Gemini Notebook — no config files to edit. Pick an option with the arrow keys:
| Menu option | What it does |
|---|---|
| Show my tools' status | One table for every detected tool: MCP connection (✓ set up · ✗ not yet · ⚠ old name) and skill version (⬆ when an upgrade is available). |
| Add the MCP to my tools/agents | Tick the tools to connect (Space), then Enter. Nothing is pre-selected. Connections still using the old notebooklm-mcp name appear under Needs a fix and are renamed to gemini-notebook-mcp, keeping their settings. Then it offers the skill. |
| Add the skill to my tools/agents | Installs the skill that teaches your AI how to use Gemini Notebook well — for All my projects (default) or Just this folder. Upgrades are pre-ticked; older versions are only replaced after you confirm. |
| Remove an MCP or skill | Lists what's installed, grouped into MCP connections and skills. Nothing is pre-selected, and each group needs its own confirmation. |
| Credential protection | Protect your saved logins in your OS keystore, or restore them to plain files. It only offers what applies: Protect when a login is plain, Restore when one is protected. With several logins you get a checkbox picker. |
| Copy MCP setup for a tool not listed | Copies a ready-to-paste JSON snippet to your clipboard. Advanced options switch to uvx, the bare command, or entry-only JSON. |
~/.notebooklm-mcp-cli/backups/ before it is changed.~/Downloads/nlm-skill.zip and shows where to upload it (Customize → Skills → Add). Or run nlm skill package.nlm setup add <tool>, nlm setup remove <tool>, nlm setup list, nlm skill install <tool>. See MCP Configuration.No reports for macOS yet.
Opens a chat with this manual already filled in, for macOS. It uses your own account; gitmanual sends nothing.