Notebooklm mcp server

Let your AI agents chat directly with Google NotebookLM for zero-hallucination answers.

NotebookLM Web Importer

Import web pages and YouTube videos to NotebookLM with one click. Trusted by 200,000+ users.

Install Chrome Extension

Documentation

NotebookLM MCP Server logo

NotebookLM MCP Server

Give your AI agents full control of Google Gemini Notebook (formerly NotebookLM): grounded answers, deep research, podcasts, quizzes, and more — 47 tools, zero hallucinations.

EnglishEspañolFrançaisPortuguêsDeutsch

TypeScript MCP npm version

Windows macOS Linux

Claude Code Antigravity Gemini CLI Cursor Windsurf Cline

InstallationAuthenticationConnect Your AI ClientTool ReferenceRecipesDevelopment


💡 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

Option 1 — Global install (recommended)

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

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):
npx notebooklm-mcp-server auth
  1. 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.

  2. 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

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

💬 Claude Desktop

Add to claude_desktop_config.json (Settings → Developer → Edit Config):

{
  "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
{
  "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

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):

{
  "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_listList all notebooks with sources and metadata
notebook_createCreate a new notebook
notebook_getGet one notebook's details and source IDs
notebook_renameRename a notebook
notebook_deleteDelete a notebook (requires confirm)
notebook_summarizeAI notebook guide: summary + suggested questions
prompts_suggestAI-suggested prompts to ask about the sources

🔗 Sharing

ToolDescription
notebook_shareToggle public link and/or manage collaborators by email
notebook_share_statusRead the current sharing configuration

🖇️ Sources

ToolDescription
notebook_add_urlAdd a website or YouTube video as a source
notebook_add_textAdd pasted text as a source
notebook_add_driveAdd a Google Drive document as a source
notebook_add_local_fileUpload a local PDF / TXT / Markdown file
source_get_guideAI guide for one source: summary + key topics
source_renameRename a source
source_check_freshnessCheck if a URL/Drive source has newer content
source_syncRe-sync a Drive source to the latest content
source_deleteDelete a source (requires confirm)

💬 Chat

ToolDescription
notebook_queryAsk questions about the sources, with citations
chat_history_getRead the latest conversation's Q&A turns
chat_history_deleteClear the chat history (requires confirm)
chat_configureSet the chat persona (default / learning guide / custom) and response length

🔍 Research

ToolDescription
research_startLaunch web or Drive research (fast ≈30s / deep ≈5min)
research_pollCheck research progress and discovered sources
research_importImport the discovered sources into the notebook

🎨 Studio

ToolDescription
audio_overview_createPodcast-style Audio Overview (formats: deep dive, brief, critique, debate)
video_overview_createVideo Overview (9 visual styles, from whiteboard to anime)
report_createWritten report from the sources
flashcards_createFlashcards (quantity and difficulty options)
quiz_createInteractive quiz (quantity and difficulty options)
infographic_createInfographic (landscape / portrait / square)
slide_deck_createSlide deck
data_table_createStructured data table
studio_pollCheck generation status of all artifacts
studio_deleteDelete a studio artifact

📦 Artifacts

ToolDescription
artifact_content_getFetch generated content (quiz/flashcards HTML, mind map JSON)
artifact_renameRename an artifact
artifact_exportExport an artifact to Google Drive (Docs or Sheets)

📝 Notes & Mind Maps

ToolDescription
note_createCreate a note
note_listList all notes
note_updateUpdate a note's content/title
note_deleteDelete a note (requires confirm)
mind_map_generateGenerate a mind map JSON from sources
mind_map_saveSave a mind map to the notebook
mind_map_listList saved mind maps
mind_map_deleteDelete a mind map

⚙️ System

ToolDescription
refresh_authReload 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_createresearch_start(mode: deep)research_pollresearch_importaudio_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_createstudio_pollartifact_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 pendingLong 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

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.