trackmcp
Back to directory
moodRobotics

notebooklm-mcp-server

View on GitHub

Universal installer and configuration guide for NotebookLM MCP server.

28 stars TypeScriptOthers Updated Sep 3, 2026

Documentation


πŸ’‘ What is this?

Google's Gemini Notebook (renamed from NotebookLM in July 2026) is the best grounded-answer engine on the market: it only answers from the sources you give it, with citations. This MCP server hands that power to your AI agents β€” Claude, Gemini, Antigravity, Cursor and any other MCP client β€” so they can build notebooks, run Deep Research, generate podcasts, videos, quizzes, flashcards, reports and mind maps, take notes, and share the results with your team. All programmatically, with zero hallucinations.

> [!NOTE]

> NotebookLM is now Gemini Notebook. Google renamed the product on July 16, 2026 (see notebook.google). Same product, same notebooks, same API surface β€” this server keeps working unchanged, and the npm package keeps its `notebooklm-mcp-server` name.

πŸš€ Installation

bash
npm install -g notebooklm-mcp-server

> [!NOTE]

> The server checks for updates on startup and keeps itself current automatically.

Option 2 β€” Zero-install with NPX

bash
npx -y notebooklm-mcp-server auth   # authenticate
npx -y notebooklm-mcp-server start  # run the server

πŸ”‘ Authentication

1. Run the interactive login (opens a Chromium window):

bash
npx notebooklm-mcp-server auth

2. Sign in with your Google account. When the notebook list appears, the session cookies (including Google's rotating `__Secure-1PSIDTS` token) are captured and saved to `~/.notebooklm-mcp/auth.json`.

3. Done β€” the server loads the session automatically and refreshes the rotating token by itself.

> [!TIP]

> If the session ever expires, run `npx notebooklm-mcp-server auth` again in a terminal, then call the `refresh_auth` MCP tool (or just restart your client) to pick up the new cookies without reconfiguring anything.

⚑ Connect Your AI Client

πŸ€– Claude Code

bash
claude mcp add notebooklm -- npx -y notebooklm-mcp-server start

πŸ’¬ Claude Desktop

Add to `claude_desktop_config.json` (Settings β†’ Developer β†’ Edit Config):

json
{
  "mcpServers": {
    "notebooklm": {
      "command": "npx",
      "args": ["-y", "notebooklm-mcp-server", "start"]
    }
  }
}

🌌 Antigravity CLI

Antigravity's CLI manages MCP servers through a JSON config file:

  • Global: `~/.gemini/config/mcp_config.json`
  • Per-workspace: `.agents/mcp_config.json` in your project
json
{
  "mcpServers": {
    "notebooklm": {
      "command": "npx",
      "args": ["-y", "notebooklm-mcp-server", "start"]
    }
  }
}

Then type `/mcp` in the Antigravity prompt panel to open the MCP Manager: check the connection status ring, reload the config, or inspect logs β€” no restart needed. Your agents can now cite real sources in every mission.

πŸ–₯️ Antigravity IDE

The IDE reads the same config files as the CLI (`~/.gemini/config/mcp_config.json` or `.agents/mcp_config.json`). Alternatively, open the MCP Store panel, choose *Add custom server*, and paste the same JSON snippet. Reload the server list and the NotebookLM tools appear in the agent's toolbox.

πŸ’Ž Gemini CLI

bash
gemini mcp add notebooklm --scope user -- npx -y notebooklm-mcp-server start

⌨️ Cursor

Add to `.cursor/mcp.json` in your project (or `~/.cursor/mcp.json` globally):

json
{
  "mcpServers": {
    "notebooklm": {
      "command": "npx",
      "args": ["-y", "notebooklm-mcp-server", "start"]
    }
  }
}

πŸ„ Windsurf

Add the same `mcpServers` block to `~/.codeium/windsurf/mcp_config.json`.

🧩 VS Code (Cline)

In Cline: MCP Servers β†’ Configure and add the same `mcpServers` block shown above.

πŸ“– Tool Reference

47 tools, grouped by what they do. Full parameter signatures live in docs/TOOLS.md.

πŸ“’ Notebooks

ToolDescription
`notebook_list`List all notebooks with sources and metadata
`notebook_create`Create a new notebook
`notebook_get`Get one notebook's details and source IDs
`notebook_rename`Rename a notebook
`notebook_delete`Delete a notebook (requires `confirm`)
`notebook_summarize`AI notebook guide: summary + suggested questions
`prompts_suggest`AI-suggested prompts to ask about the sources

πŸ”— Sharing

ToolDescription
`notebook_share`Toggle public link and/or manage collaborators by email
`notebook_share_status`Read the current sharing configuration

πŸ–‡οΈ Sources

ToolDescription
`notebook_add_url`Add a website or YouTube video as a source
`notebook_add_text`Add pasted text as a source
`notebook_add_drive`Add a Google Drive document as a source
`notebook_add_local_file`Upload a local PDF / TXT / Markdown file
`source_get_guide`AI guide for one source: summary + key topics
`source_rename`Rename a source
`source_check_freshness`Check if a URL/Drive source has newer content
`source_sync`Re-sync a Drive source to the latest content
`source_delete`Delete a source (requires `confirm`)

πŸ’¬ Chat

ToolDescription
`notebook_query`Ask questions about the sources, with citations
`chat_history_get`Read the latest conversation's Q&A turns
`chat_history_delete`Clear the chat history (requires `confirm`)
`chat_configure`Set the chat persona (default / learning guide / custom) and response length

πŸ” Research

ToolDescription
`research_start`Launch web or Drive research (fast β‰ˆ30s / deep β‰ˆ5min)
`research_poll`Check research progress and discovered sources
`research_import`Import the discovered sources into the notebook

🎨 Studio

ToolDescription
`audio_overview_create`Podcast-style Audio Overview (formats: deep dive, brief, critique, debate)
`video_overview_create`Video Overview (9 visual styles, from whiteboard to anime)
`report_create`Written report from the sources
`flashcards_create`Flashcards (quantity and difficulty options)
`quiz_create`Interactive quiz (quantity and difficulty options)
`infographic_create`Infographic (landscape / portrait / square)
`slide_deck_create`Slide deck
`data_table_create`Structured data table
`studio_poll`Check generation status of all artifacts
`studio_delete`Delete a studio artifact

πŸ“¦ Artifacts

ToolDescription
`artifact_content_get`Fetch generated content (quiz/flashcards HTML, mind map JSON)
`artifact_rename`Rename an artifact
`artifact_export`Export an artifact to Google Drive (Docs or Sheets)

πŸ“ Notes & Mind Maps

ToolDescription
`note_create`Create a note
`note_list`List all notes
`note_update`Update a note's content/title
`note_delete`Delete a note (requires `confirm`)
`mind_map_generate`Generate a mind map JSON from sources
`mind_map_save`Save a mind map to the notebook
`mind_map_list`List saved mind maps
`mind_map_delete`Delete a mind map

βš™οΈ System

ToolDescription
`refresh_auth`Reload session cookies from disk after re-running `auth`

πŸ§ͺ Recipes

Real prompts you can paste into any connected agent β€” it picks the right tools by itself.

πŸŽ™οΈ From research question to podcast

> *"Research the latest on solid-state batteries with deep research, build a notebook called 'Solid State 2026' with the best sources, and generate a brief audio overview in English. Give me the link when it's done."*

The agent chains `notebook_create` β†’ `research_start(mode: deep)` β†’ `research_poll` β†’ `research_import` β†’ `audio_overview_create(format: brief)` β†’ `studio_poll`, and returns the notebook URL with the finished podcast.

πŸŽ“ Study kit from your PDFs

> *"Take the three PDFs in ./lectures, put them in a new notebook, and make me a hard quiz plus flashcards on the key concepts. Show me the quiz questions here."*

The agent runs `notebook_add_local_file` per PDF, then `quiz_create(difficulty: hard)` + `flashcards_create`, polls with `studio_poll`, and pulls the questions out with `artifact_content_get`.

πŸ‘₯ Team briefing, shared

> *"Build a briefing notebook from these five links about our competitor, write a report, export it to Google Docs, and share the notebook with ana@example.com as a viewer."*

The agent chains `notebook_add_url` Γ—5 β†’ `report_create` β†’ `studio_poll` β†’ `artifact_export(format: docs)` β†’ `notebook_share(user_email, user_role: viewer)` β€” and your teammate finds the notebook and the Doc waiting.

πŸ› οΈ Troubleshooting

SymptomFix
`auth` warns the API rejected your cookies right after loginYour Google account enforces Device Bound Session Credentials (DBSC) β€” default-on for Workspace and most personal accounts. DBSC ties the session to a device-held key, so cookies exported from the browser are refused by the API. Cookie-extraction clients cannot bypass this; use a Google account without DBSC enforcement.
`Authentication expired` right after logging inUpdate to β‰₯ 3.0.8 β€” older versions missed Google's rotating `__Secure-1PSIDTS` token. The server now captures and auto-refreshes it.
`Authentication failed` after weeks of useGoogle sessions eventually expire. Run `npx notebooklm-mcp-server auth`, then call the `refresh_auth` tool.
Studio generation stuck on `pending`Long sources take a while β€” keep polling `studio_poll`; audio/video can take several minutes.
RPC errors after a Google updateGoogle occasionally rotates internal build labels. Update the package; if it persists, open an issue.

πŸ§‘β€πŸ’» Development

bash
git clone https://github.com/moodRobotics/notebooklm-mcp-server.git
cd notebooklm-mcp-server
npm install
npm run build
npm run typecheck

Architecture notes live in docs/ARCHITECTURE.md, the roadmap in docs/ROADMAP.md.

🌐 Localization

This README is available in English, EspaΓ±ol, FranΓ§ais, PortuguΓͺs and Deutsch. If you edit one, please keep the others in sync (`npm run docs:check`).

πŸ“„ License

MIT β€” Developed with ❀️ by moodRobotics.

> [!IMPORTANT]

> This is an unofficial community project. It is not affiliated with or endorsed by Google. It relies on reverse-engineered internal APIs that may change without notice; use it with a Google account you are comfortable automating.

Frequently asked questions

What is notebooklm-mcp-server?

notebooklm-mcp-server is Universal installer and configuration guide for NotebookLM MCP server.

How do I install notebooklm-mcp-server?

Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.

Is notebooklm-mcp-server open source?

Yes β€” it is hosted on GitHub at https://github.com/moodRobotics/notebooklm-mcp-server and has 28 stars.

Related MCP tools

Run your own MCP server? See who uses it and what to fix.

Measure it with TrackMCP