notebooklm-mcp-server
Universal installer and configuration guide for NotebookLM MCP server.
Documentation
π‘ What is this?
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.
π Installation
Option 1 β Global install (recommended)
npm install -g notebooklm-mcp-server> [!NOTE]
> The server checks for updates on startup and keeps itself current automatically.
Option 2 β Zero-install with NPX
npx -y notebooklm-mcp-server auth # authenticate
npx -y notebooklm-mcp-server start # run the serverπ Authentication
1. Run the interactive login (opens a Chromium window):
npx notebooklm-mcp-server auth2. Sign in with your Google account. When the notebook list appears, the session cookies (including Google's rotating `__Secure-1PSIDTS` token) are captured and saved to `~/.notebooklm-mcp/auth.json`.
3. 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.
β‘ Connect Your AI Client
π€ Claude Code
claude mcp add notebooklm -- npx -y notebooklm-mcp-server start㪠Claude Desktop
Add to `claude_desktop_config.json` (Settings β Developer β Edit Config):
{
"mcpServers": {
"notebooklm": {
"command": "npx",
"args": ["-y", "notebooklm-mcp-server", "start"]
}
}
}π Antigravity CLI
Antigravity's CLI manages MCP servers through a JSON config file:
- Global: `~/.gemini/config/mcp_config.json`
- Per-workspace: `.agents/mcp_config.json` in 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.
π₯οΈ Antigravity IDE
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 CLI
gemini mcp add notebooklm --scope user -- npx -y notebooklm-mcp-server startβ¨οΈ Cursor
Add to `.cursor/mcp.json` in your project (or `~/.cursor/mcp.json` globally):
{
"mcpServers": {
"notebooklm": {
"command": "npx",
"args": ["-y", "notebooklm-mcp-server", "start"]
}
}
}π Windsurf
Add the same `mcpServers` block to `~/.codeium/windsurf/mcp_config.json`.
π§© VS Code (Cline)
In Cline: MCP Servers β Configure and add the same `mcpServers` block shown above.
π Tool Reference
47 tools, grouped by what they do. Full parameter signatures live in docs/TOOLS.md.
π Notebooks
| 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 |
π Sharing
| Tool | Description |
|---|---|
| `notebook_share` | Toggle public link and/or manage collaborators by email |
| `notebook_share_status` | Read the current sharing configuration |
ποΈ Sources
| 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`) |
π¬ Chat
| 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 |
π Research
| 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 |
π¨ Studio
| 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 |
π¦ Artifacts
| 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) |
π Notes & Mind Maps
| 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 |
βοΈ System
| Tool | Description |
|---|---|
| `refresh_auth` | Reload session cookies from disk after re-running `auth` |
π§ͺ Recipes
Real prompts you can paste into any connected agent β it picks the right tools by itself.
ποΈ From research question to podcast
> *"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.
π Study kit from your PDFs
> *"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`.
π₯ Team briefing, shared
> *"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.
π οΈ Troubleshooting
| 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. |
π§βπ» Development
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.
π Localization
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`).
π License
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.
Frequently asked questions
What is notebooklm-mcp-server?
notebooklm-mcp-server is Universal installer and configuration guide for NotebookLM MCP server.
How do I install notebooklm-mcp-server?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is notebooklm-mcp-server open source?
Yes β it is hosted on GitHub at https://github.com/moodRobotics/notebooklm-mcp-server and has 28 stars.
Related MCP tools
Model Context Protocol Servers
The Open-Source Multimodal AI Agent Stack: Connecting Cutting-Edge AI Models and Agent Infra
A MCP for Claude Desktop / Claude Code / Windsurf / Cursor to build n8n workflows for you
MCP server to provide Figma layout information to AI coding agents like Cursor
The world's best AI personal assistant for email. Open source app to help you reach inbox zero fast.
Instant is the best backend for AI-coded apps. You get auth, permissions, storage, presence, and streams β everything you need to ship apps your users will love.
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP