# notebooklm-mcp

Automate Google NotebookLM at scale — citation-backed Q&A from your notebooks, full Studio generation (audio overview, video, infographic, report, presentation, data table), source and notebook manag…

## Quick Start

```bash
# Connect this server (installs CLI if needed)
npx -y smithery mcp add roomifields/notebooklm-mcp

# Browse available tools
npx -y smithery tool list roomifields/notebooklm-mcp

# Get full schema for a tool
npx -y smithery tool get roomifields/notebooklm-mcp auth.logout

# Call a tool
npx -y smithery tool call roomifields/notebooklm-mcp auth.logout '{}'
```

## Tools (30)

- `auth.logout` — Log out and clear all stored authentication data.
- `auth.setup` — Authenticate with Google for NotebookLM access — opens a browser window for manual login.
- `auth.switch` — Switch to a different Google account or re-authenticate after an expired session.
- `content.download` — Download or export generated content from NotebookLM.
- `content.generate` — Generate Studio content (audio overview, video, infographic, report, presentation, data table) from the notebook's sour…
- `content.list` — List all sources and generated Studio content in the current notebook.
- `library.add` — Add a notebook to the local library with manually specified metadata.
- `library.discover` — Auto-generate a notebook's metadata (name, topics, use cases) by inspecting it in NotebookLM.
- `library.get` — Get detailed information about a specific library notebook by ID.
- `library.list` — List all notebooks in the local library with their metadata (name, topics, use cases, URL).
- `library.remove` — Remove a notebook from the local library. Destructive — requires explicit user confirmation.
- `library.search` — Search the local library by query across name, description, topics and tags.
- `library.select` — Set a notebook as the active default used by notebook.ask when no notebook is given.
- `library.stats` — Get statistics about the local notebook library (total notebooks, usage, etc.).
- `library.update` — Update a library notebook's metadata.
- `note.create` — Create a note in the NotebookLM Studio panel.
- `note.save_chat` — Save the current NotebookLM chat/discussion to a note.
- `note.to_source` — Convert a note into a source document in NotebookLM.
- `notebook.ask` — Ask a question against a notebook's sources and get a citation-backed answer. Session-based — follow-ups keep prior con…
- `notebook.create` — Create a brand-new empty notebook directly in NotebookLM.
- `notebook.delete` — Delete one or more notebooks directly from NotebookLM (UI-level deletion, not just the local library).
- `notebook.list` — Scrape the NotebookLM homepage for the real list of all notebooks with their IDs and names.
- `server.cleanup` — Deep-scan and clean up all NotebookLM MCP data files across the system.
- `server.health` — Get server health: authentication state, active sessions and configuration.
- `session.close` — Close a specific chat session by ID.
- `session.list` — List active chat sessions with age, message count and last activity.
- `session.reset` — Reset a session's chat history while keeping the same session ID.
- `source.add` — Add a source (document, URL, text or YouTube video) to the current notebook.
- `source.delete` — Delete a source from the current notebook.
- `vault.batch` — Run a list of questions against a notebook and persist each answer to disk as markdown + JSON artifacts.

```bash
# Get full input/output schema for a tool
npx -y smithery tool get roomifields/notebooklm-mcp <tool-name>
```
