Section 1
Why This Matters
Close a Claude chat and everything in it is gone. Open a new one tomorrow and you're either re-explaining the whole situation from scratch, or Claude is re-reading your project files to reconstruct context it already had yesterday.
Both of those cost tokens. The second one costs a lot of tokens, because "re-read the whole file" scales with how big your project gets.
This setup fixes it with one MCP server. At the end of a session, a skill writes a short summary and saves it to NotebookLM as a new source. At the start of the next session, Claude asks NotebookLM one question instead of re-reading everything, and gets back exactly the part that's still relevant, with citations.
It's not literally free. Saving costs a few hundred tokens, asking costs a few hundred tokens. But that's a fraction of what re-reading a growing project from scratch costs every single session.
| Approach | Per-Session Cost | Setup | Persists Across Chats? |
|---|---|---|---|
| Re-explain every time | You type it, every time | None | No |
| Re-read project files | Grows with project size | None | Partial, manual |
| NotebookLM auto-memory | A few hundred tokens | 10 minutes, once | Yes, with citations |
Section 2
Install and Authenticate
1. Install the MCP
In Claude Code:
$ claude mcp add notebooklm -- npx notebooklm-mcp@latest Using Cursor, VS Code, or Codex instead? Same MCP, different config file. Instructions: github.com/PleasePrompto/notebooklm-mcp
2. Log In (Once)
Tell Claude: "Log me in to NotebookLM"
- 1. A Chrome window opens automatically
- 2. Sign in with your Google account. You have up to 10 minutes.
- 3. Done. The login is saved, you won't be asked again.
3. Create a Memory Notebook
- 1.
Go to
notebooklm.google.comand click "New notebook." Name it something like "Session Memory." - 2. Click the settings icon → Share → "Anyone with link" → copy the link.
- 3.
Tell Claude:
"Register this as my memory notebook and make it active: [paste link]". Claude adds it to its notebook library and sets it as the default.
Section 3
Build a "Wrap Up" Skill
This is the piece that actually saves your sessions. Create a file at .claude/skills/wrap-up/SKILL.md and paste this in exactly as written. It uses the real add_source tool the MCP ships with, not a made-up one.
--- name: wrap-up description: Saves a summary of this session to NotebookLM so the next session can pick up the context without re-reading everything. Trigger on "wrap up", "save this session", "/wrap-up", or when a work session is ending. --- # Wrap Up When triggered, do the following: 1. Review the session: what got built, decided, or fixed, and what's still open. 2. Write a short summary using this structure: **Date:** [today's date] **What happened:** 2-4 sentences **Decisions made:** bullet list (only the ones that matter next time) **Open items:** bullet list (what's unfinished) **Key facts:** bullet list (anything a future session needs to know) 3. Call the NotebookLM MCP tool `add_source`: - type: "text" - content: the summary from step 2 - title: "Session — [date] — [one-line topic]" - notebook_id: the memory notebook's id (call `select_notebook` first if it isn't already active) 4. Tell the user: "Saved. Memory updated." Don't save code diffs, full transcripts, or anything already tracked in git. Only the why and the what's-next, the stuff that's gone the moment the chat closes.
Trigger it by typing "/wrap-up" or just saying "wrap up this session" at the end of a work session.
Section 4
Tell Claude to Check Memory First
Add this block to your project's CLAUDE.md (or paste it at the start of any new chat). It's what makes Claude ask NotebookLM before burning tokens re-reading old files.
## Session Start Protocol Before reading any project files, ask NotebookLM what's relevant: 1. Call `ask_question` on the memory notebook: - question: "What's the most relevant context for continuing this work?" - source_format: "footnotes" 2. Use the answer to orient. Only fall back to re-reading full files or old chat history if NotebookLM's answer doesn't cover what's needed.
The source_format: "footnotes" part matters: it makes NotebookLM cite which saved session an answer came from, so you can trust it instead of guessing.
Section 5
Pro Tips
1. Summaries In, Not Transcripts
Never paste a raw chat log into memory. Garbage in, garbage out. The wrap-up skill above only saves the compressed version: what happened, what was decided, what's open. That's what makes retrieval cheap later.
2. One Memory Notebook Per Project
Don't dump every project's sessions into one giant notebook. Scope it: one memory notebook per active project. Tighter scope means the "what's relevant" question actually gets a tight answer.
3. Let It Skip the Check on Trivial Chats
A quick one-off question doesn't need a memory lookup. Reserve the wrap-up skill and the session-start check for real work sessions, not every single chat.
4. Check the Library Before Starting a New One
Ask Claude "what memory notebooks do I have?" before creating a new one. The MCP keeps a searchable library, so you can reuse an existing notebook instead of fragmenting your memory across five of them.
5. It's a Complement, Not a Replacement
This isn't a substitute for a real project doc or README. It's for the stuff that lives in conversation and would otherwise be gone forever: the "why we chose X over Y," the "still need to fix Z."
Work with Me
Want me on your problem for an hour?
Book a 1:1 call and we build the fix live — the workflow you want automated, the tool you can’t crack, whatever’s stuck. Direct, hands-on, no pitch waiting at the end.