notebooklm-py-diet-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| NOTEBOOKLM_HOME | No | Path to the directory storing NotebookLM account profiles. Defaults to ~/.notebooklm-work if not set. | ~/.notebooklm-work |
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": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_notebooks_toolA | List all NotebookLM notebooks. Returns a dictionary with notebook titles and IDs. |
| create_notebookA | Create a new NotebookLM notebook. Args: title: Title for the new notebook Returns: Dictionary with notebook ID and title |
| list_sourcesB | List all sources in a notebook. Args: notebook_id: ID of the notebook Returns: Dictionary with source count and source details |
| add_sourcesA | Add multiple sources to a notebook in a single call. Each source is a dictionary with a "type" and "value" field. Supported types: "url", "text", "file". Text sources also require a "title" field. Args: notebook_id: ID of the notebook sources: JSON array of sources, e.g. [{"type": "url", "value": "https://example.com"}, {"type": "text", "value": "Content here", "title": "My Notes"}, {"type": "file", "value": "/path/to/document.pdf"}] wait: Whether to wait for processing to complete Returns: Dictionary with results for each source |
| ask_questionA | Ask a question to a NotebookLM notebook and get an AI-generated answer. Args: notebook_id: ID of the notebook to query question: The question to ask source_ids: Comma-separated source IDs to restrict the query (optional) conversation_id: Continue an existing conversation thread (optional) persona: Set chat persona before asking (optional). Use a descriptive role like "tutor", "analyst", "concise summariser". Cleared if empty. response_length: Set response length before asking (optional). One of: short, medium, long. Cleared if empty. Returns: Dictionary with the answer and citation information |
| generate_and_downloadA | Generate an artifact and download it in a single call. Supports: report, audio, slide_deck, quiz, infographic. Args: notebook_id: ID of the notebook artifact_type: One of: report, audio, slide_deck, quiz, infographic output_path: Path where to save the downloaded file. Use the correct extension: .pdf (report, slide_deck, infographic), .wav (audio), .json/.md/.html (quiz, based on quiz_output_format) instructions: Custom instructions for generation (optional). For slide decks, pass a design template here to control visual style. audio_format: Audio format: deep-dive, brief, critique, debate audio_length: Audio length: short, medium, long quiz_quantity: Quiz quantity: few, standard, more quiz_difficulty: Quiz difficulty: easy, medium, hard quiz_output_format: Quiz download format: json, markdown, html Returns: Dictionary with generation and download status |
| list_artifactsA | List artifacts in a notebook, optionally filtered by type. Args: notebook_id: ID of the notebook artifact_type: Filter by type (audio, video, report, quiz, flashcards, slide_deck, infographic, data_table, mind_map). Leave empty for all types. Returns: Dictionary with the list of artifacts |
| export_artifactA | Export an artifact to a file in the requested format. Uses the appropriate export method based on the artifact type. Args: notebook_id: ID of the notebook artifact_id: ID of the artifact to export output_path: Path where to save the exported file export_format: Desired format (pdf, csv, json, etc.). Leave empty for default. Returns: Dictionary with export status |
| research_and_importB | Research a topic and import the results as notebook sources in a single call. Starts a research task, polls until completion, and automatically imports the top results. Args: notebook_id: ID of the notebook query: Research query source: Where to search: "web" or "drive" max_results: Maximum number of results to import Returns: Dictionary with research results and import status |
| get_account_infoA | Show the current NotebookLM account and available profiles. Returns: Dictionary with current account, config path, available profiles, and instructions for switching or adding accounts. |
| switch_accountA | Switch the active NotebookLM account to a different Google profile. The change takes effect immediately and is persisted across server restarts. Use get_account_info to see available profiles. Args: profile: Profile name to switch to (e.g. 'work', 'personal', 'design', or any custom name matching ~/.notebooklm-) Returns: Dictionary confirming the switch with the new profile details. |
| create_profileA | Create a new NotebookLM account profile and launch the Google login. This opens a browser window for the user to sign into their Google account. Once authentication is complete, the profile is ready to use via switch_account. Args: profile: Name for the new profile (e.g. 'work', 'design', 'testing'). Will be stored at ~/.notebooklm-. Returns: Dictionary with the profile status and next steps. |
| pdf_to_pngA | Convert a PDF file to individual PNG images (one per page). Useful for making slide deck pages visible to LLMs for review or editing. Args: pdf_path: Path to the source PDF file output_directory: Directory to write PNGs into. Defaults to a folder beside the PDF named _pages/ dpi: Render resolution (default 200 -- good balance of quality and size) Returns: Dictionary with output directory, list of page image paths, and page count |
| png_to_pdfA | Combine PNG images into a single PDF document. Provide either a list of image paths or a directory containing PNGs. When using a directory, images are sorted alphabetically (the naming convention from pdf_to_png -- page_001.png, page_002.png, etc. -- preserves correct order automatically). Args: image_paths: Comma-separated image file paths, or a JSON array of paths image_directory: Directory of PNG files to combine (alternative to image_paths) output_path: Path for the output PDF. Defaults to /combined.pdf Returns: Dictionary with the output PDF path and page count |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| analyze_notebook_sources | Generate a prompt for analyzing notebook sources. Args: notebook_id: ID of the notebook to analyze focus_area: What to focus on in the analysis Returns: Formatted prompt for analysis |
| research_topic_workflow | Generate a prompt for researching a topic using NotebookLM. Args: topic: Topic to research depth: Level of depth (quick, standard, comprehensive) Returns: Formatted workflow prompt |
| generate_styled_slides | Generate a slide deck using a bundled design template. Reads the selected template from templates/slide_styles.md and provides complete instructions for generating and downloading a styled slide deck. Args: notebook_id: ID of the notebook to generate slides from style: Design template to use: corporate, educational, or creative output_path: Where to save the downloaded PDF Returns: Formatted prompt with the template and tool call instructions |
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/earlyprototype/notebooklm-py-diet-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server