Notebooklm Mcp Agent

by oaslananka

1 stars
260 downloads
Not rated
GitHub Website

About

Python MCP agent for NotebookLM-oriented workflows, document orchestration, knowledge extraction, and local automation experiments.

Details

Author
oaslananka
GitHub stars
1
Downloads
260

- Stdio clients launch notebooklm-agent stdio
- Streamable HTTP clients connect to NOTEBOOKLM_MCP_BASE_URL plus NOTEBOOKLM_MCP_HTTP_PATH
- OpenAPI clients use /openapi.json
- none: allowed only for stdio or loopback HTTP
- bearer: requires Authorization: Bearer and NOTEBOOKLM_MCP_BEARER_TOKEN

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Notebooklm Mcp Agent
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

The README includes setup instructions such as python -m pip install notebooklm-mcp-agent.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "notebooklm mcp agent": {
            "notebooklm-mcp-agent": {
                "command": "python",
                "args": [
                    "-m",
                    "pip",
                    "install",
                    "notebooklm-mcp-agent"
                ]
            }
        }
    }
}

McpServers

{
    "notebooklm-mcp-agent": {
        "command": "python",
        "args": [
            "-m",
            "pip",
            "install",
            "notebooklm-mcp-agent"
        ]
    }
}

NotebookLM MCP Agent

NotebookLM MCP Agent is a Python MCP server and CLI for NotebookLM workflows.

Status: 1.0.0 release-ready bootstrap. Publishing is owner-triggered only.

Install

python -m pip install notebooklm-mcp-agent
notebooklm-agent --version
python -m pip install notebooklm-mcp-agent
notebooklm-agent --version

Quickstart

Local stdio:

notebooklm-agent login
notebooklm-agent stdio
notebooklm-agent login
notebooklm-agent stdio

Loopback HTTP:

NOTEBOOKLM_MCP_TRANSPORT=http NOTEBOOKLM_MCP_HTTP_HOST=127.0.0.1 notebooklm-agent serve --host 127.0.0.1
$env:NOTEBOOKLM_MCP_TRANSPORT = "http"
$env:NOTEBOOKLM_MCP_HTTP_HOST = "127.0.0.1"
notebooklm-agent serve --host 127.0.0.1

Remote HTTP with bearer authentication:

export NOTEBOOKLM_MCP_TRANSPORT=http
export NOTEBOOKLM_MCP_AUTH_MODE=bearer
export NOTEBOOKLM_MCP_BEARER_TOKEN="$(python -c 'import secrets; print(secrets.token_urlsafe(32))')"
export NOTEBOOKLM_MCP_BASE_URL=https://your-server.example.com
notebooklm-agent serve --host 0.0.0.0 --port 8080
$env:NOTEBOOKLM_MCP_TRANSPORT = "http"
$env:NOTEBOOKLM_MCP_AUTH_MODE = "bearer"
$env:NOTEBOOKLM_MCP_BEARER_TOKEN = python -c "import secrets; print(secrets.token_urlsafe(32))"
$env:NOTEBOOKLM_MCP_BASE_URL = "https://your-server.example.com"
notebooklm-agent serve --host 0.0.0.0 --port 8080

Client Setup

- Stdio clients launch notebooklm-agent stdio.
- Streamable HTTP clients connect to NOTEBOOKLM_MCP_BASE_URL plus NOTEBOOKLM_MCP_HTTP_PATH.
- OpenAPI clients use /openapi.json.

Auth Modes

- none: allowed only for stdio or loopback HTTP.
- bearer: requires Authorization: Bearer and NOTEBOOKLM_MCP_BEARER_TOKEN.
- github-oauth: requires GitHub OAuth credentials and NOTEBOOKLM_MCP_OAUTH_ALLOWED_USERS.

Configuration

Supported settings: NOTEBOOKLM_MCP_TRANSPORT, NOTEBOOKLM_MCP_HTTP_HOST, NOTEBOOKLM_MCP_HTTP_PORT, NOTEBOOKLM_MCP_HTTP_PATH, NOTEBOOKLM_MCP_STATELESS_HTTP, NOTEBOOKLM_MCP_BASE_URL, NOTEBOOKLM_MCP_AUTH_MODE, NOTEBOOKLM_MCP_BEARER_TOKEN, NOTEBOOKLM_MCP_GITHUB_CLIENT_ID, NOTEBOOKLM_MCP_GITHUB_CLIENT_SECRET, NOTEBOOKLM_MCP_GITHUB_REDIRECT_PATH, NOTEBOOKLM_MCP_OAUTH_REQUIRED_SCOPES, NOTEBOOKLM_MCP_OAUTH_ALLOWED_USERS, NOTEBOOKLM_MCP_NOTEBOOKLM_AUTH_FILE, NOTEBOOKLM_MCP_NOTEBOOKLM_AUTH_JSON, NOTEBOOKLM_MCP_DATA_DIR, NOTEBOOKLM_MCP_SESSION_DB, NOTEBOOKLM_MCP_LOG_LEVEL, NOTEBOOKLM_MCP_LOG_FORMAT, NOTEBOOKLM_MCP_DESTRUCTIVE_REQUIRES_CONFIRM, NOTEBOOKLM_MCP_DEFAULT_POLL_INTERVAL_SEC, and NOTEBOOKLM_MCP_DEFAULT_POLL_TIMEOUT_SEC.

See the canonical docs site: <https://oaslananka.github.io/notebooklm-mcp-agent/>.

NotebookLM Limitation

This project uses notebooklm-py, an unofficial NotebookLM library. NotebookLM web APIs are not a public stability contract. A Google-side change can break authentication, source ingestion, chat, or artifact operations. The server validates its own MCP/OpenAPI behavior, but it cannot guarantee upstream NotebookLM API stability.

The project is not official Google software and is not affiliated with, endorsed by, or certified by Google.

Security Defaults

- Public HTTP without auth fails at startup.
- Query-parameter bearer authentication is not accepted.
- Invalid browser Origin headers return HTTP 403.
- GitHub OAuth requires an allowlist; examples use oaslananka.
- Destructive NotebookLM operations require explicit confirmation.
- Secret material belongs in environment or secret stores, not repository files.

Development

uv sync --locked --extra dev --extra browser
task verify
uv sync --locked --extra dev --extra browser
task verify

License

MIT. See LICENSE.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.