Skip to main content
Glama
SantosRojas

notebooklm-mcp-pro

by SantosRojas

grep

Idempotent

Search cached NotebookLM sources for literal text or regex patterns in one notebook or across all, returning matching lines with surrounding context.

Instructions

Busca un texto o regex (como grep) en la caché: en un notebook o en todas a la vez.

Devuelve línea + contexto. Sin notebook_id recorre todas las notebooks de la cuenta y etiqueta cada coincidencia con su origen (notebooks_scanned_ids dice cuáles se recorrieron); una notebook con problemas no aborta el barrido (notebook_errors con ref). Es literal salvo que uses literal=false.

Input Schema

NameRequiredDescriptionDefault
literalNotrue = texto literal; false = expresión regular de Python.
patternYesTexto a buscar (literal por defecto).
auto_syncNoDescarga a la caché las fuentes que falten (la primera vez puede tardar).
source_idsNoLimita la búsqueda a estas fuentes (requiere notebook_id).
max_matchesNoMáximo total de coincidencias (1-200).
notebook_idNoNotebook concreto. Omitir = busca en todas las de la cuenta.
notebook_idsNoLimita el barrido a estas notebooks (solo si omites notebook_id).
context_linesNoLíneas de contexto antes/después (0-10).
max_notebooksNoTope de notebooks a recorrer (1-50).

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.7/5.0
Behavior4/5

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

Adds real behavioral context beyond the annotations: each match is tagged with its origin, notebooks_scanned_ids reports which notebooks were scanned, and notebook_errors (with ref) shows that a failing notebook does not abort the sweep — important partial-failure semantics. Annotations declare readOnlyHint=false, consistent with the cache-downloading auto_sync behavior rather than contradicting it.

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?

Four short sentences, front-loaded with the core action and scope, then the return shape, then the fallback/error semantics. Nearly every sentence earns its place; the only slight redundancy is restating the literal default already in the schema.

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

Completeness4/5

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

For a 9-parameter search tool with an output schema and annotations present, the description covers scope, return shape (line + context), origin tagging, and partial-failure handling. The remaining details (limits, context line counts) live in the schema and output schema, so nothing essential is missing.

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?

Schema coverage is 100%, so all nine parameters are already documented in the schema; the description only echoes the notebook_id-omission behavior and the literal flag. It adds no syntax or interaction details (e.g. source_ids requiring notebook_id) beyond what the schema states.

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?

States a specific verb and resource (search text or regex in the cache, like grep) and defines scope precisely: one notebook or all of them at once. It clearly differentiates itself from a listing/read tool, though it never names the closest sibling (keyword_search / search_sources), so the agent must infer the split.

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 explains that omitting notebook_id sweeps all notebooks and that matching is literal unless literal=false, which implicitly guides usage. However, it never says when to prefer this over keyword_search or search_sources, nor any prerequisite or exclusion — the caller has to infer the choice from the sibling names alone.

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