Skip to main content
Glama
earlyprototype

notebooklm-py-diet-mcp

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
NOTEBOOKLM_HOMENoPath to the directory storing NotebookLM account profiles. Defaults to ~/.notebooklm-work if not set.~/.notebooklm-work

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
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

NameDescription
analyze_notebook_sourcesGenerate 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_workflowGenerate 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_slidesGenerate 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

NameDescription

No resources

Latest Blog Posts

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