notebooklm-mcp-server

notebooklm-mcp-server

Enables AI agents to interact with Google NotebookLM for grounded, hallucination-free answers through notebook management, source management, research, and generation tools.

Category
Visit Server

README

<p align="center"> <img src="./notebooklm_mcp_logo.png" width="200" alt="Notebook-mcp-server Logo"> </p>

<h1 align="center">NotebookLM MCP Server</h1>

<p align="center"> <b>Let your AI agents chat directly with Google NotebookLM for zero-hallucination answers.</b> </p>

<p align="center"> <b>English</b> • <a href="README.es.md">Español</a> • <a href="README.fr.md">Français</a> • <a href="README.pt.md">Português</a> • <a href="README.de.md">Deutsch</a> </p>

<p align="center"> <a href="https://www.typescriptlang.org/"><img src="https://img.shields.io/badge/TypeScript-3178C6?style=for-the-badge&logo=typescript&logoColor=white" alt="TypeScript"></a> <a href="https://modelcontextprotocol.io"><img src="https://img.shields.io/badge/MCP-Model%20Context%20Protocol-orange?style=for-the-badge" alt="MCP"></a> <a href="https://www.npmjs.com/package/notebooklm-mcp-server"><img src="https://img.shields.io/badge/NPM-CB3837?style=for-the-badge&logo=npm&logoColor=white" alt="NPM"></a> </p>

<p align="center"> <img src="https://img.shields.io/badge/Windows-0078D4?style=for-the-badge&logo=windows&logoColor=white" alt="Windows"> <img src="https://img.shields.io/badge/macOS-000000?style=for-the-badge&logo=apple&logoColor=white" alt="macOS"> <img src="https://img.shields.io/badge/Linux-FCC624?style=for-the-badge&logo=linux&logoColor=black" alt="Linux"> </p>

<p align="center"> <a href="https://anthropic.com"><img src="https://img.shields.io/badge/Claude%20Code-Skill-blueviolet?style=for-the-badge" alt="Claude Code"></a> <a href="https://geminicli.com/"><img src="https://img.shields.io/badge/Gemini%20CLI-Skill-blueviolet?style=for-the-badge" alt="Gemini CLI"></a> <img src="https://img.shields.io/badge/Cursor-000000?style=for-the-badge&logo=cursor&logoColor=white" alt="Cursor"> <img src="https://img.shields.io/badge/Windsurf-00AEEF?style=for-the-badge" alt="Windsurf"> <img src="https://img.shields.io/badge/Cline-FF5733?style=for-the-badge" alt="Cline"> </p>

<p align="center"> <a href="#installation">Installation</a> • <a href="#authentication">Authentication</a> • <a href="#quick-start-claude-desktop">Quick Start</a> • <a href="#claude-code-skill">Claude Code</a> • <a href="#documentation">Documentation</a> • <a href="#development">Development</a> </p>

The Solution

The NotebookLM MCP Server brings the power of Google's NotebookLM directly into your AI-augmented workflow. Built natively in TypeScript using the Model Context Protocol, it allows agents to read, search, and manage your notebooks as if they were local files.


🚀 Installation

1. Global Installation (Recommended)

You can install the server directly from NPM:

npm install -g notebooklm-mcp-server

[!NOTE] Auto-update: The server automatically checks for new versions at startup. If an update exists, it will install itself and ask you to restart to ensure you always have the latest Google fixes.

2. Direct usage with NPX (Zero-Config)

If you don't want to install it globally, you can run it directly:

npx notebooklm-mcp-server auth   # To log in
npx notebooklm-mcp-server start  # To run the server

🔑 Authentication

Before using the server, you must link it to your Google Account. This version uses a secure, persistent browser session:

  1. Run the authentication command:
    npx notebooklm-mcp-server auth
    
  2. A browser window will open. Log in with your Google account.
  3. Close the browser once you see your notebooks. Your session is now securely saved locally.

[!TIP] Session Expired? If your agent receives authentication errors, simply ask it to run the command npx notebooklm-mcp-server refresh_auth. It will automatically open the browser for you to renew the session without leaving your chat.


⚡ Quick Start

🤖 Claude Desktop

Add the following to your claude_desktop_config.json:

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

💻 Visual Studio Code

Since VS Code does not support MCP natively yet, you must use an extension:

Option A: Using Cline (Recommended)

  1. Open Cline Settings in VS Code.
  2. Scroll to the MCP Servers section.
  3. Click Add New MCP Server.
  4. Use the following configuration:
    • Name: notebooklm
    • Command: npx -y notebooklm-mcp-server start

Option B: Using MCP Client

  1. Install the extension from the Marketplace.
  2. Open your VS Code settings.json.
  3. Add the server under mcp.servers:
    "mcp.servers": {
      "notebooklm": {
        "command": "npx",
        "args": ["-y", "notebooklm-mcp-server", "start"]
      }
    }
    

🌌 Antigravity

Antigravity supports MCP natively. You can add the server by editing your global configuration file:

  1. Locate your mcp.json:

    • Windows: %APPDATA%\antigravity\mcp.json
    • macOS: ~/Library/Application Support/antigravity/mcp.json
    • Linux: ~/.config/antigravity/mcp.json
  2. Add the server to the mcpServers object:

{
  "mcpServers": {
    "notebooklm": {
      "command": "npx",
      "args": ["-y", "notebooklm-mcp-server", "start"]
    }
  }
}
  1. Restart Antigravity: The new tools will appear in your sidebar instantly.

💎 Gemini CLI

Run the following command in your terminal to add the notebooklm skill:

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

🤖 Claude Code Skill

Add it instantly to Claude Code:

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

📖 Documentation

The following tools are available through this MCP server:

📒 Notebook Management

Tool Description
notebook_list Lists all notebooks in your account.
notebook_create Creates a new notebook with a title.
notebook_rename Renames an existing notebook.
notebook_delete Deletes a notebook (Warning: Destructive).

🖇️ Source Management

Tool Description
notebook_add_url Adds a website or YouTube video as a source.
notebook_add_text Adds custom text content as a source.
notebook_add_local_file Uploads a local PDF, Markdown or Text file.
notebook_add_drive Adds a file from Google Drive (Docs, Slides, etc).
source_delete Removes a source from a notebook.
source_sync Syncs a Drive source to get the latest version.

🔍 Research & Query

Tool Description
notebook_query Asks a grounded question to a specific notebook.
research_start Starts a web/drive research task.
research_poll Polls for research status and results.
research_import Imports research results as permanent sources.

🎨 Studio & Generation

Tool Description
audio_overview_create Generates an Audio Overview (podcast).
studio_poll Checks status of generated audio/video artifacts.
mind_map_generate Generates a Mind Map JSON from sources.

⚙️ System

Tool Description
refresh_auth Interactive: Opens a browser to renew your Google session. Use this if tools start failing.

🛠️ Development

To contribute or build from source:

git clone https://github.com/moodRobotics/notebook-mcp-server.git
npm install
npm run build

🌐 Localization

This project is available in multiple languages:

If you update the English README.md, please ensure the translations are updated accordingly to keep the documentation synchronized.

📄 License

MIT License. Developed with ❤️ by moodRobotics.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured