notebooklm-mcp-rpc
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORT | No | Port for HTTP transport | 3000 |
| MCP_TRANSPORT | No | Transport type: stdio or http | stdio |
| NOTEBOOKLM_COOKIES | No | Cookies string from Google session | |
| NOTEBOOKLM_AUTH_JSON | No | Inline JSON contents of storage_state.json (serverless) | |
| NOTEBOOKLM_CSRF_TOKEN | No | CSRF token | |
| NOTEBOOKLM_SESSION_ID | No | Session ID | |
| NOTEBOOKLM_STORAGE_PATH | No | Path to storage_state.json (local dev) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| auth_statusA | Verify the current cookies / CSRF token / session ID are valid by hitting the homepage and listing notebooks. Use this first when debugging. |
| notebook_listA | List every notebook owned by the authenticated user. |
| notebook_createA | Create a new NotebookLM notebook with the given title. |
| notebook_renameB | Change a notebook's title. |
| notebook_deleteA | Permanently delete a notebook. Destructive. |
| notebook_rawA | Return the raw GET_NOTEBOOK response (useful for debugging when the parsed shape is missing a field you need). |
| source_listA | List the sources currently attached to a notebook. |
| source_add_urlA | Add a web URL or YouTube link as a source. NotebookLM auto-detects YouTube URLs. |
| source_add_textC | Paste raw text as a source. |
| source_deleteC | Remove a source from a notebook. Destructive. |
| source_renameB | Change a source's display title. |
| source_refreshA | Re-fetch and re-index a URL or Google Drive source so the notebook has the latest version. |
| source_fulltextA | Retrieve the indexed plaintext content of a source. |
| source_guideA | Return the auto-generated summary and keywords for a source. |
| source_waitA | Poll until the source reaches READY status, or fail with a TimeoutError after the configured timeout. |
| chat_askA | Send a question to NotebookLM and return the answer plus citations. If |
| chat_last_conversation_idA | Return the most recent conversation ID for a notebook. |
| chat_historyB | Return the question/answer turns of a conversation. |
| chat_configureB | Set the notebook's chat mode, persona, and response-length preference. |
| artifact_listA | List all generated artifacts in a notebook. |
| artifact_getA | Return details for a single artifact. |
| artifact_deleteA | Delete an artifact. Destructive. |
| artifact_renameB | Change an artifact's display title. |
| artifact_waitA | Poll the artifact until it reaches COMPLETED status. Long-running — raise |
| generate_audioB | Kick off audio generation. Returns a task/artifact ID; pair with |
| generate_videoA | Kick off video generation. Long-running (15-45 min) — use |
| generate_cinematic_videoA | Generate an AI-rendered cinematic documentary-style video using Veo 3. Requires a Google AI Ultra subscription on the authenticated account; without it the call returns a server error. Style options are not supported for cinematic video. |
| generate_reportB | Generate a structured markdown report (briefing doc, study guide, etc.). |
| generate_quizC | Generate a quiz from notebook content. |
| generate_flashcardsB | Generate a flashcard deck from notebook content. |
| generate_infographicC | Generate a poster-style infographic. |
| generate_slide_deckC | Generate a slide deck (PDF or PPTX, configurable later via |
| generate_data_tableB | Generate a structured data table. |
| generate_mind_mapB | Generate a mind map. Returns the JSON content directly (mind maps are stored as notes). |
| revise_slideA | Submit a natural-language revision for one slide of an existing deck. |
| download_artifactA | Resolve and download an artifact's content. If |
| note_listA | List notes (and mind-maps) inside a notebook. |
| note_createC | Create a new note with title and content. |
| note_updateA | Update a note's title and/or content. |
| note_deleteB | Delete a note. Destructive. |
| research_startA | Kick off web/Drive research. |
| research_pollA | Non-blocking check on every research task in a notebook. Returns each task's status, the synthesized summary if any, and the discovered results (URLs + titles for fast research, markdown reports for deep). |
| research_waitA | Block until a research task completes (or |
| research_import_allA | Import every result from the latest finished research task as sources in the notebook. This works even when |
| research_import_selectedA | Import a subset of research results by URL. Useful when you want to skip irrelevant sources from a fast-research result set. Pass either the full URLs to import, or pass |
| share_statusA | Return the raw share status payload (access level, view level, users). |
| share_set_publicC | Enable or disable the notebook's public link. |
| share_set_view_levelC | Set what link viewers can access (full notebook or chat only). |
| share_add_userC | Grant a Google account access to the notebook. |
| share_remove_userB | Revoke a user's access to the notebook. |
| language_getA | Return the GLOBAL default output language code used for artifact generation. |
| language_setA | Set the GLOBAL default output language for artifact generation. Affects every notebook in the account. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/sanjeev7e/notebooklm-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server