notebooklm MCP

Chatea con Google NotebookLM a través de MCP o API REST HTTP para obtener respuestas sin alucinaciones a partir de tus documentos. Perfecto para flujos de trabajo n8n y automatización.

NotebookLM Web Importer

Importa páginas web y videos de YouTube a NotebookLM con un clic. Utilizado por más de 200,000 usuarios.

Instalar extensión de Chrome

Documentación

Servidor REST API + MCP de NotebookLM

Automatiza Google NotebookLM a escala. API REST HTTP de 33 endpoints para n8n / Zapier / Make / curl, además de un servidor MCP para Claude Code / Cursor / Codex. Preguntas y respuestas con citas, generación completa de Studio (audio · video · infografía · informe · presentación · tabla de datos), rotación multi-cuenta con reautenticación automática en cuentas personales y de Google Workspace.

v3.2.0 — el contenido generado por fin se puede eliminar (content_delete): el endpoint había sido declarado y no llamado por nada desde v3, así que los notebooks acumulaban cada borrador que se había solicitado. Se basa en 3.1.x, donde el contenido generado dejó de devolverse en el idioma equivocado — la configuración regional de la interfaz estaba anulando el argumento language en ambos transportes, silenciosamente, mientras reportaba éxito. También: lectura del texto indexado completo de una fuente (source_read, paginado), etiquetas de fuente funcionales, y rechazos de RPC reportados como rechazos en lugar de como un ID de endpoint rotado. Construido sobre un doble transporte — la API RPC interna batchexecute (10-100× más rápida que el scraping, inmune a los rediseños de la interfaz) con el navegador Playwright como respaldo automático, ambos incluidos permanentemente. Probado por lotes en ejecuciones nocturnas de más de 1 000 preguntas. Consulta el registro de cambios. Compara con PleasePrompto/notebooklm-mcp para saber cuándo este proyecto es la opción correcta (API REST, Studio completo, reautenticación automática).

Nota (julio de 2026): Google renombró NotebookLM a Gemini Notebook. Es el mismo producto, los enlaces existentes redirigen, y este proyecto impulsa el mismo servicio subyacente — la ruta del navegador se actualizó para el nuevo DOM en v2.3.0 y la ruta RPC en v3.0.0. El paquete y el repositorio mantienen el nombre notebooklm.

CI npm version npm downloads codecov License: MIT TypeScript Node.js

MCP Claude Code n8n GitHub MCP Toplist


Proyecto no oficial — bueno saberlo antes de empezar

Esto no está afiliado a Google. Habla con los mismos endpoints batchexecute que usa la aplicación web de NotebookLM, con un respaldo de navegador cuando se mueven. No están documentados, por lo que pueden cambiar sin previo aviso — cuando eso sucede, publicamos una corrección, como hemos hecho con cada cambio hasta ahora.

Dos notas prácticas: usa una cuenta de Google dedicada para la automatización, y espera que se apliquen las propias cuotas de NotebookLM a alto volumen. Consulta Descargo de responsabilidad para el texto completo.


Lo que puedes construir

🔗 Pipelines de automatización sin código — La API REST de 33 endpoints significa que NotebookLM se convierte en un paso en n8n, Zapier, Make, o un simple curl en cron. Sin agente, sin cliente MCP, sin Node en tu stack — solo HTTP. Esta es la mitad que la mayoría de las bibliotecas de NotebookLM no tienen.

🤖 Herramientas para agentes — El mismo motor a través de MCP para Claude Code, Cursor y Codex, con una habilidad incluida que prepara al agente sobre formatos de citas, el patrón de lotes consciente de cuotas diarias, y la selección de transporte.

📚 Investigación a escala — Rotación multi-cuenta con reautenticación automática, construida para ejecuciones nocturnas de más de 1 000 preguntas en varios notebooks sin supervisión.

🎙️ Generación completa de Studio — Resúmenes de audio, video, infografías, informes, presentaciones, tablas de datos, además de tarjetas de estudio, cuestionarios y mapas mentales — generados y descargados programáticamente.

Casos de uso y recetas

NotebookLM es un motor fundamentado: Gemini lee tus fuentes y responde a partir de ellas, con citas. El patrón ganador es dejar que haga la lectura costosa mientras tu propio stack maneja la orquestación y el último tramo.

Gasta menos tokens — descarga la lectura

  • 🪙 Capa de síntesis de cero tokens — Coloca 30 documentos en un notebook, deja que Gemini haga el análisis pesado, y gasta el contexto de tu agente solo en el pulido final. El razonamiento ocurre en el servidor; tu agente solo orquesta (add_notebook → source_add → notebook_ask).
  • 💾 Caché de respuestas que puedes releer sin conexión — vault_batch escribe cada respuesta en disco como JSON estructurado contra un esquema publicado, para que una ejecución por lotes se convierta en un corpus que puedes buscar con grep, comparar, reindexar, o alimentar a una capa de recuperación — sin volver a consultar y gastar cuota.

Conéctalo a cosas que no son agentes

  • ⚙️ NotebookLM como paso en n8n / Zapier / Make — Como habla HTTP plano, una respuesta con citas se convierte en un nodo en un flujo de trabajo: un envío de formulario dispara una pregunta, la respuesta citada aterriza en una hoja de cálculo, un mensaje de Slack, o una base de datos. Sin runtime de agente involucrado.
  • 📄 Pipeline de ingesta de documentos — Observa una carpeta o una bandeja de entrada, empuja nuevos PDFs y URLs como fuentes, y haz un conjunto fijo de preguntas contra ellos en cada llegada.

Respuestas fundamentadas con rastro documental

  • 🔍 Citas con el texto fuente real — Las respuestas vienen con nombres de fuentes y los extractos citados en los que se apoyan, extraídos del panel de citas — para que una afirmación se pueda verificar, no solo atribuir.
  • 🎓 Revisión de literatura a escala de tesis — Procesa por lotes más de 100 preguntas de investigación en varios notebooks, rota cuentas cuando se agotan las cuotas diarias, y reanuda donde se detuvo. Construido para, y probado en, exactamente esto.

Recupera artefactos

  • 🔁 Un conjunto de fuentes, todos los formatos — Expande un solo notebook a un podcast, un video, una presentación de diapositivas, un informe, un cuestionario y un mapa mental, y luego descárgalos todos localmente.

En el mundo real

Implementaciones reales, no hipotéticas.

  • 📚 Una revisión de literatura doctoral a escala de lotes — El proyecto fue construido para, y es probado continuamente en, ejecuciones nocturnas de más de 1 000 preguntas de investigación distribuidas en varios notebooks: la rotación multi-cuenta se activa cuando se agota una cuota diaria, cada respuesta se escribe en disco con sus citas, y una ejecución interrumpida se reanuda en lugar de empezar de nuevo. El patrón de lotes en vault_batch existe porque una tesis lo necesitaba.

  • 🔌 Reemplazando un motor RAG con la API REST — musnymubarak/Calim_Doc intercambió un motor de recuperación basado en Gemini por la API HTTP de este proyecto, ejecutándolo como un servicio Docker (notebooklm:3000) detrás de una capa completa de cliente y trabajador. Una buena ilustración de la mitad REST: sin runtime de agente, sin cliente MCP — NotebookLM simplemente se convirtió en un servicio backend que su aplicación Python llama.

¿Construiste algo con esto? Abre un issue — esta sección es para el trabajo de otras personas.

Características

Preguntas y respuestas con citas

  • Haz preguntas a NotebookLM y obtén respuestas precisas con respaldo de citas
  • Extracción de citas de fuentes con 5 formatos: ninguna, en línea, notas al pie, json, expandido (97% de tasa de éxito en extractos)
  • Gestión de sesiones para conversaciones de múltiples turnos con reautenticación automática al expirar la sesión

Generación de contenido

Genera múltiples tipos de contenido a partir de las fuentes de tu notebook:

Tipo de contenidoFormatosOpciones
Resumen de audioDiscusión estilo podcastIdioma (80+), instrucciones personalizadas
VideoBreve, Explicativo6 estilos visuales, idioma, instrucciones personalizadas
InfografíaHorizontal, VerticalIdioma, instrucciones personalizadas
InformeResumen, DetalladoIdioma, instrucciones personalizadas
PresentaciónGeneral, DetalladaIdioma, instrucciones personalizadas
Tabla de datosSimple, DetalladaIdioma, instrucciones personalizadas
Tarjetas de estudioTarjetas de estudioIdioma, instrucciones personalizadas
CuestionarioPreguntas de evaluaciónIdioma, instrucciones personalizadas
Mapa mentalGrafo de nodos interactivoGuardado en el notebook

Estilos visuales de video: aula, documental, animado, corporativo, cinematográfico, minimalista

Idioma del contenido generado: pasa language a cualquier generador — un código BCP-47 (es, ja, pt_BR, zh_Hans) o un nombre en inglés o en el propio idioma ("Spanish", "Español"). Se aceptan 81 idiomas, y uno no reconocido se rechaza en lugar de cambiarse silenciosamente por otro. Establece un valor predeterminado con NOTEBOOKLM_CONTENT_LANGUAGE; es deliberadamente independiente de NOTEBOOKLM_UI_LOCALE, que solo elige el idioma de la interfaz que lee el respaldo del navegador.

Las tarjetas de estudio y los cuestionarios se generan a través de generate_study_aid; los mapas mentales a través de generate_mind_map. La v3 también añade share_notebook, manage_labels y research_sources (descubrimiento de fuentes web/Drive) — consulta el registro de cambios.

Descarga de contenido

  • Descargar audio — archivos de audio WAV
  • Descargar video — archivos de video MP4
  • Descargar infografía — archivos de imagen PNG
  • El contenido basado en texto (informe, presentación, tabla de datos) se devuelve en la respuesta de la API
  • Eliminar contenido generado (content_delete) — hasta ahora un notebook acumulaba cada borrador que alguien había solicitado, sin forma de eliminar uno salvo la interfaz web

Gestión de fuentes

  • Añadir fuentes: Archivos (PDF, TXT, DOCX), URLs, Texto, videos de YouTube, Google Drive
  • Listar fuentes: Cada fuente con su ID y título (source_list)
  • Leer una fuente completa (source_read): el texto exacto que NotebookLM indexó — sobre lo que realmente razona, que la interfaz web solo muestra en fragmentos. Cita una fuente textualmente, verifica lo que realmente produjo un PDF, o entrega el material en bruto a otra herramienta. Nombra la fuente en lugar de su ID si lo prefieres; un nombre ambiguo se rechaza en lugar de adivinarse. Las fuentes largas llegan una página a la vez, con una instrucción explícita para obtener la siguiente — o paginate: false para todo el documento de una vez.

Biblioteca de notebooks

  • Gestión multi-notebook con validación y selección inteligente
  • Autodescubrimiento: Genera automáticamente metadatos a través de consultas a NotebookLM
  • Buscar notebooks por palabra clave en nombre, descripción o temas
  • Extraer notebooks: Lista todos los notebooks de NotebookLM con IDs y nombres
  • Eliminación masiva: Elimina varios notebooks a la vez

Cuentas y localización

  • Cuentas personales y de Google Workspace — reconoce ambos hosts de NotebookLM (notebooklm.google.com y el alias de Workspace notebook.google.com), para que las sesiones de Workspace se autentiquen limpiamente en lugar de entrar en bucle con "sesión expirada"
  • Consciente del idioma de la interfaz — maneja NotebookLM ya sea que su interfaz esté en inglés, francés, alemán o japonés (en · fr · de · ja); añade un idioma en un solo archivo JSON

Opciones de integración

  • Protocolo MCP — Claude Code, Cursor, Codex, cualquier cliente MCP
  • Habilidad de agente — incluye una habilidad notebooklm integrada (también independiente: roomi-fields/notebooklm-skill) que enseña al agente formatos de citas, el patrón de lotes consciente de cuotas diarias, y cuándo usar cada transporte
  • API REST HTTP — n8n, Zapier, Make.com, integraciones personalizadas
  • Docker — Implementación aislada con Docker o Docker Compose
  • RTFM capa de recuperación — /batch-to-vault escribe respuestas con citas como markdown + archivos laterales JSON (esquema nblm-answer-v1), indexables por RTFM (FTS5 + semántico) para consultas offline ilimitadas. Ideal para flujos de trabajo académicos / SOTA. Guía.

Inicio rápido

Opción 0 — Mercado de Claude Code (una línea, recomendado para usuarios de Claude Code)

La forma más rápida de llevar NotebookLM a Claude Code. Distribuido a través del marketplace roomi-fields/claude-plugins junto con RTFM (el compañero de recuperación — consulta la guía de integración de RTFM):

/plugin marketplace add roomi-fields/claude-plugins
/plugin install notebooklm@roomi-fields

Eso registra el servidor MCP, ejecuta npx -y @roomi-fields/notebooklm-mcp@<pinned-version> automáticamente (se requiere Node ≥ 18) y te permite actualizar con dos comandos cuando se publique una nueva versión: /plugin marketplace update roomi-fields y luego /reload-plugins. Después ejecuta npx -y -p @roomi-fields/notebooklm-mcp notebooklm-mcp-setup-auth una vez en una terminal para iniciar sesión en Google (se abre un Chrome visible). Para instalar RTFM al mismo tiempo: /plugin install rtfm@roomi-fields.

Opción 1 — API REST HTTP (n8n, Zapier, Make, curl, cualquier cliente HTTP)

git clone https://github.com/roomi-fields/notebooklm-mcp.git
cd notebooklm-mcp
npm install && npm run build
npm run setup-auth   # One-time Google login
npm run start:http   # Start REST API on port 3000
# Citation-backed Q&A, single curl, JSON response
curl -X POST http://localhost:3000/ask \
  -H 'Content-Type: application/json' \
  -d '{"question": "Summarize chapter 3", "notebook_id": "your-id", "source_format": "json"}'

La superficie completa es de 33 endpoints documentados — consulta la referencia de la API REST. Para lotes nocturnos de más de 1 000 preguntas, consulta el patrón de lotes.

Opción 2 — Modo MCP (Claude Code, Cursor, Codex)

# Build (same package, MCP transport)
git clone https://github.com/roomi-fields/notebooklm-mcp.git
cd notebooklm-mcp
npm install && npm run build

# Claude Code
claude mcp add notebooklm node /path/to/notebooklm-mcp/dist/index.js

# Cursor — add to ~/.cursor/mcp.json
{
  "mcpServers": {
    "notebooklm": {
      "command": "node",
      "args": ["/path/to/notebooklm-mcp/dist/index.js"]
    }
  }
}

Inicia sesión una vez — en una terminal, no a través del asistente. Ejecuta el inicio de sesión interactivo de Google como un comando; se abre una ventana de Chrome visible, inicias sesión y la sesión guardada se reutiliza luego por el servidor MCP:

npm run setup-auth          # from a clone (Option 2 above)
notebooklm-mcp setup-auth   # from a global install (npm i -g @roomi-fields/notebooklm-mcp)

Haz el inicio de sesión en una terminal en lugar de pedirle al asistente "inicia sesión por mí": algunos clientes MCP stdio (por ejemplo, Claude Desktop) limitan la duración de las llamadas a herramientas y cortan el inicio de sesión interactivo de hasta 10 minutos antes de que puedas terminar de iniciar sesión (consulta el problema #27).

Opción 3 — Docker (NAS, servidor, headless)

# Build and run
docker build -t notebooklm-mcp .
docker run -d --name notebooklm-mcp -p 3000:3000 -p 6080:6080 -v notebooklm-data:/data notebooklm-mcp

# Authenticate via noVNC
# 1. Open http://localhost:6080/vnc.html
# 2. Run: curl -X POST http://localhost:3000/setup-auth -d '{"show_browser":true}'
# 3. Login to Google in the VNC window

Consulta la Guía de Docker para implementación en NAS (Synology, QNAP).


Documentación

Sitio completo de documentación: https://roomi-fields.github.io/notebooklm-mcp/ · Especificación OpenAPI 3.1

GuíaDescripción
InstalaciónConfiguración paso a paso para modos HTTP y MCP
ConfiguraciónVariables de entorno y seguridad
Referencia de la API RESTDocumentación completa de endpoints HTTP (33 endpoints)
Ejecuta 1 000 preguntas durante la nochePatrón de lotes de producción con reautenticación automática y rotación
Integración RTFM — caché como repositorio buscablePatrón de pipeline: NotebookLM como ingesta de una sola vez, RTFM como capa de recuperación. Endpoint /batch-to-vault, esquema nblm-answer-v1.
Integración con n8nConfiguración de automatización de flujos de trabajo
Solución de problemasProblemas comunes y soluciones
Biblioteca de notebooksGestión de múltiples notebooks
Auto-descubrimientoGeneración autónoma de metadatos
Gestión de contenidoAudio, video, infografía, informe, presentación
Rotación de múltiples cuentasMúltiples cuentas con reautenticación automática TOTP
DockerImplementación con Docker y Docker Compose
Multi-interfazEjecuta Claude Desktop + HTTP simultáneamente
Comparación con PleasePrompto v2.0.0Matriz de características frente al servidor upstream solo MCP
Limitación del perfil de ChromeBloqueo de perfil (resuelto en v1.3.6+)
Añadir un idiomaSistema i18n para soporte de interfaz multilingüe

Hoja de ruta

Consulta ROADMAP.md para las funciones planificadas y el historial de versiones.

Últimas versiones:

  • v3.0.1 — Inicio de sesión interactivo de Google como comando CLI de primera clase (notebooklm-mcp setup-auth) para instalaciones globales / clientes stdio; setup_auth / re_auth aceptan un headless de nivel superior (#27)
  • v3.0.0 — Refactorización importante: transporte dual (API RPC interna batchexecute de NotebookLM con respaldo automático de DOM), 10-100× más rápido e inmune a los rediseños de interfaz; 5 nuevas herramientas (compartir notebooks, ayudas de estudio, mapas mentales, etiquetas de fuentes, investigación web)
  • v2.3.0 — Soporte completo para el rediseño "Gemini Notebook" de Google: crear / listar / renombrar / eliminar, fuentes y cada tipo de generación de Studio re-verificado de extremo a extremo (#23, #21)
  • v2.2.1 — Reconoce ambos hosts de NotebookLM para que las cuentas de Google Workspace se autentiquen (el alias notebook.google.com); el listado de notebooks ya no pierde ~30s después del rediseño "Gemini Notebook"; el banner HTTP lee la versión real. Diagnóstico y parche por @kpietkaa (#19)
  • v2.2.0 — Corrige la detección de nuevas respuestas que expiraba cuando una respuesta repetía una anterior (identidad basada en posición, no hash de texto); apagado elegante en desconexión stdio; configuración regional de interfaz japonesa
  • v2.1.1 — Selectores de interfaz tailandeses para notebook_create (parcial, #18)
  • v2.1.0 — Herramientas MCP note_list y note_get (#17)
  • v2.0.4 — Selectores de interfaz alemanes (cierra #14)
  • v2.0.0 — Herramientas renombradas a un árbol con espacios de nombres (notebook_ask, source_add, session_list, server_health, vault_batch…) en 9 espacios de nombres; tools/list anuncia solo los nombres canónicos. Compatible hacia atrás — los nombres planos heredados siguen funcionando como alias, por lo que los scripts y configuraciones existentes siguen ejecutándose. También añade MCP annotations (sugerencias de solo lectura / destructivo / idempotente / mundo abierto) y outputSchema + structuredContent en cada herramienta. Publicado en el registro de Smithery.
  • v1.7.0 — batch_to_vault expuesto como herramienta MCP de primera clase (paridad con el endpoint HTTP, sin necesidad de servidor localhost); el helper compartido runBatchToVault deduplica el bucle en ambos transportes
  • v1.6.0 — Endpoint /batch-to-vault + integración RTFM (esquema JSON nblm-answer-v1 publicado en schemas.roomi-fields.com/nblm-answer-v1.json) para almacenar en caché las respuestas de NotebookLM como un repositorio markdown buscable
  • v1.5.8 — Adaptaciones de interfaz de NotebookLM 2026 (saneamiento de etiquetas de iconos, recuperación del panel de Discusión, detección de fuentes basada en recuento) — PR #5 por @KhizarJamshaidIqbal
  • v1.5.7 — Corrección del selector de extracción de citas (.highlighted) y compilación multi-etapa de Docker — PR #1 por @JulienCANTONI
  • v1.5.6 — Reescritura importante de la extracción de citas (tasa de éxito del 97%), autenticación verificada por navegador al inicio, sincronización automática de perfiles
  • v1.5.0 — Generación completa de contenido de Studio (video, infografía, presentación, tabla_de_datos) + gestión de Notas + eliminación de fuentes
  • v1.4.0 — Gestión de contenido (fuentes, audio, generación) + múltiples cuentas

Las versiones intermedias de parches y endurecimiento (1.5.x–1.7.x) están en el CHANGELOG completo.

Aún no implementado:

  • Descubrir fuentes (búsqueda Web/Drive con modos Rápido/Profundo)
  • Editar notas (crear, eliminar y convertir están implementados)

Aviso legal

Esta herramienta automatiza interacciones del navegador con NotebookLM. Usa una cuenta de Google dedicada para la automatización. Las herramientas CLI como Claude Code pueden cometer errores — revisa siempre los cambios antes de implementarlos.

Consulta el Aviso legal completo a continuación.


Contribuciones

¿Encontraste un error? ¿Tienes una idea? Abre un problema o envía un PR.

Consulta CONTRIBUTING.md para las pautas.

Licencia

MIT — Úsalo libremente en tus proyectos. Consulta LICENSE.

Autor

Romain Peyrichou — @roomi-fields

Agradecimientos

Gracias a todos los que han contribuido con código, ideas e informes de errores:

  • Khizar Jamshaid Iqbal — @KhizarJamshaidIqbal, correcciones de selectores de interfaz 2025, script de doctor, limpieza de PII
  • Kazik Pietka — @kpietkaa, soporte de rediseño notebook.google.com
  • Rui Ruiberriz — @Excauboi, hl=<uiLocale> en URLs de aplicaciones + respaldo de raspado con clic
  • @he0xwhale — herramientas MCP note_list / note_get
  • @eminsnow — nombres canónicos de herramientas (_ sobre .)
  • Julien Cantoni — @JulienCANTONI

Aviso legal completo

Sobre la automatización del navegador: Aunque he incorporado funciones de humanización (velocidades de escritura realistas, retrasos naturales, movimientos del ratón), no puedo garantizar que Google no detecte o marque el uso automatizado. Usa una cuenta de Google dedicada para la automatización.

Sobre las herramientas CLI y los agentes de IA: Las herramientas CLI como Claude Code, Codex y asistentes similares impulsados por IA son potentes pero pueden cometer errores:

  • Revisa siempre los cambios antes de confirmarlos o implementarlos
  • Prueba primero en entornos seguros
  • Mantén copias de seguridad del trabajo importante
  • Los agentes de IA son asistentes, no oráculos infalibles

Construí esta herramienta para mí y la comparto con la esperanza de que ayude a otros, pero no puedo asumir responsabilidad por cualquier problema que pueda ocurrir. Úsala bajo tu propio criterio.


Construido con frustración por las APIs alucinadas, impulsado por NotebookLM de Google

⭐ Da una estrella en GitHub si esto te ahorra tiempo de depuración.