Access a NotebookLM notebook, ask questions via chat, and retrieve information.
Input
The user provides:
- •NotebookLM URL (e.g.,
https://notebooklm.google.com/notebook/xxxx) - •Question or research topic (one or more)
If arguments are missing, use AskUserQuestion to clarify.
Instructions
Step 1: Get Browser Context
- •Use
tabs_context_mcpto get tab info - •If the specified URL is already open in a tab, use that tab
- •Otherwise, use
tabs_create_mcpto create a new tab andnavigateto the URL - •Wait 5-10 seconds for the page to fully load
Step 2: Verify Page Readiness
- •Take a
screenshotto check the page state - •Confirm the NotebookLM chat input field is visible
- •If login is required, notify the user and wait
Step 3: Send Question
Craft an effective question from the user's research topic and send it to NotebookLM.
- •Use
findto locate the chat input field - •Use
form_inputto type the question text - •Use
findto locate the "Send" button and click the one near the chat input- •Note: There may be multiple send buttons (source search and chat). Use the one closest to the chat input.
- •Wait 15-25 seconds (response generation takes time)
Step 4: Retrieve Response
- •Take a
screenshotto confirm the response is displayed - •Use
javascript_toolto extract the response text:javascriptconst chatArea = document.querySelector('[role="log"], [class*="chat"], [class*="conversation"]'); if (chatArea) { const text = chatArea.innerText; const lastQ = text.lastIndexOf('<partial question text>'); if (lastQ >= 0) text.substring(lastQ, lastQ + 5000); } - •For long responses, adjust offset and retrieve in multiple passes
- •If an expand button (▼) appears at the end of the response, click it before re-extracting
Step 5: Follow-up Questions (if needed)
- •For broad research topics, send follow-up questions based on initial responses
- •Repeat Steps 3-4
- •Maximum 5 questions per skill execution
Step 6: Organize Results
Present the retrieved information in this format:
code
## NotebookLM Research Results ### Source - Notebook: [Title](URL) - Sources: N items ### Q1: <question> <response summary> ### Q2: <question> <response summary> ### Key Takeaways - Point 1 - Point 2 - ...
Tips
- •NotebookLM responses can be long; use
javascript_toolwith varying offsets for multiple retrieval passes - •Extract code examples and JSON accurately
- •If NotebookLM is still generating (loading indicator), add extra wait time
- •If chat history is long, the input field may scroll off-screen; scroll down before interacting
Error Handling
- •Tab closed: Re-fetch with
tabs_context_mcpand re-access in a new tab - •Login required: Ask the user to log in manually, then resume
- •No response generated: Wait an additional 15 seconds; if still empty, retry submission (max 2 retries)
- •Send button not found: Use
read_pageto list interactive elements and identify the button