Operates NotebookLM through MCP tools to authenticate, create/list/rename/delete notebooks, add/sync/delete sources (URL, text, Drive), run research_start workflows, ask notebook_query questions, export source content, and generate studio artifacts (audio/video/infographic/slides/reports/flashcards/quizzes/tables/mind maps). Use when the user mentions NotebookLM, MCP, notebooks, sources, Drive docs, web research, “summarize my sources,” “ask the notebook,” or creating overviews/slides/reports/flashcards/quizzes.
Plan
Validate
source_list_drive first.confirm=True.Execute
Use this flow whenever calls fail due to auth or right after running CLI auth.
refresh_auth.notebooklm-mcp-auth (see scripts/).refresh_auth again to pick up new tokens/cookies.save_auth_tokens as a fallback.Rules
--help.notebook_id, use it.notebook_list (default max_results is fine).notebook_create using a descriptive title.notebook_list(max_results=...)notebook_create(title=...)notebook_get(notebook_id=...)notebook_describe(notebook_id=...)notebook_rename(notebook_id=..., new_title=...)notebook_delete(notebook_id=..., confirm=True) after explicit user approval that includes “delete” intent.notebook_get and summarize what will be removed.notebook_add_url(notebook_id=..., url=...).notebook_get to confirm the source appears.notebook_add_text(notebook_id=..., text=..., title=optional).notebook_add_drive(notebook_id=..., document_id=..., title=..., doc_type=doc|slides|sheets|pdf).document_id from the Drive URL (the long ID in /d/<ID>/ or similar).Validation tips
notebook_get to obtain source IDs.source_get_content over notebook_query.source_describe(source_id=...) to generate a short summary and keywords.source_get_content(source_id=...) to retrieve the original indexed text and metadata.source_delete(source_id=..., confirm=True) after explicit user approval.notebook_get before deleting.Use notebook_query only when the needed sources are already in the notebook.
Steps
notebook_get and capture relevant source_ids (or query all).notebook_query(notebook_id=..., query=..., source_ids=[...optional...], conversation_id=...optional..., timeout=...optional...)Follow-ups
conversation_id for iterative questioning.If responses time out
source_ids.timeout if the environment allows.Use this lane when the user wants discovery, “find sources,” “deep research,” “search web,” or “search Drive.”
Correct sequence
research_start(query=..., source=web|drive, mode=fast|deep, notebook_id=optional, title=optional)research_status(notebook_id=..., task_id=optional, poll_interval=30, max_wait=300, compact=True)research_import(notebook_id=..., task_id=..., source_indices=optional)Heuristics
mode=fast for quick results and iteration.mode=deep for comprehensive web-only research.notebook_describe to generate a notebook-level summary and suggested topics.When the user asks to “sync Drive docs” or “update sources”:
source_list_drive(notebook_id=...).source_sync_drive(source_ids=[...], confirm=True).source_list_drive or notebook_get.Use chat_configure to steer style:
goal=default|learning_guide|customgoal=custom, provide custom_prompt (<= 10000 chars).response_length=default|longer|shorterPattern
These calls require confirm=True only after the user explicitly approves generating the artifact.
audio_overview_create(...)video_overview_create(...)infographic_create(...)slide_deck_create(...)report_create(...) (use “Create Your Own” only with a custom prompt)flashcards_create(...)quiz_create(...)data_table_create(...)mind_map_create(...)Execution pattern
notebook_get), optionally limit source_ids.confirm=True.studio_status(notebook_id=...) and return any URLs or artifact IDs.studio_delete(notebook_id=..., artifact_id=..., confirm=True)refresh_auth()