Give your AI agents full control of Google Gemini Notebook (formerly NotebookLM): grounded answers, deep research, podcasts, quizzes, and more β 47 tools, zero hallucinations.
English β’ EspaΓ±ol β’ FranΓ§ais β’ PortuguΓͺs β’ Deutsch
Installation β’ Authentication β’ Connect Your AI Client β’ Tool Reference β’ Recipes β’ Development
Google's Gemini Notebook (renamed from NotebookLM in July 2026) is the best grounded-answer engine on the market: it only answers from the sources you give it, with citations. This MCP server hands that power to your AI agents β Claude, Gemini, Antigravity, Cursor and any other MCP client β so they can build notebooks, run Deep Research, generate podcasts, videos, quizzes, flashcards, reports and mind maps, take notes, and share the results with your team. All programmatically, with zero hallucinations.
Note
NotebookLM is now Gemini Notebook. Google renamed the product on July 16, 2026 (see notebook.google). Same product, same notebooks, same API surface β this server keeps working unchanged, and the npm package keeps its notebooklm-mcp-server name.
npm install -g notebooklm-mcp-serverNote
The server checks for updates on startup and keeps itself current automatically.
npx -y notebooklm-mcp-server auth # authenticate
npx -y notebooklm-mcp-server start # run the server- Run the interactive login (opens a Chromium window):
npx notebooklm-mcp-server auth-
Sign in with your Google account. When the notebook list appears, the session cookies (including Google's rotating
__Secure-1PSIDTStoken) are captured and saved to~/.notebooklm-mcp/auth.json. -
Done β the server loads the session automatically and refreshes the rotating token by itself.
Tip
If the session ever expires, run npx notebooklm-mcp-server auth again in a terminal, then call the refresh_auth MCP tool (or just restart your client) to pick up the new cookies without reconfiguring anything.
claude mcp add notebooklm -- npx -y notebooklm-mcp-server startAdd to claude_desktop_config.json (Settings β Developer β Edit Config):
{
"mcpServers": {
"notebooklm": {
"command": "npx",
"args": ["-y", "notebooklm-mcp-server", "start"]
}
}
}Antigravity's CLI manages MCP servers through a JSON config file:
- Global:
~/.gemini/config/mcp_config.json - Per-workspace:
.agents/mcp_config.jsonin your project
{
"mcpServers": {
"notebooklm": {
"command": "npx",
"args": ["-y", "notebooklm-mcp-server", "start"]
}
}
}Then type /mcp in the Antigravity prompt panel to open the MCP Manager: check the connection status ring, reload the config, or inspect logs β no restart needed. Your agents can now cite real sources in every mission.
The IDE reads the same config files as the CLI (~/.gemini/config/mcp_config.json or .agents/mcp_config.json). Alternatively, open the MCP Store panel, choose Add custom server, and paste the same JSON snippet. Reload the server list and the NotebookLM tools appear in the agent's toolbox.
gemini mcp add notebooklm --scope user -- npx -y notebooklm-mcp-server startAdd to .cursor/mcp.json in your project (or ~/.cursor/mcp.json globally):
{
"mcpServers": {
"notebooklm": {
"command": "npx",
"args": ["-y", "notebooklm-mcp-server", "start"]
}
}
}Add the same mcpServers block to ~/.codeium/windsurf/mcp_config.json.
In Cline: MCP Servers β Configure and add the same mcpServers block shown above.
47 tools, grouped by what they do. Full parameter signatures live in docs/TOOLS.md.
| Tool | Description |
|---|---|
notebook_list |
List all notebooks with sources and metadata |
notebook_create |
Create a new notebook |
notebook_get |
Get one notebook's details and source IDs |
notebook_rename |
Rename a notebook |
notebook_delete |
Delete a notebook (requires confirm) |
notebook_summarize |
AI notebook guide: summary + suggested questions |
prompts_suggest |
AI-suggested prompts to ask about the sources |
| Tool | Description |
|---|---|
notebook_share |
Toggle public link and/or manage collaborators by email |
notebook_share_status |
Read the current sharing configuration |
| Tool | Description |
|---|---|
notebook_add_url |
Add a website or YouTube video as a source |
notebook_add_text |
Add pasted text as a source |
notebook_add_drive |
Add a Google Drive document as a source |
notebook_add_local_file |
Upload a local PDF / TXT / Markdown file |
source_get_guide |
AI guide for one source: summary + key topics |
source_rename |
Rename a source |
source_check_freshness |
Check if a URL/Drive source has newer content |
source_sync |
Re-sync a Drive source to the latest content |
source_delete |
Delete a source (requires confirm) |
| Tool | Description |
|---|---|
notebook_query |
Ask questions about the sources, with citations |
chat_history_get |
Read the latest conversation's Q&A turns |
chat_history_delete |
Clear the chat history (requires confirm) |
chat_configure |
Set the chat persona (default / learning guide / custom) and response length |
| Tool | Description |
|---|---|
research_start |
Launch web or Drive research (fast β30s / deep β5min) |
research_poll |
Check research progress and discovered sources |
research_import |
Import the discovered sources into the notebook |
| Tool | Description |
|---|---|
audio_overview_create |
Podcast-style Audio Overview (formats: deep dive, brief, critique, debate) |
video_overview_create |
Video Overview (9 visual styles, from whiteboard to anime) |
report_create |
Written report from the sources |
flashcards_create |
Flashcards (quantity and difficulty options) |
quiz_create |
Interactive quiz (quantity and difficulty options) |
infographic_create |
Infographic (landscape / portrait / square) |
slide_deck_create |
Slide deck |
data_table_create |
Structured data table |
studio_poll |
Check generation status of all artifacts |
studio_delete |
Delete a studio artifact |
| Tool | Description |
|---|---|
artifact_content_get |
Fetch generated content (quiz/flashcards HTML, mind map JSON) |
artifact_rename |
Rename an artifact |
artifact_export |
Export an artifact to Google Drive (Docs or Sheets) |
| Tool | Description |
|---|---|
note_create |
Create a note |
note_list |
List all notes |
note_update |
Update a note's content/title |
note_delete |
Delete a note (requires confirm) |
mind_map_generate |
Generate a mind map JSON from sources |
mind_map_save |
Save a mind map to the notebook |
mind_map_list |
List saved mind maps |
mind_map_delete |
Delete a mind map |
| Tool | Description |
|---|---|
refresh_auth |
Reload session cookies from disk after re-running auth |
Real prompts you can paste into any connected agent β it picks the right tools by itself.
"Research the latest on solid-state batteries with deep research, build a notebook called 'Solid State 2026' with the best sources, and generate a brief audio overview in English. Give me the link when it's done."
The agent chains notebook_create β research_start(mode: deep) β research_poll β research_import β audio_overview_create(format: brief) β studio_poll, and returns the notebook URL with the finished podcast.
"Take the three PDFs in ./lectures, put them in a new notebook, and make me a hard quiz plus flashcards on the key concepts. Show me the quiz questions here."
The agent runs notebook_add_local_file per PDF, then quiz_create(difficulty: hard) + flashcards_create, polls with studio_poll, and pulls the questions out with artifact_content_get.
"Build a briefing notebook from these five links about our competitor, write a report, export it to Google Docs, and share the notebook with ana@example.com as a viewer."
The agent chains notebook_add_url Γ5 β report_create β studio_poll β artifact_export(format: docs) β notebook_share(user_email, user_role: viewer) β and your teammate finds the notebook and the Doc waiting.
| Symptom | Fix |
|---|---|
auth warns the API rejected your cookies right after login |
Your Google account enforces Device Bound Session Credentials (DBSC) β default-on for Workspace and most personal accounts. DBSC ties the session to a device-held key, so cookies exported from the browser are refused by the API. Cookie-extraction clients cannot bypass this; use a Google account without DBSC enforcement. |
Authentication expired right after logging in |
Update to β₯ 3.0.8 β older versions missed Google's rotating __Secure-1PSIDTS token. The server now captures and auto-refreshes it. |
Authentication failed after weeks of use |
Google sessions eventually expire. Run npx notebooklm-mcp-server auth, then call the refresh_auth tool. |
Studio generation stuck on pending |
Long sources take a while β keep polling studio_poll; audio/video can take several minutes. |
| RPC errors after a Google update | Google occasionally rotates internal build labels. Update the package; if it persists, open an issue. |
git clone https://github.com/moodRobotics/notebooklm-mcp-server.git
cd notebooklm-mcp-server
npm install
npm run build
npm run typecheckArchitecture notes live in docs/ARCHITECTURE.md, the roadmap in docs/ROADMAP.md.
This README is available in English, EspaΓ±ol, FranΓ§ais, PortuguΓͺs and Deutsch. If you edit one, please keep the others in sync (npm run docs:check).
MIT β Developed with β€οΈ by moodRobotics.
Important
This is an unofficial community project. It is not affiliated with or endorsed by Google. It relies on reverse-engineered internal APIs that may change without notice; use it with a Google account you are comfortable automating.