NotebookLM Claude Integration
Complete integration of Google NotebookLM with Claude AI through both Claude Desktop (MCP) and Claude Code (Plugin).
Status: Production-ready ✅ | Built: Dec 2024 | Tested: Fully functional
What This Is
This project provides two complete integrations for using NotebookLM with Claude:
- Claude Desktop - MCP Server for conversational interface
- Claude Code CLI - Plugin for development workflow
Both allow you to query your NotebookLM notebooks directly from Claude, getting citation-backed answers from Gemini without leaving your workflow.
Quick Start
Project plan lives at docs/PROJECT_PLAN.md with topic-specific items under docs/plans/.
CI details live at docs/CI.md.
Keep Pixi dependencies current (updates the lockfile, then installs from it):
pixi run pixi-sync
NotebookLM end-to-end integration (uses your local Chrome auth):
NOTEBOOK_IDS=pytest-patterns \
QUESTION="Summarize the key sources in this notebook." \
pixi run notebooklm-integration
AI Agent Step-by-Step (Codex CLI)
Use this sequence when an agent needs to verify the NotebookLM integration end-to-end.
- Install and enable the MCP server:
uv tool install notebooklm-mcp-server
codex mcp add notebooklm-rpc notebooklm-mcp
- Authenticate once (browser login) and persist cookies:
pixi run notebooklm-auth-rpc
- Run the full E2E test (downloads the skill from GitHub into a temp repo and queries a notebook):
pixi run codex-skill-e2e
- Optional overrides:
NOTEBOOK_URL="https://notebooklm.google.com/notebook/<id>" \
NOTEBOOK_NAME="My Test Notebook" \
NOTEBOOK_DESC="Notebook for testing Codex + NotebookLM." \
NOTEBOOK_ID="my-test-notebook" \
pixi run codex-skill-e2e
AI Agent Step-by-Step (Codex SDK)
Use this sequence when a Codex SDK agent must validate the setup and produce a confirmed response.
- Ensure Codex CLI + MCP are set up (same as CLI steps above).
- Run the SDK verification (temp workspace, streaming output):
SDK_ROOT=/tmp/codex-sdk-verify
rm -rf "$SDK_ROOT" && mkdir -p "$SDK_ROOT"
cd "$SDK_ROOT"
cat <<'EOF' > package.json
{
"name": "codex-sdk-verify",
"version": "0.1.0",
"private": true,
"type": "module",
"scripts": { "run": "node run.mjs" },
"dependencies": { "@openai/codex-sdk": "^0.77.0" }
}
EOF
cat <<'EOF' > run.mjs
import { Codex } from "@openai/codex-sdk";
const prompt = [
"Use the notebooklm-patterns skill.",
"List all notebooks, then ask each notebook (via notebook_id) this question:",
"'How can we improve the Codex implementation in this repo?'.",
"Aggregate responses labeled by notebook name and include citations.",
"If any notebook_query times out, retry once. If it still times out, record a timeout for that notebook and continue.",
].join(" ");
const codex = new Codex();
const thread = codex.startThread({
workingDirectory: "/tmp/codex-skill-verify",
sandboxMode: "read-only",
approvalPolicy: "never",
});
const { events } = await thread.runStreamed(prompt);
for await (const event of events) {
if (event.type === "item.completed" && event.item?.type === "agent_message") {
console.log(event.item.text);
}
if (event.type === "turn.failed") {
console.error("Codex SDK turn failed:", event.error?.message ?? event.error);
}
}
EOF
npm install
npm run run
For Claude Code (Plugin)
# 1. Ensure NotebookLM MCP server is configured
uv tool install notebooklm-mcp-server
claude mcp add notebooklm-rpc -- notebooklm-mcp
# 2. Add the plugin marketplace from GitHub
claude plugin marketplace add ray-manaloto/notebooklm-claude-integration
# 3. Install the plugin (project scope)
claude plugin install notebooklm@notebooklm-plugin --scope project
# 4. Verify installation
claude plugin marketplace list # Should show: notebooklm-plugin
claude plugin list # Should show: notebooklm
# 5. Restart Claude Code, then:
/nlm auth rpc # First-time authentication
/nlm list # List notebooks
/nlm ask "Your question" # Query the notebook
For local development (if you cloned this repo):
claude plugin marketplace add .
For Claude Desktop (MCP)
npm install -g notebooklm-mcp
Alternate NotebookLM MCP (HTTP/RPC, jacob-bd)
This repo also supports the HTTP/RPC-based MCP server from jacob-bd/notebooklm-mcp, which exposes additional tools (notebook creation, Drive sync, Studio artifacts).
Install + auth:
uv tool install notebooklm-mcp-server
GOOGLE_ACCOUNT=ray.manaloto@gmail.com pixi run notebooklm-auth-rpc