Notebooklm Mcp Agent
About
Python MCP agent for NotebookLM-oriented workflows, document orchestration, knowledge extraction, and local automation experiments.
Details
- Author
- oaslananka
- GitHub stars
- 1
- Downloads
- 260
Jump to
- 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:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Notebooklm Mcp AgentCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- 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.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.


