Skip to main content
Glama

notebooklm-skill

Source-grounded NotebookLM automation for terminals and AI agents.

CI PyPI Python License: MIT

繁體中文

notebooklm-skill gives humans and MCP clients one consistent interface for Google NotebookLM. It creates notebooks from URLs, raw text, and local files; asks grounded questions with citation metadata; completes fast or deep web research; and generates or downloads NotebookLM artifacts.

The project is built around notebooklm-py 0.7.x and includes:

  • a JSON-first core CLI;

  • five end-to-end research pipelines;

  • a 13-tool FastMCP server;

  • profile-aware authentication and Skill installers;

  • one shared compatibility layer, so CLI, pipelines, and MCP use the same behavior.

This is an unofficial integration with NotebookLM's web API. Google can change the service, availability, quotas, or artifact behavior without notice.

Quick start

Isolated source install

The installer creates a dedicated virtual environment, installs Chromium, links five commands into ~/.local/bin, and installs the Claude Code Skill using the standard directory layout.

git clone https://github.com/claude-world/notebooklm-skill.git
cd notebooklm-skill
./install.sh

notebooklm-auth setup
notebooklm-skill list

Ensure ~/.local/bin is on PATH.

PyPI or uvx

# Persistent virtual environment
python3 -m venv .venv
source .venv/bin/activate
python -m pip install notebooklm-skill
python -m playwright install chromium
notebooklm-auth setup

# Or run without a persistent install
uvx --from notebooklm-skill notebooklm-auth setup
uvx --from notebooklm-skill notebooklm-skill list

Direct upstream login is also available:

uvx --from notebooklm-py notebooklm login

Sessions are profile-aware. Select one with --profile NAME before a CLI subcommand, or set NOTEBOOKLM_PROFILE.

To use the locally installed Google Chrome instead of bundled Chromium:

notebooklm-auth setup --browser chrome --fresh

Related MCP server: NotebookLM MCP

Core CLI

All successful commands print structured JSON to stdout. Diagnostics go to stderr; authentication errors return exit code 4 and argument errors return exit code 2.

# Mixed-source ingestion with truthful per-source outcomes
notebooklm-skill create \
  --title "Research" \
  --sources https://example.com/article \
  --files ./paper.pdf \
  --text-sources "Interview notes" \
  --strict

notebooklm-skill ask \
  --notebook "Research" \
  --query "Which conclusions have the strongest evidence?"

notebooklm-skill research \
  --notebook "Research" \
  --query "Recent independent evaluations" \
  --mode deep --max-sources 10

notebooklm-skill generate \
  --notebook "Research" \
  --type slides --lang zh-TW \
  --output ./output/deck.pptx --output-format pptx

notebooklm-skill list-artifacts --notebook "Research" --type slides

Commands resolve an exact ID, unique title, or unique title substring. Use IDs for repeatable automation. Deletes require --yes; downloads refuse existing files or symlinks unless an explicit safe overwrite is requested with --force.

Artifact types

Type

Default download

Notes

audio

M4A

deep-dive, brief, critique, or debate

video

MP4

explainer/brief and multiple visual styles

cinematic

MP4

cinematic video workflow

slides

PDF

PDF or PPTX

report

Markdown

briefing, study guide, blog, or custom

study-guide

Markdown

report shortcut

quiz

JSON

JSON, Markdown, or HTML

flashcards

JSON

JSON, Markdown, or HTML

mind-map

JSON

immediate generation result

infographic

PNG

orientation, detail, and style options

data-table

CSV

structured extraction

Use notebooklm-skill generate --help for the live option matrix. Long-running generations support --no-wait, and later downloads can select --artifact-id.

Pipelines

notebooklm-pipeline research-to-article \
  --sources https://example.com/a https://example.com/b \
  --title "Evidence review" --audience "engineers"

notebooklm-pipeline research-to-social \
  --files ./brief.pdf --platform linkedin --variants 3

notebooklm-pipeline batch-digest \
  --rss https://example.com/feed.xml --max-entries 20 --qa-count 5

notebooklm-pipeline generate-all \
  --files ./paper.pdf --types audio slides report mind-map \
  --output-dir ./output --artifact-concurrency 2

trend-to-content requires the optional trend-pulse command. Pipelines return drafts and local artifacts; they do not publish to social platforms or remote CMSs.

MCP server

The default stdio transport is suitable for Claude Code, Cursor, and other MCP clients:

{
  "mcpServers": {
    "notebooklm": {
      "command": "uvx",
      "args": ["--from", "notebooklm-skill", "notebooklm-mcp"]
    }
  }
}

The 13 tools cover notebook CRUD, mixed sources, grounded chat, summaries, artifact generation/list/download, full research lifecycles, research pipelines, and trend research. Notebook deletion requires confirm=true.

Optional HTTP mode is deliberately loopback-only:

notebooklm-mcp --http --host 127.0.0.1 --port 8765

Do not expose it directly to a network. See SECURITY.md.

Additional commands

Command

Purpose

notebooklm-auth

Setup, verify, or clear a selected auth profile

notebooklm-install-skill

Install SKILL.md for a user or project, with safe backups

notebooklm-install-skill --scope project
notebooklm-auth --profile work verify

Development

python3 -m venv .venv
source .venv/bin/activate
python -m pip install -e '.[dev]'
ruff check .
ruff format --check .
mypy scripts mcp_server
pytest --cov --cov-report=term-missing
python -m build
twine check dist/*

More detail: setup guide, Skill instructions, API compatibility notes, and changelog.

License

MIT

Available Tools

13 tools
nlm_add_sourceC

Add exactly one URL, text, or local file source to a notebook.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNo
textNo
notebookYes
file_pathNo
text_titleNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It only states the action (adds a source) without disclosing side effects, behavioral traits like whether additions are appended or replace, error handling, or return behavior beyond what the output schema may show.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise, front-loaded sentence with no wasted words. However, it is too brief; it could include more guidance without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 5 parameters, no annotations, no schema coverage, and an output schema not described, the description is incomplete. It fails to convey the mutual exclusivity of source parameters, the role of text_title, and the essential notebook parameter. The tool's usage is underspecified for safe invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must add value. It correctly maps 'URL, text, local file' to url, text, file_path parameters but does not explain text_title, the required notebook parameter, or the mutual exclusivity of the source types (exactly one should be provided).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb (Add), resource (source to a notebook), and enumerates the types (URL, text, local file). It distinguishes from sibling tools like nlm_list_sources which list sources, and nlm_ask which asks questions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, nor does it mention prerequisites, mutual exclusivity of source types, or what happens if the notebook does not exist. Sibling tool names are present but not referenced.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

nlm_askC

Ask a source-grounded question and return answer citations.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
notebookYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It states the tool returns answer citations but does not disclose whether it is read-only, what happens if the notebook is missing, or any side effects. The behavioral transparency is minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that efficiently conveys the core purpose. While it could add more detail without sacrificing conciseness, it avoids excessive verbosity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations, no parameter details, and only a high-level outcome, the description is insufficient for complex usage. Although an output schema exists (not shown), the lack of behavioral context and parameter guidance leaves the agent underinformed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 2 parameters (query, notebook) with 0% description coverage. The description adds no meaning beyond the parameter names—e.g., it doesn't explain what a notebook is or how to format the query. This leaves the agent guessing about input requirements.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Ask'), the resource ('source-grounded question'), and the outcome ('return answer citations'). This distinguishes it from sibling tools like nlm_summarize (which summarizes) or nlm_generate (which generates text).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives (e.g., nlm_summarize, nlm_research). It fails to specify prerequisites or context, leaving the agent to infer usage without differentiation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

nlm_create_notebookA

Create a notebook with optional URL, raw-text, and local-file sources.

Returns per-source outcomes and truthful requested/succeeded/failed counts.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYes
sourcesNo
file_sourcesNo
text_sourcesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses that the tool returns per-source outcomes and truthful counts, adding value beyond the schema. However, it does not mention side effects or permissions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the core action and result. Every sentence is informative with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values are partially covered. The description covers purpose and returns but lacks details on parameter usage, preconditions, or error handling.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description mentions optional sources (URL, raw-text, local-file) but does not map them to specific parameters. Given 0% schema description coverage, the description adds some context but not enough to fully compensate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Create a notebook') and the resource, and distinguishes from siblings like nlm_list, nlm_delete, or nlm_add_source by focusing on creation rather than listing, deletion, or adding to existing notebooks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not specify when to use this tool vs alternatives (e.g., nlm_add_source for adding sources to an existing notebook). No guidance on prerequisites or when not to use is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

nlm_deleteC

Permanently delete a notebook only when confirm is true.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo
notebookYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses permanent deletion and conditionality on confirm, but lacks details on auth needs, side effects (e.g., cascade to artifacts), recovery options, or latency. With no annotations, the description should provide richer behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise single sentence with no redundancy. While efficient, it may be too terse—adding a second sentence could improve clarity without being wordy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having an output schema (not shown), the description omits return value details, prerequisites, and edge cases (e.g., what happens if notebook doesn't exist). Given tool complexity (2 params, no annotations), more completeness is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and description only adds meaning to confirm (must be true). The 'notebook' parameter remains unspecified (e.g., expected format, required scope). Does not compensate for missing schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the action (permanently delete) and resource (notebook) with a condition (confirm must be true). However, it does not differentiate from sibling tools like nlm_download (which might also modify state) or provide context about what 'delete' means relative to other tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool vs alternatives. The description implies a prerequisite (confirm true) but does not mention when deletion is appropriate, reversible alternatives, or consequences of misuse.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

nlm_downloadB

Download an exact artifact ID (or latest) to a local path.

Existing files and symlinks are rejected unless the safe overwrite rules permit the path. Formats: slides=pdf/pptx; quiz/flashcards=json/markdown/html.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYes
forceNo
notebookYes
artifact_idNo
output_pathYes
output_formatNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must carry full burden. It discloses rejection of existing files/symlinks unless overwrite rules permit, but omits details on default behavior, error handling, authentication needs, or what happens with force parameter.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise sentences, front-loaded with action, no unnecessary words. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Output schema exists, so return values are covered. But description lacks details on error conditions, behavior of force, and interaction between parameters. Adequate but incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, yet description only partially explains artifact_id (exact or latest) and hints at format mapping for type. Does not explain notebook, output_path, force, or output_format syntax, leaving significant gaps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool downloads an artifact (exact ID or latest) to a local path, with specific verb and resource. It distinguishes from sibling tools like nlm_list_artifacts or nlm_delete.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies usage for downloading artifacts, but no explicit when-to-use or when-not-to-use compared to siblings. Mentions safe overwrite rules but doesn't guide on alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

nlm_generateA

Generate an artifact, optionally waiting for completion.

type supports audio, video, cinematic, slides, report, study-guide, quiz, flashcards, mind-map, infographic, and data-table. options may contain type-specific keys such as audio_format, audio_length, video_format, video_style, slide_format, slide_length, report_format, custom_prompt, quantity, difficulty, orientation, detail_level, or style. Set wait=false to return the task ID immediately for long media jobs.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoen
typeYes
waitNo
optionsNo
timeoutNo
notebookYes
source_idsNo
instructionsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses key behaviors: optional waiting, type-specific options, and returning a task ID. However, lacks details on error handling, success states, or side effects, which is acceptable given no annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is concise with no irrelevant information. Key points are front-loaded. The list of types and options is dense but necessary.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers the core generation behavior and wait flag, but misses several parameters (lang, timeout, source_ids, instructions) and does not detail the output schema (though it exists separately). Adequate for a tool with many params but could be more complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Adds meaning for 'type' and 'options' parameters by listing supported values and keys, but leaves 'lang', 'timeout', 'source_ids', and 'instructions' unexplained. With 0% schema coverage, more parameter documentation would be helpful.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Generate' and resource 'artifact', listing specific supported types. It distinguishes itself from siblings like nlm_list_artifacts and nlm_create_notebook by focusing on generation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides some guidance on using the wait parameter for long jobs but does not explicitly state when to use this tool over alternatives or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

nlm_listA

List NotebookLM notebooks with IDs, titles, and source counts.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description accurately describes the tool as a read operation that returns a list of notebooks with specific fields. With no annotations provided, the description fully discloses the behavioral traits relevant to selection and invocation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that efficiently conveys the tool's purpose. There is no wasted text, and every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has zero parameters and an output schema (not shown but referenced), the description is complete. It clearly states what the tool does, leaving no questions about its functionality.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Since the tool has no parameters, the description provides all necessary semantic context. The baseline for zero-parameter tools is 4, and the description adds no conflicting or missing information.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (list), the resource (NotebookLM notebooks), and the returned fields (IDs, titles, source counts). It effectively distinguishes from sibling tools like nlm_list_artifacts and nlm_list_sources, which list different resources.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use when you need an overview of notebooks, but it does not provide explicit guidance on when to use this tool versus alternatives such as nlm_list_artifacts. No exclusions or when-not guidance is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

nlm_list_artifactsC

List actual generated artifacts, optionally filtered by canonical type.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNo
notebookYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavior. It only mentions optional filtering but omits whether listing is read-only, if authentication is needed, pagination, or any side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence is concise but lacks necessary detail. Could be expanded to include notebook context without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has two parameters, one required and unexplained, and the output schema exists but is not referenced, the description is insufficient for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 0% description coverage. Description only explains 'type' as canonical filter, but the required 'notebook' parameter is not explained at all, despite being mandatory.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly identifies the tool as listing 'actual generated artifacts' with an optional filter, distinguishing it from siblings like nlm_list_sources. However, 'actual' is ambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives (e.g., nlm_list, nlm_list_sources). The description does not specify context or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

nlm_list_sourcesC

List ingested sources with current kind and processing status.

ParametersJSON Schema
NameRequiredDescriptionDefault
notebookYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the burden of disclosure. It only states the basic function, lacking any behavioral traits such as authentication needs, error conditions, or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence, but it lacks structure (no front-loading of key info) and does not provide any supplementary details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With only one parameter and an output schema, the description is minimal. It does not cover the relationship between sources and notebook, nor any edge cases. For a simple list tool, it is barely adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not mention the 'notebook' parameter at all. It fails to explain what the parameter represents or how to use it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'List' and the resource 'ingested sources', specifying that it returns 'current kind and processing status'. This distinguishes it from siblings like nlm_list_artifacts and nlm_list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool over alternatives, no prerequisites, and no exclusions. It simply states the function.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

nlm_researchC

Run pinned web research, wait for a terminal state, and import findings.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNofast
waitNo
queryYes
timeoutNo
notebookYes
max_sourcesNo
import_resultsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided. The description mentions waiting and importing findings but does not disclose side effects, data mutation, authorization needs, or error behavior. The tool's mutability is unclear.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, which is concise, but it omits essential details. It is front-loaded but at the cost of clarity and completeness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 7 parameters, 2 required, no schema descriptions, no annotations, and an output schema that is not explained, the description is severely incomplete for a tool likely performing complex research operations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description adds no meaning for any of the 7 parameters. The agent gains no insight into what each parameter does beyond its name and type.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action: running pinned web research, waiting for a terminal state, and importing findings. It clearly identifies the verb 'run research' and resource 'pinned web', but the term 'pinned' is not explained, and sibling differentiation is weak.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like nlm_trend_research or nlm_research_pipeline. There are no exclusions or context cues.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

nlm_research_pipelineC

Create a notebook, ingest URLs, ask questions, and assemble content.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleNo
sourcesYes
questionsYes
output_formatNoarticle

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits but fails to mention side effects, permissions, or atomicity. The tool creates resources and processes data, but the description does not warn about potential costs, limits, or the scope of the pipeline.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, but it is under-specified for the tool's complexity. It lacks structure and omits important details, making it ineffective despite being brief.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (4 parameters, many siblings, no annotations), the description is incomplete. It does not explain the pipeline's steps, the relationship between inputs and outputs, or what the returned artifact represents, even though an output schema exists.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% and the description adds no parameter details. It does not explain what 'sources' (URLs?), 'questions' (text?), or 'output_format' (article/thread/report) mean, leaving the agent without semantic guidance beyond the schema types.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description lists actions ('Create a notebook, ingest URLs, ask questions, and assemble content') but does not specify the primary purpose or how it differs from sibling tools like nlm_create_notebook or nlm_research. The verb-resource combination is unclear and lacks distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives such as separate calls to nlm_create_notebook, nlm_add_source, nlm_ask, and nlm_generate. The description does not provide context for appropriate usage scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

nlm_summarizeD

Return the NotebookLM-generated summary for a notebook.

ParametersJSON Schema
NameRequiredDescriptionDefault
notebookYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

D1.8/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden for behavioral disclosure. It only says 'return the summary' without explaining side effects, required notebook state, or whether it's read-only. This is insufficient for a mutation-aware agent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, which is concise but at the expense of completeness. It lacks any structure or additional details that would help an agent. Under-specification detracts from conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (one parameter, output schema exists but not shown), the description fails to provide essential context such as what the returned summary looks like, when it's available, or error conditions. It is incomplete even for a simple tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has one parameter 'notebook' with 0% description coverage. The description does not explain what the parameter represents (e.g., ID vs title, required format), adding no value beyond the schema definition.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states it returns a summary from NotebookLM, which is a clear verb+resource. However, it does not differentiate from sibling tools like nlm_ask, which might also return information. The purpose is clear but lacks distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. No context about prerequisites or when not to use it is given, leaving the agent to infer usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

nlm_trend_researchC

Fetch trend-pulse topics, research/import each, and create grounded drafts.

ParametersJSON Schema
NameRequiredDescriptionDefault
geoNoTW
countNo
platformNothreads

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It mentions a multi-step process (fetch, research, create) but does not elaborate on side effects, authentication needs, rate limits, or what 'grounded drafts' imply. The description is too brief to be transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence of 10 words, which is concise. However, it lacks structure and front-loads the actions without separating the steps clearly. It could be improved by listing the phases.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the three parameters (including an enum and defaults) and the availability of an output schema, the description is insufficient. It does not explain the returned data, parameter choices, or the expected workflow. The output schema likely covers the return, but description should still summarize key points.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not mention any of the three parameters (geo, count, platform). The description fails to add meaning beyond the schema, leaving agents without guidance on parameter usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool fetches trend-pulse topics, researches/imports them, and creates grounded drafts. The verb 'Fetch' and action 'research/import' and 'create' specify what the tool does, but 'trend-pulse topics' is vague. It implies trending content, distinguishing it from general research tools like nlm_research.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like nlm_research or nlm_research_pipeline. The description does not mention prerequisites, when not to use, or specific scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

B3.1/5.0
Disambiguation5/5

All tools have clearly distinct purposes: creating, listing, deleting notebooks; adding/list sources; asking questions; summarizing; generating artifacts; downloading; and various research pipelines. No significant overlap.

Naming Consistency4/5

All tools use 'nlm_' prefix with snake_case verbs (e.g., nlm_list, nlm_ask) or verb_noun phrases (e.g., nlm_create_notebook). Minor inconsistency: some are just verbs while others include nouns, but pattern is predictable.

Tool Count5/5

13 tools is appropriate for a notebook management and research service. Each tool covers a distinct operation without redundancy.

Completeness4/5

Covers core CRUD for notebooks, source management, Q&A, summary, artifact generation, and download. Missing minor operations like source deletion or notebook renaming.

Maintenance

ActivitySlowing
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    F
    maintenance
    Enables interaction with Google's NotebookLM through natural language to create and manage notebooks, add sources from URLs/YouTube/Drive, perform AI-powered research and analysis, and generate audio overviews, videos, infographics, and slide decks from research content.
    32
    6
    MIT
  • F
    license
    Not graded
    quality
    F
    maintenance
    Integrates Google NotebookLM into Claude to allow users to manage notebooks, add sources, and generate diverse content like podcasts, slides, and reports. It enables natural language interaction with notebook sources across Claude Desktop and Claude Code.
    47
  • A
    license
    Not graded
    quality
    C
    maintenance
    Bridges Claude Code/Cowork with Google NotebookLM for AI-powered research, source analysis, chat, and content generation through a structured tool interface.
    MIT

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/claude-world/notebooklm-skill'

If you have feedback or need assistance with the MCP directory API, please join our Discord server