Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

Gemini Notebook MCP - Access Gemini Notebook (notebook.google.com).

Auth: If you get authentication errors, run nlm login via your Bash/terminal tool. This is the automated authentication method that handles everything. Only use save_auth_tokens as a fallback if the CLI fails. Account Switching: Call the profile tool (action=list, then action=switch with name=). The switch lasts until this MCP server restarts and may apply to other open chats if the app shares one server; add make_default=true only when the user asks to change their default account. nlm login switch <profile> in a terminal changes the saved default. Confirmation: Tools with confirm param require user approval before setting confirm=True. Studio: After creating audio/video/infographic/slides, poll studio_status for completion. User notices: If a tool result contains user_notice, relay it to the user once in one short line. Active account: If a tool result contains active_profile_note, tell the user which account is in use once per conversation.

Consolidated tools:

  • source_add(source_type=url|text|drive|file, url=..., document_id=..., text=..., file_path=...): Add any source type

  • studio_create(artifact_type=audio|video|...): Create any artifact type

  • studio_revise: Revise individual slides in an existing slide deck

  • Interactive reports: studio_create(artifact_type="report", report_format="Interactive") to create; report(action=get|elements|generate) to read it and generate its embedded audio / video / slide deck / infographic / flashcards / quiz / mind map elements (generate validates a plan first; confirm=True only after user approval or explicit delegation)

  • download_artifact(artifact_type=audio|video|...): Download any artifact type

  • download_all_artifacts: Download every completed artifact of a notebook into a per-notebook folder

  • note(action=create|list|update|delete): Manage notes in notebooks

  • label(action=auto|list|reorganize|create|rename|set_emoji|move_source|delete): Manage source labels

  • profile(action=list|status|switch): List saved Google accounts and choose which one to use

  • alias(action=list|get|set|delete): Short names for notebook IDs; any notebook_id accepts an alias

  • chat_save_to_note: Save a chat (or one turn) as a Note

  • pipeline(action=run|list|create): Run or define multi-step workflows

  • server_info also lists saved profiles with their storage mode (plain or protected)

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

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

Tools

Functions exposed to the LLM to take actions

NameDescription
aliasB

Manage aliases: short names that stand in for notebook IDs.

Once an alias exists, any tool's notebook_id can be the alias. Aliases are shared across all profiles.

refresh_authA

Reload auth for the requested profile without switching the active account.

Call this after running nlm login to pick up new tokens, or attempt headless recovery with the profile's saved browser. An explicit profile does not switch the MCP server's active account.

Returns status indicating if tokens were refreshed successfully.

save_auth_tokensA

Save NotebookLM cookies (FALLBACK method - try nlm login first!).

IMPORTANT FOR AI ASSISTANTS:

  • First, run nlm login via Bash/terminal (automated, preferred)

  • Only use this tool if the automated CLI fails

batchA

Perform batch operations across multiple notebooks.

Actions:

  • query: Query multiple notebooks with the same question

  • add_source: Add the same source URL to multiple notebooks

  • create: Create multiple notebooks at once

  • delete: Delete multiple notebooks (IRREVERSIBLE, requires confirm=True)

  • studio: Generate studio artifacts across multiple notebooks

notebook_queryA

Ask AI about EXISTING sources already in notebook. NOT for finding new sources.

Use research_start instead for: deep research, web search, find new sources, Drive search.

chat_configureC

Configure notebook chat settings.

notebook_query_startA

Start a notebook query asynchronously for source-heavy notebooks or long questions.

Use this instead of notebook_query when the response may take longer than the default 120-second budget. A timeout around 180 seconds is a useful starting point for source-heavy notebooks. Returns immediately with a query_id. Poll notebook_query_status with the query_id to get the result.

Workflow: notebook_query_start -> poll notebook_query_status until completed.

notebook_query_statusA

Check the status of an async notebook query started with notebook_query_start.

Returns the query result when completed, or current status if still in progress. Poll this tool every few seconds until status is 'completed' or 'error'.

chat_listA

List chat sessions for a notebook.

chat_getB

Get full transcript of a specific chat session.

chat_exportC

Export a chat transcript to Markdown or JSON.

chat_save_to_noteC

Save a chat (or one turn of it) as a Note in the notebook.

chat_deleteA

Permanently delete all chat history for a notebook. Requires confirmation.

collection_listA

List all native collections.

collection_createC

Create a new collection.

collection_editA

Edit an existing collection's name and/or list of notebooks.

collection_set_emojiA

Set or clear the emoji marker on a collection.

collection_deleteA

Delete a collection permanently. Notebooks inside the collection are NOT deleted.

cross_notebook_queryA

Query multiple notebooks and get aggregated answers with per-notebook citations.

Specify notebooks by name, by tags, or use all=True for all notebooks.

download_artifactC

Download any NotebookLM artifact to a file.

Unified download tool replacing 9 separate download tools. Supports all artifact types: audio, video, report, mind_map, slide_deck, infographic, data_table, file, quiz, flashcards.

download_all_artifactsA

Download all completed studio artifacts of one notebook — or every notebook.

Creates a subdirectory of output_dir named after each notebook title and saves every completed artifact there, named after its title with the type's default extension (report → .md, mind_map → .json, video → .mp4, slide_deck → .pdf/.pptx, ...). Artifacts that are still generating or failed are skipped and listed in the result. A failure on one artifact (or one notebook in a sweep) does not stop the others.

export_artifactA

Export a NotebookLM artifact to Google Docs or Sheets.

Supports:

  • Data Tables → Google Sheets

  • Reports (Briefing Doc, Study Guide, Blog Post) → Google Docs

labelA

Manage source labels in a notebook. Unified tool for all label operations.

Labels let you organize sources into thematic categories. Requires 5+ sources for auto-labeling. Sources can belong to multiple labels simultaneously.

Supports: auto, list, reorganize, create, rename, set_emoji, move_source, delete

notebook_listC

List all notebooks.

notebook_getC

Get notebook details with sources.

notebook_describeA

Get AI-generated notebook summary with suggested topics.

notebook_createB

Create a new notebook.

notebook_renameC

Rename a notebook.

notebook_deleteA

Delete notebook permanently. IRREVERSIBLE. Requires confirm=True.

noteB

Manage notes in a notebook. Unified tool for all note operations.

Supports: create, list, update, delete

pipelineA

Manage and execute multi-step notebook pipelines.

Actions:

  • run: Execute a pipeline on a notebook

  • list: List all available pipelines (builtin and user-defined)

  • create: Save a user-defined pipeline (pipeline_name + steps; each step is {"action": , "params": {...}})

profileB

List saved Google accounts (profiles) and choose which one to use.

research_startA

Deep research / fast research: Search web or Google Drive to FIND NEW sources.

Use this for: "deep research on X", "find sources about Y", "search web for Z", "search Drive". Workflow: research_start -> poll research_status -> research_import.

research_statusA

Poll research progress. Blocks until complete or timeout.

research_importA

Import discovered sources into notebook.

Call after research_status shows status="completed".

server_infoA

Get version, auth status, and conservative MCP capability visibility.

AI assistants: If update_available is True, inform the user that a new version is available and suggest updating with the provided command.

auth_status is the result of an AuthHealthChecker probe. The checker runs a multi-probe strategy (homepage fetch + API fallback) with 30-second TTL caching and mtime-based bypass on auth-file changes. The reported value may therefore be up to 30 seconds old, and an external nlm login is picked up within one check cycle without waiting for the TTL to expire.

auth_status meanings:

  • "configured" — homepage (or API fallback) check passed; credentials are good. Cached credentials may be reported as configured for up to 30 seconds.

  • "not_configured" — no credentials are stored (first-time setup).

  • "stale" — credentials are known-bad (expired or past the 7-day heuristic). Operations will fail; ask the user to run nlm login to refresh.

  • "unverified" — the check could not be completed (network error, timeout, non-200 response). Cached credentials may still work for actual API calls, so do not assume the user needs to re-auth.

  • "error" — unexpected exception inside the check itself.

Returns: dict with version info: - version: Current installed version - latest_version: Latest version on PyPI (or None if check failed) - update_available: True if a newer version is available - auth_status: configured | stale | unverified | not_configured | error - storage_warning: Short warning if conflict/pending op exists (or None) - update_command: Command to run to update - mcp_capabilities: Built-in tool groups visible in this server process - provider_capabilities: Explicitly unprobed provider/account capabilities

  • active_profile: Which saved account is in use and why (session switch or saved default)

  • profiles: Saved accounts with email, storage mode (plain/protected) and any storage problems. Metadata only; never opens the OS keystore.

notebook_share_statusA

Get current sharing settings and collaborators.

notebook_share_publicA

Enable or disable public link access.

notebook_share_inviteC

Invite a collaborator by email.

notebook_share_batchC

Invite multiple collaborators in a single request.

tagA

Manage notebook tags and find relevant notebooks by tag matching.

Actions:

  • add: Add tags to a notebook for smart selection

  • remove: Remove tags from a notebook

  • list: List all tagged notebooks with their tags

  • select: Find notebooks relevant to a query using tag matching

source_addA

Add a source to a notebook. Unified tool for all source types.

Supports: url, text, drive, file

source_list_driveA

List sources with types and Drive freshness status.

Use before source_sync_drive to identify stale sources. Returned Drive sources include can_sync to identify files eligible for a manual Drive sync attempt. An individual sync attempt may still fail.

source_sync_driveA

Sync Drive sources with latest content. Requires confirm=True.

Call source_list_drive first to identify stale sources.

source_renameB

Rename a source in a notebook.

source_deleteA

Delete source(s) permanently. IRREVERSIBLE. Requires confirm=True.

source_describeB

Get AI-generated source summary with keyword chips.

source_get_contentA

Get raw text content of a source (no AI processing).

Returns the original indexed text from PDFs, web pages, pasted text, or YouTube transcripts. Much faster than notebook_query for content export.

studio_createC

Create any NotebookLM studio artifact. Unified creation tool.

Supports: audio, video, infographic, slide_deck, report, flashcards, quiz, data_table, mind_map

studio_statusC

Check studio content generation status and get URLs, or rename an artifact.

reportC

Work with an interactive report's embedded elements. Unified report tool.

Create the report itself with studio_create(artifact_type="report", report_format="Interactive"). Then:

studio_deleteA

Delete studio artifact. IRREVERSIBLE. Requires confirm=True.

studio_reviseA

Revise individual slides in an existing slide deck. Creates a NEW artifact.

Only slide decks support revision. The original artifact is not modified. Poll studio_status after calling to check when the new deck is ready.

usage_getA

Show how much of the plan's usage allowance is left, and when it resets.

Gemini Notebook meters usage as compute against two windows at once: a short rolling window and a weekly one. Both are reported, each with the percentage used, the percentage remaining and the reset time in UTC.

source_searchA

Search relevant indexed passages within one NotebookLM notebook (read-only).

Optional source_ids restrict retrieval to sources belonging to this notebook. Returns at most 20 excerpted passages with native source UUIDs and titles. No Gemini or Opal credentials are used. Experimental, off by default.

Set NOTEBOOKLM_ENABLE_NATIVE_SOURCE_SEARCH=1 in the server environment.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3/5.0

Scored across 55 tools

Disambiguation2/5

Several tools have overlapping or hard-to-distinguish retrieval/organization purposes: notebook_query, source_search, cross_notebook_query, batch query, and research_start all relate to finding or asking about content. Vague unified tools like alias, tag, note, pipeline, label, report, batch, and profile require action parameters and add ambiguity, while profile/active_profile/profiles are especially easy to confuse.

Naming Consistency3/5

Most resource-specific tools use a readable noun_verb pattern (notebook_create, source_add, studio_status), but many unified tools are bare nouns or vague action containers (alias, tag, note, pipeline, label, report, batch, profile). The mix of noun_verb, verb_noun, and single-word names is understandable but not predictable.

Tool Count1/5

With 55 tools, the surface is far too large for a coherent MCP server. Many variants and unified action tools could be consolidated into fewer, better-scoped tools.

Completeness4/5

Coverage is broad: notebooks, sources, chat, studio artifacts, research, collections, tags, labels, sharing, auth, batch operations, and usage are all represented. Minor lifecycle gaps remain, such as limited collection retrieval or source content update, but the core NotebookLM workflows are well covered.

Maintenance

ActivityNo data
ResponsivenessOutdated data