# NotebookLM — how to use (mcp.ai)

Google NotebookLM via natural language: create notebooks, add sources (PDF, URL, YouTube) and ask grounded, citation-backed questions. NotebookLM has no official API, connect in one click with the mcp.ai extension (captures your Google session cookies; stored encrypted on the platform).

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_notebooklm?ms=1788959820000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `notebooklm_artifact_delete`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/notebooklm`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/notebooklm/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/notebooklm/artifact/delete` — Apaga um artifact.
  - body: { notebook_id: string, artifact_id: string, notebook_ids?: string[], artifact_ids?: string[] }
- `POST https://api.mcp.ai/api/notebooklm/artifact/get` — Detalhes/status de um artifact.
  - body: { notebook_id: string, artifact_id: string, notebook_ids?: string[], artifact_ids?: string[] }
- `POST https://api.mcp.ai/api/notebooklm/artifact/list` — Lista os artifacts do notebook. `type` filtra (audio|video|slide-deck|quiz|flashcard|infographic|data-table|mind-map|report).
  - body: { notebook_id: string, type?: string, notebook_ids?: string[] }
- `POST https://api.mcp.ai/api/notebooklm/artifact/poll` — Aguarda/consulta o status de uma geração de artifact.
  - body: { notebook_id: string, task_id: string, notebook_ids?: string[], task_ids?: string[] }
- `POST https://api.mcp.ai/api/notebooklm/artifact/rename` — Renomeia um artifact.
  - body: { notebook_id: string, artifact_id: string, new_title: string, notebook_ids?: string[], artifact_ids?: string[] }
- `POST https://api.mcp.ai/api/notebooklm/artifact/retry` — Re-tenta a geração de um artifact que falhou.
  - body: { notebook_id: string, artifact_id: string, notebook_ids?: string[], artifact_ids?: string[] }
- `POST https://api.mcp.ai/api/notebooklm/artifact/suggestions` — Sugestões de artifacts para o notebook.
  - body: { notebook_id: string, notebook_ids?: string[] }
- `POST https://api.mcp.ai/api/notebooklm/ask` — Pergunta ao notebook; resposta FUNDAMENTADA nas fontes, com citações. Pode demorar.
  - body: { notebook_id: string, question: string, notebook_ids?: string[] }
- `POST https://api.mcp.ai/api/notebooklm/download` — Baixa o conteúdo de um artifact. Texto (report/mind_map/quiz/flashcards/data_table) retorna inline em `content`; binário (audio/video/slide_deck/infographic) retorna metadados + tamanho (entrega por U
  - body: { notebook_id: string, kind: string, artifact_id?: string, notebook_ids?: string[], artifact_ids?: string[] }
- `POST https://api.mcp.ai/api/notebooklm/generate` — Gera um artifact do notebook (assíncrono — retorna o artifact em geração). `kind`: audio (podcast), video, cinematic_video, slide_deck, report, mind_map, quiz, flashcards, infographic, data_table. `in
  - body: { notebook_id: string, kind: string, instructions?: string, language?: string, source_ids?: string[], options?: object }
- `POST https://api.mcp.ai/api/notebooklm/history` — Histórico de Q&A da conversa do notebook.
  - body: { notebook_id: string, limit?: integer, show_all?: boolean, notebook_ids?: string[] }
- `POST https://api.mcp.ai/api/notebooklm/list` — Lista os notebooks do usuário. Retorna [{ id, title, ... }] — use o `id` nas demais tools.
- `POST https://api.mcp.ai/api/notebooklm/note/create` — Cria uma nota no notebook.
  - body: { notebook_id: string, content: string, title?: string, notebook_ids?: string[] }
- `POST https://api.mcp.ai/api/notebooklm/note/delete` — Apaga uma nota.
  - body: { notebook_id: string, note_id: string, notebook_ids?: string[], note_ids?: string[] }
- `POST https://api.mcp.ai/api/notebooklm/note/get` — Conteúdo de uma nota.
  - body: { notebook_id: string, note_id: string, notebook_ids?: string[], note_ids?: string[] }
- `POST https://api.mcp.ai/api/notebooklm/note/list` — Lista as notas do notebook.
  - body: { notebook_id: string, notebook_ids?: string[] }
- `POST https://api.mcp.ai/api/notebooklm/note/rename` — Renomeia uma nota.
  - body: { notebook_id: string, note_id: string, new_title: string, notebook_ids?: string[], note_ids?: string[] }
- `POST https://api.mcp.ai/api/notebooklm/notebook/create` — Cria um notebook novo (vazio). Retorna o notebook com seu `id`.
  - body: { title: string }
- `POST https://api.mcp.ai/api/notebooklm/notebook/delete` — Apaga um notebook (irreversível).
  - body: { notebook_id: string, notebook_ids?: string[] }
- `POST https://api.mcp.ai/api/notebooklm/notebook/metadata` — Metadados do notebook + lista de fontes.
  - body: { notebook_id: string, notebook_ids?: string[] }
- `POST https://api.mcp.ai/api/notebooklm/notebook/rename` — Renomeia um notebook.
  - body: { notebook_id: string, new_title: string, notebook_ids?: string[] }
- `POST https://api.mcp.ai/api/notebooklm/notebook/summary` — Resumo do notebook com insights gerados por IA. `topics:true` inclui tópicos sugeridos.
  - body: { notebook_id: string, topics?: boolean, notebook_ids?: string[] }
- `POST https://api.mcp.ai/api/notebooklm/share/add` — Compartilha o notebook com um email (editor/viewer).
  - body: { notebook_id: string, email: string, permission?: string, message?: string, notebook_ids?: string[] }
- `POST https://api.mcp.ai/api/notebooklm/share/public` — Liga/desliga o link público do notebook.
  - body: { notebook_id: string, enable?: boolean, notebook_ids?: string[] }
- `POST https://api.mcp.ai/api/notebooklm/share/remove` — Remove o acesso de um colaborador.
  - body: { notebook_id: string, email: string, notebook_ids?: string[] }
- `POST https://api.mcp.ai/api/notebooklm/share/status` — Status de compartilhamento do notebook.
  - body: { notebook_id: string, notebook_ids?: string[] }
- `POST https://api.mcp.ai/api/notebooklm/share/update` — Atualiza a permissão de um colaborador.
  - body: { notebook_id: string, email: string, permission?: string, notebook_ids?: string[] }
- `POST https://api.mcp.ai/api/notebooklm/share/view/level` — Define o nível de acesso do link público: full (notebook todo) ou chat (só chat).
  - body: { notebook_id: string, level: string, notebook_ids?: string[] }
- `POST https://api.mcp.ai/api/notebooklm/source/add` — Adiciona uma fonte ao notebook: URL (página/YouTube) ou texto. `type` é auto-detectado; use `type:"text"` + `title` para colar texto.
  - body: { notebook_id: string, content: string, type?: string, title?: string, notebook_ids?: string[] }
- `POST https://api.mcp.ai/api/notebooklm/source/add/research` — Pesquisa na web (ou Drive) e adiciona fontes a partir dos resultados.
  - body: { notebook_id: string, query: string, from_source?: string, mode?: string, import_all?: boolean, notebook_ids?: string[] }
- `POST https://api.mcp.ai/api/notebooklm/source/delete` — Remove uma fonte do notebook.
  - body: { notebook_id: string, source_id: string, notebook_ids?: string[], source_ids?: string[] }
- `POST https://api.mcp.ai/api/notebooklm/source/fulltext` — Texto completo indexado de uma fonte.
  - body: { notebook_id: string, source_id: string, format?: string, notebook_ids?: string[], source_ids?: string[] }
- `POST https://api.mcp.ai/api/notebooklm/source/get` — Detalhes de uma fonte.
  - body: { notebook_id: string, source_id: string, notebook_ids?: string[], source_ids?: string[] }
- `POST https://api.mcp.ai/api/notebooklm/source/guide` — Resumo + palavras-chave de uma fonte (gerado por IA).
  - body: { notebook_id: string, source_id: string, notebook_ids?: string[], source_ids?: string[] }
- `POST https://api.mcp.ai/api/notebooklm/source/list` — Lista as fontes do notebook. Retorna [{ id, title, ... }].
  - body: { notebook_id: string, notebook_ids?: string[] }
- `POST https://api.mcp.ai/api/notebooklm/source/refresh` — Reprocessa uma fonte de URL/Drive (re-indexa o conteúdo atual).
  - body: { notebook_id: string, source_id: string, notebook_ids?: string[], source_ids?: string[] }
- `POST https://api.mcp.ai/api/notebooklm/source/rename` — Renomeia uma fonte.
  - body: { notebook_id: string, source_id: string, new_title: string, notebook_ids?: string[], source_ids?: string[] }

## Example prompts
- "List my NotebookLM notebooks"
- "Ask my notebook: what's the summary of the sources?"
- "Add this URL as a source to the notebook"

## More
- Page: https://mcp.ai/notebooklm
- Agent spec (llms.txt): https://mcp.ai/notebooklm/llms.txt
- Postman collection: https://mcp.ai/notebooklm/postman.json
