Two things here are hard to get any other way. Deep Research runs as a start-poll-import loop, so an agent can go looking for sources, wait for them, and then decide which actually enter the notebook. And the Studio artifacts — an audio overview, a video, a slide deck, flashcards, a mind map — all come from the same source set with a focus prompt, without opening the product. What you accept in exchange is the authentication model: a browser login captured as cookies on disk rather than a scoped API key.
A server over Gemini Notebook, the grounded-answer product Google renamed from NotebookLM. It creates notebooks, adds sources from URLs, pasted text, Drive documents and local files, asks questions answered only from those sources, and produces the Studio artifacts built on top of them.
- Notebooks listed with their sources and metadata, created, renamed and deleted — deletion requires an explicit confirmation because it cannot be undone
- Sources added four ways: notebook_add_url for a website or a YouTube video, notebook_add_text for pasted content, notebook_add_drive for a Google Drive document, notebook_add_local_file for a local PDF, text or Markdown file
- source_sync pulls the current content of a Drive source, and source_delete removes one behind the same confirmation
- notebook_query asks about the sources already in the notebook — scoped to particular source IDs if you want, and continued within a conversation — while chat_configure sets the notebook's goal, response length and custom prompt
- Deep Research as a three-step loop: research_start against the web or Drive, research_poll for status and results, research_import to bring in only the sources you accept
- Studio output from the same sources, each with a language and a focus prompt — audio_overview_create, video_overview_create, report_create, flashcards_create, infographic_create, slide_deck_create and data_table_create — with studio_poll for progress and studio_delete to clear one
- Mind maps generated as JSON, saved into a notebook, listed and deleted
- refresh_auth reloads the session cookies from disk after you re-authenticate, so nothing in the client needs reconfiguring
Published as notebooklm-mcp-server and launched over stdio with npx, or installed globally. It signs in as you rather than through an API: its auth command opens a Chromium window, you log in with your Google account, and the session cookies — including Google's rotating __Secure-1PSIDTS token — are saved to ~/.notebooklm-mcp/auth.json, after which the server refreshes the rotating token itself. If the session does expire, run auth again and call refresh_auth to pick up the new cookies.
One command — npx -y notebooklm-mcp-server start
