notebooklm-mcp-pro
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| NLM_PROFILE | No | notebooklm-py profile for multiple accounts. | |
| NLM_RETRIES | No | Retry count 0-5 for network/server/quota errors on reads; non-idempotent operations are never retried. | 2 |
| NLM_LOG_JSON | No | Set to 1 for structured JSON logs on stderr, one line per event. | 0 |
| NLM_MCP_MODE | No | Server mode: readonly or readwrite. | readonly |
| NLM_AUDIT_LOG | No | Path to the JSONL audit log for writes and deletions. | <cache>/audit.jsonl |
| NLM_CACHE_DIR | No | Directory for cache, exports, and audit logs. | ~/.cache/notebooklm-mcp-pro |
| NLM_LOG_LEVEL | No | Log level; logs go to stderr because stdout is used by the protocol. | INFO |
| NLM_MAX_CHARS | No | Maximum page size returned to the agent; minimum 1000. | 20000 |
| NLM_UPLOAD_DIRS | No | Allowed folders for add_source_file and add_source_base64, separated by ':' on Linux/Mac or ';' on Windows. Empty disables uploads. | |
| NLM_STORAGE_PATH | No | Path to storage_state.json. | |
| NLM_STRIP_IMAGES | No | Strips embedded base64 images from Markdown sources, replacing them with text markers. | 1 |
| NLM_AUDIT_MAX_BYTES | No | Audit log rotation size in bytes; one generation is kept in .1. | 10485760 |
| NLM_MAX_CONCURRENCY | No | Maximum simultaneous calls to NotebookLM. | 4 |
| NLM_TIMEOUT_SECONDS | No | Timeout per call in seconds; some operations multiply it. | 60 |
| NLM_DEFAULT_LANGUAGE | No | Default language for generate_report. | es |
| NLM_CACHE_TTL_SECONDS | No | Cache validity period in seconds; 0 means never use the cache. | 3600 |
| NLM_MCP_ALLOW_DESTRUCTIVE | No | Enables destructive deletion tools, only with readwrite mode. | 0 |
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
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| health_checkB | Estado del servidor y de la sesión con NotebookLM (modo, caché, autenticación). |
| list_notebooksB | Lista los notebooks de la cuenta (id, título, nº de fuentes, fechas). |
| get_notebookC | Metadatos de un notebook, su resumen generado y temas sugeridos. |
| list_sourcesB | Lista las fuentes de un notebook con tipo, estado, URL y nº de palabras. |
| read_sourceA | Lee una fuente en Markdown, paginada. Para documentos largos prefiere get_source_outline + read_source_section. |
| get_source_outlineB | Índice de encabezados (nivel, título, línea, posición) de una fuente en Markdown. |
| read_source_sectionB | Lee solo una sección (hasta el siguiente encabezado del mismo nivel o superior). |
| get_source_guideC | Resumen y palabras clave que NotebookLM genera para una fuente. |
| search_sourcesB | Búsqueda semántica de NotebookLM: fragmentos más relevantes ordenados por relevancia. |
| keyword_searchA | Búsqueda léxica BM25 local (sin cuota) en un notebook o en todas a la vez. Sin |
| grepA | Busca un texto o regex (como grep) en la caché: en un notebook o en todas a la vez. Devuelve línea + contexto. Sin |
| ask_notebookA | Pregunta al notebook y devuelve respuesta con citas a fuentes. Consume cuota de chat y queda en el historial del notebook. |
| list_notesB | Lista las notas del notebook con una vista previa. |
| read_noteB | Lee una nota completa (paginada). |
| list_artifactsA | Lista los artefactos generados (informes, audio, cuestionarios, mapas mentales...) y su estado. |
| read_reportA | Lee en Markdown un informe (briefing, guía de estudio...), paginado. Solo los informes (tipo |
| get_generation_statusA | Estado de una generación iniciada con generate_report (pending / in_progress / completed / failed). Con |
| get_usageA | Cuota de la cuenta (ventanas de uso y acciones con capacidad restante). Útil antes de lotes de ask_notebook/generate_report para no chocar con límites.
No todas las cuentas exponen la cuota: si no, devuelve |
| get_chat_historyA | Historial de chat del notebook: turnos (pregunta, respuesta) más recientes. Los turnos vienen recortados y sin conversation_id: para repreguntar con contexto, usa el que devolvió ask_notebook. |
| source_statsA | Radiografía local de las fuentes: tamaño, palabras, encabezados y términos dominantes. Sin |
| sync_notebookA | Descarga todas las fuentes del notebook en Markdown a la caché local (habilita keyword_search/grep sin esperas). |
| export_markdownA | Exporta a Notebook completo (incremental): solo reescribe las fuentes cuyo Markdown cambió —el resto
conserva su |
| clear_cacheA | Borra la caché local y las exportaciones (no toca nada en NotebookLM).
|
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| research_topic | |
| summarize_source | |
| compare_sources |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| notebooks | Lista de notebooks de la cuenta. |
TDQS
Scored across 23 tools
Most tools target a clearly distinct resource/action (notebooks, sources, notes, reports, cache, quota). The main risk is the search trio—search_sources (semantic), keyword_search (BM25) and grep (regex)—which overlap conceptually, though descriptions explain when to use each. read_source vs read_source_section vs get_source_outline are also related but well differentiated.
Predominantly consistent snake_case verb_noun pattern (list_notebooks, get_notebook, read_source, sync_notebook, clear_cache). A few deviations—grep (bare verb), keyword_search and source_stats (noun/adjective-noun), health_check—but they remain readable and predictable overall.
23 tools is on the heavy side of the 16-25 band for a single server. Most tools earn their place (notebook/source/note/artifact lifecycle plus a cache and quota subsystem), but the search suite and cache utilities could be consolidated to reduce surface area.
The surface is strong on reading, searching and caching, but lacks creation/management operations: no create_notebook, add_source, create_note or delete tools. Notably, generate_report is referenced by read_report and get_generation_status but is absent from the tool list, creating a dead end for artifact generation.