Skip to main content
Glama
README.md
# notebooklm-mcp

An MCP (Model Context Protocol) server that lets Claude interact with [Google NotebookLM](https://notebooklm.google.com) via browser automation.

## Usage

```bash
npx notebooklm-mcp@latest
```

## Setup

### Claude Desktop

Add to `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\Claude\claude_desktop_config.json` (Windows):

```json
{
  "mcpServers": {
    "notebooklm": {
      "command": "npx",
      "args": ["-y", "notebooklm-mcp@latest"]
    }
  }
}
```

### VS Code / Cursor / Cline

```json
{
  "mcp": {
    "servers": {
      "notebooklm": {
        "command": "npx",
        "args": ["-y", "notebooklm-mcp@latest"]
      }
    }
  }
}
```

## Authentication

On first run, a Chrome browser window opens automatically. Log in to your Google account and navigate to NotebookLM. The session is saved to `~/.notebooklm-mcp/session` so you only need to log in once.

## Environment Variables

| Variable | Default | Description |
|---|---|---|
| `NOTEBOOKLM_HEADLESS` | `false` | Set to `true` to run browser headless (requires existing session) |
| `NOTEBOOKLM_USER_DATA_DIR` | `~/.notebooklm-mcp/session` | Path to Chrome profile for persistent sessions |

## Available Tools

| Tool | Description |
|---|---|
| `list_notebooks` | List all notebooks in your account |
| `create_notebook` | Create a new notebook |
| `open_notebook` | Open a notebook by title or ID |
| `add_source` | Add a URL or text source to the open notebook |
| `query_notebook` | Ask a question and get an AI response |
| `get_notebook_info` | Get title and sources of the open notebook |
| `delete_notebook` | Delete a notebook |

## Example Prompts

- "List my NotebookLM notebooks"
- "Create a notebook called 'Research Notes'"
- "Open the 'Research Notes' notebook and add this URL as a source: https://example.com/paper"
- "Ask the notebook: What are the key findings?"

## Requirements

- Node.js 18+
- A Google account with access to NotebookLM

## License

MIT

TDQS

A4/5.0

Scored across 7 tools

Disambiguation5/5

Each tool targets a distinct action: creating, deleting, opening, listing notebooks; adding sources; querying; getting info. No overlap in functionality, making it easy for an agent to select the correct tool.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern using snake_case (e.g., create_notebook, add_source, query_notebook), making the interface predictable.

Tool Count5/5

With 7 tools, the set covers the core operations for NotebookLM management without being overly large or too sparse, perfectly scoped for the domain.

Completeness4/5

The tools cover CRUD-like operations for notebooks and basic source management and querying. Minor gaps like the inability to remove a source or rename a notebook exist but do not severely hinder the main workflow.

Maintenance

ActivityInactive
ResponsivenessNo issues