notebooklm-mcp-cli

Acesso programático ao Google NotebookLM — via interface de linha de comando (CLI) ou servidor Model Context Protocol (MCP).

NotebookLM Web Importer

Importe páginas da web e vídeos do YouTube para o NotebookLM com um clique. Confiado por mais de 200.000 usuários.

Instalar extensão do Chrome

Documentação

Guia do MCP

Referência completa para o servidor MCP do Gemini Notebook (antigo Google NotebookLM) — 43 ferramentas para assistentes de IA.

Instalação

# Install the package
uv tool install notebooklm-mcp-cli

# Add to Claude Code
claude mcp add --scope user gemini-notebook-mcp notebooklm-mcp

# Add to Gemini CLI
gemini mcp add --scope user gemini-notebook-mcp notebooklm-mcp

Nomeação do servidor: Use gemini-notebook-mcp como nome do servidor ao registrar com seu agente. O executável permanece notebooklm-mcp. Se você tiver um MCP do Gemini Notebook legado com automação de navegador instalado sob um nome diferente (ex.: notebooklm), remova-o primeiro — agentes como Hermes ficam confusos quando dois servidores expõem nomes de ferramentas sobrepostos (notebook_create, source_add, notebook_query, …).

Consulte a seção Migrando de outro Gemini Notebook MCP no guia de Introdução para o passo a passo completo.

Autenticação

Antes de usar as ferramentas MCP, autentique-se:

nlm login

Ou use a ferramenta de autenticação independente:

nlm login

Referência de Ferramentas

Notebooks (6 ferramentas)

FerramentaDescrição
notebook_listListar todos os notebooks
notebook_createCriar novo notebook
notebook_getObter detalhes do notebook com fontes
notebook_describeObter resumo de IA e tópicos sugeridos
notebook_renameRenomear um notebook
notebook_deleteExcluir notebook (requer confirm=True)

Fontes (7 ferramentas)

FerramentaDescrição
source_addUnificada - Adicionar URL, texto, arquivo ou fonte do Drive
source_list_driveListar fontes com status de atualização do Drive; use skip_freshness=True para notebooks grandes quando a atualização não for necessária
source_sync_driveSincronizar fontes do Drive desatualizadas
source_deleteExcluir fonte (requer confirm=True)
source_describeObter resumo de IA com palavras-chave
source_get_contentObter conteúdo de texto bruto
source_renameRenomear uma fonte em um notebook

Parâmetros de source_list_drive:

source_list_drive(
    notebook_id="...",
    skip_freshness=False,  # True skips per-source freshness API calls for faster listing
)

Parâmetros de source_add:

source_add(
    notebook_id="...",
    source_type="url",        # url | text | file | drive
    url="https://...",        # for source_type=url
    text="...",               # for source_type=text
    title="...",              # optional title
    file_path="/path/to.pdf", # for source_type=file
    document_id="...",        # for source_type=drive
    doc_type="doc",           # doc | slides | sheets | pdf
    wait=True,                # wait for processing to complete
    wait_timeout=120.0        # seconds to wait
)

Consultas (4 ferramentas)

FerramentaDescrição
notebook_queryPerguntar à IA sobre fontes no notebook
notebook_query_startIniciar uma consulta assíncrona para notebooks com muitas fontes ou perguntas de longa duração
notebook_query_statusConsultar uma consulta assíncrona iniciada com notebook_query_start
chat_configureDefinir objetivo do chat e tamanho da resposta

As consultas usam um orçamento de 120 segundos de tempo real por padrão. Notebooks com muitas fontes podem levar mais tempo; tente novamente com timeout=180 (ou outro valor adequado ao notebook). Para operações mais longas, use notebook_query_start e consulte notebook_query_status até que ele relate completed ou error. Um tempo limite retorna um erro estruturado com uma dica de nova tentativa em vez de uma falha de transporte sem informações.

Sessões de Chat (3 ferramentas)

FerramentaDescrição
chat_listListar sessões de chat de um notebook
chat_getObter transcrição completa de uma sessão de chat (padrão: a mais recente)
chat_exportExportar uma transcrição de chat para Markdown ou JSON

Conteúdo do Studio (4 ferramentas)

FerramentaDescrição
studio_createUnificada - Criar qualquer tipo de artefato
studio_statusVerificar progresso da geração
studio_deleteExcluir artefato (requer confirm=True)
studio_reviseRevisar slides em uma apresentação existente (requer confirm=True)

Tipos de artefato de studio_create:

  • audio - Podcast (formatos: deep_dive, brief, critique, debate)
  • video - Visão geral em vídeo (formatos: explainer, brief, cinematic, short)
  • report - Relatório de texto (Briefing Doc, Guia de Estudo, Post de Blog)
  • quiz - Quiz de múltipla escolha
  • flashcards - Flashcards de estudo
  • mind_map - Mapa mental visual
  • slide_deck - Slides de apresentação
  • infographic - Infográfico visual
  • data_table - Tabela de dados estruturados

Downloads (2 ferramentas)

FerramentaDescrição
download_artifactUnificada - Baixar qualquer tipo de artefato
download_all_artifactsBaixar todos os artefatos concluídos de um notebook — ou todos os notebooks com all_notebooks=True — em pastas por notebook

Tipos de download_artifact: audio, video, report, mind_map, slide_deck, infographic, data_table, data_table_xlsx, quiz, flashcards

Exportações (1 ferramenta)

FerramentaDescrição
export_artifactExportar para Google Docs/Sheets

Pesquisa (3 ferramentas)

FerramentaDescrição
research_startIniciar pesquisa na web/Drive
research_statusConsultar progresso da pesquisa
research_importImportar fontes descobertas (timeout e cited_only suportados)

Notas (1 ferramenta unificada)

FerramentaDescrição
noteUnificada - Gerenciar notas (ação: list, create, update, delete)

Ações de note:

note(notebook_id, action="list")             # List all notes
note(notebook_id, action="create", content="...", title="...")
note(notebook_id, action="update", note_id="...", content="...")
note(notebook_id, action="delete", note_id="...", confirm=True)

Rótulos (1 ferramenta)

FerramentaDescrição
labelUnificada - Gerenciar rótulos de fontes (ação: auto, list, reorganize, create, rename, set_emoji, move_source, delete)

Ações de label:

label(notebook_id="abc", action="auto")           # AI auto-labels all sources
label(notebook_id="abc", action="list")           # List current labels
label(notebook_id="abc", action="reorganize", unlabeled_only=True)
label(notebook_id="abc", action="create", name="Research", emoji="📚")
label(notebook_id="abc", action="move_source", label_id="...", source_id="...")
label(notebook_id="abc", action="delete", label_id="...", confirm=True)

Compartilhamento (4 ferramentas)

FerramentaDescrição
notebook_share_statusObter configurações de compartilhamento
notebook_share_publicAtivar/desativar link público
notebook_share_inviteConvidar colaborador por e-mail
notebook_share_batchConvidar vários colaboradores em uma única solicitação

Autenticação (2 ferramentas)

FerramentaDescrição
refresh_authRecarregar tokens de autenticação
save_auth_tokensSalvar cookies (método alternativo)

Servidor (1 ferramenta)

FerramentaDescrição
server_infoObter versão e verificar atualizações

Lote e Entre Notebooks (2 ferramentas)

FerramentaDescrição
batchUnificada — Operações em lote em vários notebooks (ação: query, add_source, create, delete, studio)
cross_notebook_queryConsultar vários notebooks e obter respostas agregadas com citações por notebook

Ações de batch:

batch(action="query", query="What are the key findings?", notebook_names="AI Research, Dev Tools")
batch(action="add_source", source_url="https://...", tags="ai,research")
batch(action="create", titles="Project A, Project B, Project C")
batch(action="delete", notebook_names="Old Project", confirm=True)
batch(action="studio", artifact_type="audio", tags="research", confirm=True)

cross_notebook_query:

cross_notebook_query(query="Compare approaches", notebook_names="Notebook A, Notebook B")
cross_notebook_query(query="Summarize", tags="ai,research")
cross_notebook_query(query="Everything", all=True)

Pipelines (1 ferramenta)

FerramentaDescrição
pipelineUnificada — Listar ou executar fluxos de trabalho de várias etapas (ação: list, run)

Ações de pipeline:

pipeline(action="list")  # List available pipelines
pipeline(action="run", notebook_id="...", pipeline_name="ingest-and-podcast", input_url="https://...")

Pipelines integrados: ingest-and-podcast, research-and-report, multi-format

Tags e Seleção Inteligente (1 ferramenta)

FerramentaDescrição
tagUnificada — Marcar notebooks e encontrar os relevantes (ação: add, remove, list, select)

Ações de tag:

tag(action="add", notebook_id="...", tags="ai,research,llm")
tag(action="remove", notebook_id="...", tags="ai")
tag(action="list")  # List all tagged notebooks
tag(action="select", query="ai research")  # Find notebooks by tag match

Exemplos de Fluxos de Trabalho

Pesquisa → Podcast

1. research_start(query="AI trends 2026", mode="deep")
2. research_status(notebook_id, auto_import=True)  # waits up to 15 min, imports automatically
# Or review sources first, then import manually:
2a. research_status(notebook_id)  # waits up to 15 min, returns next_action hint
2b. research_import(notebook_id, task_id, cited_only=True, timeout=600)  # optional cited subset
4. studio_create(notebook_id, artifact_type="audio", confirm=True)
5. studio_status(notebook_id, artifact_id=created_artifact_id)  # poll one artifact
6. download_artifact(notebook_id, artifact_type="audio", output_path="podcast.m4a")

studio_status retorna campos enxutos e no máximo 20 artefatos por padrão. Consulte um novo artefato com artifact_id, pagine notebooks grandes com limit/offset e defina include_details=True somente quando prompts, IDs de fontes, conteúdo de relatórios ou detalhes de mídia forem necessários.

Adicionar Fontes com Espera

source_add(notebook_id, source_type="url", url="https://...", wait=True)
# Returns when source is fully processed and ready for queries

Gerar Materiais de Estudo

studio_create(notebook_id, artifact_type="quiz", question_count=10, confirm=True)
studio_create(notebook_id, artifact_type="flashcards", difficulty="hard", confirm=True)
studio_create(notebook_id, artifact_type="report", report_format="Study Guide", confirm=True)
studio_create(notebook_id, artifact_type="audio", language="es-419", confirm=True)

Para Visões Gerais de Áudio, observou-se que o Gemini Notebook usa subtags de região BCP-47 para selecionar o sotaque da voz. es e es-ES produzem espanhol da Espanha, enquanto es-US e es-419 produzem espanhol latino-americano. O prompt de geração não substitui o sotaque de forma confiável. Trate isso como comportamento observado, não como um contrato de API garantido.

Tags, Lote e Entre Notebooks

# Tag notebooks for organization
tag(action="add", notebook_id="abc", tags="ai,research")
tag(action="add", notebook_id="def", tags="ai,product")

# Find relevant notebooks
tag(action="select", query="ai research") 

# Query across tagged notebooks
cross_notebook_query(query="What are the main conclusions?", tags="ai")

# Batch generate podcasts for all tagged notebooks
batch(action="studio", artifact_type="audio", tags="ai", confirm=True)

Automação de Pipelines

# List available pipelines
pipeline(action="list")

# Run a full ingest-and-podcast workflow
pipeline(action="run", notebook_id="abc", pipeline_name="ingest-and-podcast", input_url="https://example.com")

Configuração

Planejando conectar-se pelo Claude web/mobile ou expor o servidor em uma rede? Leia Implantação Remota de MCP primeiro. O suporte ao transporte HTTP não fornece HTTPS, autenticação do chamador, contas Gemini Notebook por usuário ou transferência remota de arquivos.

Opções do Servidor MCP

SinalizadorDescriçãoPadrão
--transportProtocolo (stdio, http, sse)stdio
--portPorta para HTTP/SSE8000
--debugAtivar registro detalhado (verbose)false

Variáveis de Ambiente

VariávelDescrição
NOTEBOOKLM_MCP_TRANSPORTTipo de transporte
NOTEBOOKLM_MCP_PORTPorta HTTP/SSE
NOTEBOOKLM_MCP_DEBUGAtivar registro de depuração
NOTEBOOKLM_HLIdioma da interface e localidade padrão de artefatos, incluindo valores BCP-47 regionais como es-419 (padrão: en)
NOTEBOOKLM_QUERY_TIMEOUTTempo limite de consulta (segundos)
NOTEBOOKLM_BASE_URLSubstituir URL base para Enterprise/Workspace (padrão: https://notebooklm.google.com)
NOTEBOOKLM_PROJECT_IDID ou número do projeto GCP obrigatório para Gemini Notebook Enterprise
NOTEBOOKLM_LOCATIONLocalização/multirregião Enterprise (global, us ou eu; padrão: global)
NOTEBOOKLM_DOWNLOAD_DIRDiretório ao qual os downloads de artefatos MCP estão restritos. Sem definição, o padrão é ~/Downloads/gemini-notebook ou ~/.notebooklm-mcp-cli/downloads/ quando não existe ~/Downloads. Também limita downloads da CLI quando definido.
NOTEBOOKLM_ALLOWED_FILE_DIRSLista opcional separada por separador do SO de diretórios permitidos para fontes de arquivos locais. Sem definição, significa sem restrições.
NOTEBOOKLM_DISABLED_GROUPSGrupos de ferramentas separados por vírgula para ocultar (consulte Exposição seletiva de ferramentas)
NOTEBOOKLM_DISABLED_TOOLSFerramentas individuais separadas por vírgula para ocultar
NOTEBOOKLM_ENABLED_TOOLSFerramentas separadas por vírgula para reativar, substituindo as duas acima

Dicas de Janela de Contexto

Este MCP tem 43 ferramentas que consomem contexto. Boas práticas:

  • Desative quando não estiver usando: No Claude Code, use @gemini-notebook-mcp para alternar
  • Oculte ferramentas que você não precisa: Consulte Exposição seletiva de ferramentas abaixo para expor apenas um subconjunto
  • Use ferramentas unificadas: source_add, studio_create, download_artifact, download_all_artifacts lidam com várias operações cada
  • Consulte com sabedoria: Use studio_status com moderação — artefatos levam de 1 a 5 minutos

Exposição seletiva de ferramentas

O controle é opcional: sem configuração, todas as ferramentas ficam visíveis. Para reduzir o contexto, oculte ferramentas por grupo ou por nome por meio de variáveis de ambiente. As ferramentas são ocultadas em vez de removidas, portanto nenhuma alteração de código é necessária.

Ordem de resolução (a última vence): NOTEBOOKLM_DISABLED_GROUPS, depois NOTEBOOKLM_DISABLED_TOOLS, depois NOTEBOOKLM_ENABLED_TOOLS.

# Query-first setup: hide mutating groups, keep read + chat tools
export NOTEBOOKLM_DISABLED_GROUPS="notebooks_manage,sources_manage,studio,research,sharing,notes"

# Hide one extra tool, but keep studio_status from an otherwise-hidden group
export NOTEBOOKLM_DISABLED_TOOLS="tag"
export NOTEBOOKLM_ENABLED_TOOLS="studio_status"

Grupos disponíveis: notebooks_read, notebooks_manage, sources_read, sources_manage, chat, query_multi, organization, automation, notes, auth, server, sharing, research, studio.

Nomes de grupos desconhecidos são ignorados. As alterações entram em vigor na reinicialização do servidor.


Configuração de IDE

A maneira mais fácil de configurar qualquer ferramenta é com nlm setup:

nlm setup add claude-code       # Claude Code
nlm setup add gemini            # Gemini CLI
nlm setup add github-copilot    # GitHub Copilot
nlm setup add cursor            # Cursor
nlm setup add windsurf          # Windsurf
nlm setup add json              # Any other tool (interactive JSON generator)
Configuração manual

Claude Code

claude mcp add --scope user gemini-notebook-mcp notebooklm-mcp

Cursor

Adicione a ~/.cursor/mcp.json:

{
  "mcpServers": {
    "gemini-notebook-mcp": {
      "command": "/path/to/notebooklm-mcp"
    }
  }
}

GitHub Copilot / VS Code

Adicione a .vscode/mcp.json:

{
  "servers": {
    "gemini-notebook-mcp": {
      "command": "notebooklm-mcp",
      "args": []
    }
  }
}

Gemini CLI

gemini mcp add --scope user gemini-notebook-mcp notebooklm-mcp