kof-notebooklm-mcp
MCP Server for Google NotebookLM — Create notebooks, add sources, and query AI with citations directly from your IDE.
🧠 Part of the KOF-LocalBrain ecosystem
☕ Support this project
If this project helps you, you can support development here:
👉 https://buymeacoffee.com/keeponfirst
Features
- 🆕 Create Notebooks — Programmatically create and name NotebookLM notebooks
- 📄 Add Sources — Upload URLs or paste text directly into notebooks
- 💬 Ask Questions — Query the AI and get answers with source citations
- 📋 List & Inspect — Browse notebooks and their sources
- 🔐 Persistent Auth — Login once, reuse session across runs
Installation
pip install kof-notebooklm-mcp
Post-install Setup
# Install Playwright browsers
playwright install chromium
# Initialize authentication (opens browser for Google login)
kof-notebooklm-init
Quick Start
As MCP Server
Add to your MCP configuration (mcp_config.json):
{
"mcpServers": {
"notebooklm": {
"command": "kof-notebooklm-mcp",
"args": []
}
}
}
Available Tools
| Tool | Description |
|---|---|
health_check |
Verify connection and auth status |
list_notebooks |
List all notebooks |
create_notebook |
Create a new notebook (with optional title) |
get_notebook |
Get notebook details |
list_sources |
List sources in a notebook |
add_source |
Add URL or text source |
ask |
Query notebook AI with citations |
Example Usage (via MCP client)
# Create a research notebook
result = await mcp.call_tool("create_notebook", {"title": "Market Research 2026"})
notebook_id = result["notebook_id"]
# Add a source
await mcp.call_tool("add_source", {
"notebook_id": notebook_id,
"source_type": "url",
"url": "https://example.com/report.pdf"
})
# Ask a question
answer = await mcp.call_tool("ask", {
"notebook_id": notebook_id,
"question": "What are the key market trends?"
})
print(answer["answer"])
print(answer["citations"])
Configuration
Environment variables (optional):
| Variable | Description | Default |
|---|---|---|
KOF_NOTEBOOKLM_HEADLESS |
Run browser in headless mode | true |
KOF_NOTEBOOKLM_PROFILE_DIR |
Browser profile directory | ~/.kof-notebooklm/profile |
Development
git clone https://github.com/keeponfirst/kof-notebooklm-mcp.git
cd kof-notebooklm-mcp
pip install -e ".[dev]"
pytest
License
MIT License - see LICENSE for details.
Related Projects
- KOF-LocalBrain — Local-first brain capture system
- Model Context Protocol — The standard for AI tool integration
Release files for kof-notebooklm-mcp 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| kof_notebooklm_mcp-0.1.3.tar.gz | 71.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| kof_notebooklm_mcp-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size:126.5 kB
Release files / kof_notebooklm_mcp-0.1.3.tar.gz
| Download URL | kof_notebooklm_mcp-0.1.3.tar.gz |
|---|---|
| Size | 71.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
aa5a0b395f2988abaf8cd14b0c589cbe1a7b4af6f1af500e5603bed99a933c58
|
|
BLAKE2b-256 checksum How to use checksums |
ff1ace6333602b2f90b756981f77602e0d5dc36251cb3a3a56978369a27388fb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 22, 2026.
Transparency logRelease files / kof_notebooklm_mcp-0.1.3-py3-none-any.whl
| Download URL | kof_notebooklm_mcp-0.1.3-py3-none-any.whl |
|---|---|
| Size | 54.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
58d85b50ae9870c7a88aabd676127f019a9f8a6beba4d3e27dd1a2ea8dead8be
|
|
BLAKE2b-256 checksum How to use checksums |
77c972605412233e61b1878160f8513b7611ca581c07b55790669683709a8b3c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 22, 2026.
Transparency log