MCP Gemini Notebook 2026
by decsters01
README.md
# MCP Gemini Notebook 2026
<p align="center">
<strong>NotebookLM + Gemini → Cursor / Claude / Codex</strong><br/>
Respostas grounded nas <em>suas</em> fontes. Sem alucinação de documentação.
</p>
<p align="center">
<a href="#instalação-no-cursor"><img src="https://img.shields.io/badge/Cursor-MCP-black?style=for-the-badge" alt="Cursor" /></a>
<a href="#o-que-foi-corrigido"><img src="https://img.shields.io/badge/Patch-Issue%20%2374-success?style=for-the-badge" alt="Patch #74" /></a>
<a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-blue?style=for-the-badge" alt="MIT" /></a>
<img src="https://img.shields.io/badge/Node-18%2B-green?style=for-the-badge" alt="Node 18+" />
</p>
---
## Por que este fork existe?
O upstream [`notebooklm-mcp`](https://github.com/PleasePrompto/notebooklm-mcp) é excelente — mas no Gemini (2026) o NotebookLM passou a mostrar o **raciocínio interno** ("Thoughts" / "Defining the Scope…") no mesmo bloco da resposta.
Resultado: o MCP capturava o *thinking* e devolvia isso como se fosse a resposta final.
**Este repositório corrige isso.** Validado na prática: perguntas sobre MQL5 com ~200 fontes no notebook voltam com resposta real, citações e estrutura.
> Fork honesto do projeto MIT da comunidade. Créditos totais ao [PleasePrompto](https://github.com/PleasePrompto/notebooklm-mcp). Detalhes em [`NOTICE.md`](NOTICE.md).
---
## O que foi corrigido
Patch baseado no [issue #74](https://github.com/PleasePrompto/notebooklm-mcp/issues/74):
| Antes | Depois |
| --- | --- |
| Retornava "Defining the X…" / "Thoughts" | Espera a geração **terminar** |
| Aceitava texto estável cedo demais | Só aceita quando o textarea reativa |
| Misturava thinking no DOM | Esconde `thinking-chain-view` na leitura |
| Prefixo `Thoughts` vazava na resposta | Header removido no `sanitizeAnswer` |
Arquivo principal: `src/notebooklm/chat.ts`
---
## O que você consegue fazer
- Perguntar ao NotebookLM direto do Cursor (ou Claude Code / Codex)
- Respostas **só com base nas fontes** do notebook (Gemini)
- Adicionar fontes por URL ou texto
- Gerar / baixar Audio Overview
- Manter sessão (RAG conversacional) entre perguntas
- Biblioteca local de notebooks (`add_notebook`, `select_notebook`, …)
---
## Requisitos
- Node.js **18+**
- Google Chrome (canal estável)
- Conta Google com acesso ao [NotebookLM](https://notebooklm.google.com)
---
## Instalação no Cursor
### 1) Clone e build
```bash
git clone https://github.com/decsters01/mcp-gemini-notebook-2026.git
cd mcp-gemini-notebook-2026
npm install
npm run build
```
### 2) Configure o MCP
Em `~/.cursor/mcp.json` (Windows: `C:\Users\<voce>\.cursor\mcp.json`):
```json
{
"mcpServers": {
"notebooklm": {
"command": "node",
"args": [
"C:/Users/gabde/Downloads/mcp-gemini-notebook-2026/dist/index.js"
]
}
}
}
```
> Troque o caminho pelo absoluto da sua máquina. No Windows use barras `/` ou escape `\\`.
### 3) Reinicie o Cursor
Settings → Tools & MCP → o servidor `notebooklm` deve ficar verde.
### 4) Login
No chat do Cursor:
```
Log me in to NotebookLM
```
Abre o browser → entra com Google → cookies ficam salvos no perfil local.
### 5) Registre um notebook
1. Abra o notebook no NotebookLM
2. Share → "Anyone with the link" → copie a URL
3. Peça ao agente para registrar com `add_notebook`
Pronto. Agora: *"consulta o notebook sobre X"* — e a resposta vem das suas fontes.
---
## Uso rápido (Claude Code / Codex / npx)
```bash
# Claude Code
claude mcp add notebooklm -- node /caminho/para/mcp-gemini-notebook-2026/dist/index.js
# Ou via bin local após npm link
npm link
notebooklm-mcp
```
---
## Fluxo recomendado
```text
get_health → autenticado?
setup_auth → login Google (1x)
add_notebook → cola a URL pública
select_notebook → define o padrão
ask_question → pesquisa grounded
add_source → url | text
```
Dica de ouro: peça respostas com `source_format: "footnotes"` quando for mostrar citação pra humano.
---
## Prompt de sistema (opcional, ~2000 chars)
No NotebookLM → personalizar instruções → cole algo assim:
```text
Você é a fonte de verdade deste notebook para um agente de IA (Cursor).
Responda SÓ com base nas fontes. Se não estiver nas fontes: "Não encontrado nas fontes."
Formato: (1) resposta direta (2) detalhamento (3) evidências com fontes (4) lacunas.
Tom: técnico, PT-BR, sem enrolação. Cite conflitos entre fontes quando existirem.
```
---
## Limites (conta free Google)
- ~50 queries/dia no NotebookLM
- ~50 fontes por notebook (free)
- Sessão MCP idle ~15 min
Pro tip: use conta secundária se for experimentar muito.
---
## Estrutura
```text
src/
notebooklm/
chat.ts ← patch #74 (thinking vs resposta final)
selectors.ts
citations.ts
sources.ts
audio.ts
session/
tools/
dist/ ← build (o Cursor aponta aqui)
```
---
## Créditos
- Upstream: **[PleasePrompto/notebooklm-mcp](https://github.com/PleasePrompto/notebooklm-mcp)** — MIT
- Patch community 2026: correção do extended-thinking do Gemini
- Inspiração nos comentários do issue #74 (heurística + gate de geração + skip estrutural no DOM)
Se o upstream publicar o fix oficial, este fork pode ser arquivado ou rebaseado — e isso é ótimo.
---
## Licença
[MIT](LICENSE) — use, fork, melhore, compartilhe.
---
<p align="center">
Feito pra quem quer o Cursor falando com o <strong>NotebookLM de verdade</strong> — não com o monólogo interno do modelo.
</p>
This server cannot be deployed
Maintenance
ActivityStale
ResponsivenessNo issues