Verified

Notebooklm MCP Server

Google NotebookLM interactions through an automated Chrome instance.

Data last scanned today · Reviewed today

501 dangerous tool19 tools3,086TypeScriptMIT

Overview

Notebooklm MCP Server provides a bridge to Google NotebookLM, enabling AI assistants to interface with notebooks by ingesting sources and reading citations. It leverages Patchright to manage a persistent Chrome profile, allowing agents to perform tasks like generating audio overviews directly from your notebook data.

Our verdict

With a security score of 45/100, this server is currently classified as high risk. Because it uses an automated browser instance to handle authentication and navigation, the security implications of its OAuth and session management are not yet editorially reviewed. It is suitable for experimental environments or power users comfortable with automated browser-based workflows, but it should be avoided in sensitive environments until its authentication flow is independently scrutinized.

  • Supports multiple transports including stdio and Streamable-HTTP
  • Persistent browser profiles reduce repeated login overhead
  • Compatible with major IDEs like Claude Code and Cursor
  • Small footprint with only six direct dependencies
  • High risk due to lack of editorial security review
  • Requires local display or xvfb-run for initial authentication
  • Community-maintained rather than official Google software
  • Bus factor risk with only two recorded contributors

Setup

Claude Desktop
{
  "mcpServers": {
    "notebooklm-mcp": {
      "args": [
        "-y",
        "notebooklm-mcp"
      ],
      "command": "npx"
    }
  }
}

Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows), then restart Claude Desktop. Some servers require API keys or tokens as environment variables — check the project's README and add an "env" object if needed.

  • No read-only mode — running this grants full read/write access.
  • No built-in authentication — anyone with access to this config can invoke every tool it exposes.

Tools

ToolDescriptionRisk
ask_questionAsk a question against a notebook. Supports session reuse, citation extraction (source_format), and per-call browser overrides. Returns answer + _provenance envelope.low
add_sourceAdd a source to a notebook. v2 supports type=url (web crawl) and type=text (paste). Returns source counts before/after.medium
generate_audioGenerate an Audio Overview. Optional custom_prompt, timeout_ms (default 600 000 ms).medium
download_audioSave the most recent Audio Overview to destination_dir. Run generate_audio first if none exists.medium
add_notebookAdd a NotebookLM share-URL to the local library with metadata. Requires explicit user confirmation.medium
list_notebooksList every notebook in the library with metadata.low
get_notebookFetch one notebook by id.low
select_notebookSet a notebook as the active default for ask_question.medium
update_notebookUpdate name, description, topics, content_types, use_cases, tags, or url.medium
remove_notebookRemove from the local library (does not delete the NotebookLM notebook itself).medium

Compatibility

ClientLocalDockerRemoteRead-only
Claude Desktop
Cursor
VS Code
Windsurf
ChatGPT

Frequently asked questions

What are the core system requirements to run the server?

You need Node.js version 18 or higher and a version of Chrome installed on Linux, macOS, or Windows. WSL2 is required for Windows users, as WSL1 cannot launch the necessary Chromium instances.

How do I authenticate my Google account?

Run the setup_auth command, which opens a visible Chrome window for you to log in once. Your credentials and cookies are then stored in a persistent local profile for future use.

Can I use this server on a headless Linux machine?

Yes, but you must use xvfb-run during the initial setup_auth process because it requires a display to open the login window. After the initial login, subsequent runs can operate in a fully headless mode.

Does the server support connecting multiple Google accounts?

Yes, you can manage multiple accounts by running distinct Chrome profiles. This is achieved by passing different account identifiers when starting the server.

What transport modes are available?

The server supports the default stdio transport for local clients and a Streamable-HTTP transport for remote or hosted agents. You can configure HTTP mode using command-line arguments or environment variables like NOTEBOOKLM_TRANSPORT.

What should I do if my authentication stops working?

You can use the re_auth command to wipe stored authentication data and restart the login process. Alternatively, use cleanup_data to perform a full system cleanup.

Alternatives

Changelog

Badge

Notebooklm MCP Server security score, rated on RepoAI

Maintain this server? Add the live badge to your README.