McpNotebookLM 0.1.3

dotnet tool install --global McpNotebookLM --version 0.1.3
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local McpNotebookLM --version 0.1.3
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=McpNotebookLM&version=0.1.3
                    
nuke :add-package McpNotebookLM --version 0.1.3
                    

McpNotebookLM

NuGet .NET C# MCP License

NotebookLM WebView2 Windows Markdown Fontes

Servidor MCP para criar notebooks e enviar documentação ao NotebookLM com a conta Google corporativa de quem está usando a máquina.

Conecte Gemini CLI, VS Code, Claude Desktop ou qualquer cliente MCP. O pacote não embute cookie, senha nem token: a sessão fica só no perfil do usuário, depois de um login no Edge.

Repositório: https://github.com/SouzaMatheus-dev/mcp-notebooklm

O NotebookLM não publica uma API oficial. Este servidor fala com o mesmo endpoint interno que o site usa (batchexecute). O Google pode mudar esse contrato sem aviso. Não há vínculo com o Google.


O que este pacote faz

  • Abre o login Google (Workspace / SSO) numa janela Edge (WebView2)
  • Lista e cria notebooks
  • Envia documentação em texto/Markdown, arquivo local ou URL
  • Substitui uma fonte pelo mesmo título quando a RFC ou o ADR muda
  • Devolve o link https://notebook.google.com/notebook/{id}

Arquivos aceitos: .pdf, .txt, .md, .docx, .html, .csv, .epub.

O que este pacote não faz

  • Não apaga notebook. atualizar_fonte remove só a fonte do título informado e envia o conteúdo novo
  • Não lê o cofre de cookies do Chrome/Edge do dia a dia
  • Não imprime cookie, SAPISID nem NOTEBOOKLM_AUTH_JSON

Requisitos

Item Detalhe
Sistema Windows 10/11
.NET 8+
Login WebView2 Runtime (já vem no Windows 11)
Conta Google Workspace com acesso ao NotebookLM

Instalação

dotnet tool install --global McpNotebookLM
dotnet tool update --global McpNotebookLM

O comando instalado é mcp-notebooklm.

Para uma pasta grande, fora do timeout do agente:

mcp-notebooklm publicar --pasta C:\docs\adrs --titulo "ADRs" --lote 8
mcp-notebooklm publicar --pasta C:\docs\adrs --notebook <id>

A repetição pula o arquivo cujo conteúdo não mudou e troca o que mudou.

Login corporativo

mcp-notebooklm login
  1. A janela abre https://notebook.google.com/.
  2. Entre com a conta da empresa (SSO, MFA, o que o Workspace exigir).
  3. Quando o NotebookLM carregar, clique em Salvar sessão.

A sessão vai para %USERPROFILE%\.mcp-notebooklm\storage_state.json. Trate esse arquivo como senha: não commite, não cole em chat.

Se o acesso condicional bloquear o WebView2, exporte a sessão de um navegador já autenticado e aponte um destes (de preferência em arquivo local, fora do git):

Variável Uso
NOTEBOOKLM_STORAGE_STATE Caminho de um storage_state.json no formato Playwright
NOTEBOOKLM_AUTH_JSON O mesmo JSON inline
NOTEBOOKLM_COOKIE Header Cookie copiado do DevTools, só da sua sessão
NOTEBOOKLM_BASE_URL https://notebook.google.com ou https://notebooklm.google.com
NOTEBOOKLM_AUTHUSER Índice da conta Google, padrão 0

Configuração no Gemini CLI

Arquivo do usuário: %USERPROFILE%\.gemini\settings.json

{
  "mcpServers": {
    "notebooklm": {
      "command": "mcp-notebooklm",
      "timeout": 180000,
      "trust": false
    }
  }
}

Não coloque cookie nesse JSON versionado. Se precisar de variável secreta, use .gemini/settings.local.json.

Exemplo: docs/examples/gemini.json.


Tools

Os nomes abaixo são os do protocolo MCP. Uma chamada com o nome em PascalCase responde Unknown tool.

Tool Efeito
status_autenticacao Diz se a sessão abre o NotebookLM, sem mostrar segredo
listar_notebooks Lista id, título e link
criar_notebook Cria um notebook e devolve o id que não existia antes da chamada
listar_fontes Lista as fontes de um notebook
adicionar_documento_texto Cola Markdown ou texto
adicionar_documento_arquivo Envia um arquivo local
adicionar_documento_url Adiciona página ou YouTube
atualizar_fonte Troca a fonte de mesmo título: remove a anterior e envia o texto ou arquivo novo
publicar_documentacao Publica um conjunto de fontes. Com notebookId, usa o notebook que já existe. Com substituir=true, troca as de mesmo título

Falha de negócio (NotebookLmException) ou HTTP volta com isError: true. Uma lista vazia ("Nenhum notebook encontrado") continua sendo sucesso.

publicar_documentacao aceita, na mesma chamada:

  • texto e tituloTexto para um único documento
  • textos: JSON [{"titulo":"...","conteudo":"..."}]
  • pasta: diretório com .md ou .markdown (o título é o caminho relativo, sem extensão)
  • arquivos e urls, vários itens separados por | ou quebra de linha

Sem notebookId, titulo é obrigatório e um notebook novo é criado. Cada chamada envia no máximo lote fontes (padrão 8, teto 20). A resposta traz o notebookId e, se ainda houver arquivo, pede a mesma chamada de novo. Na repetição, o título que já está no notebook é pulado. Com substituir=true, use o inicio devolvido para o lote seguinte.

Se uma fonte falhar no meio, a resposta traz o id. Repetir a chamada continua do que falta.

atualizar_fonte recebe notebookId e um dos dois: conteudo com titulo, ou caminho do arquivo. O nome comparado é o título da fonte (no arquivo, o nome do arquivo). Várias fontes com o mesmo título interrompem a chamada.


Limites

  • Texto: 450 mil caracteres (NOTEBOOKLM_MAX_TEXT_CHARS)
  • Arquivo: 50 MB (NOTEBOOKLM_MAX_FILE_BYTES)
  • Até 300 fontes por publicação, em lotes de 8 (lote, no máximo 20)

O caminho do arquivo é resolvido no diretório de trabalho do cliente MCP. Prefira caminho absoluto.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
0.1.3 100 9/30/2026
0.1.2 101 9/24/2026
0.1.1 95 9/23/2026
0.1.0 92 9/23/2026