[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-72169":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":15,"forks30d":15,"starsTrendScore":19,"compositeScore":20,"rankGlobal":9,"rankLanguage":9,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":22,"hasPages":22,"topics":24,"createdAt":9,"pushedAt":9,"updatedAt":25,"readmeContent":26,"aiSummary":27,"trendingCount":15,"starSnapshotCount":15,"syncStatus":28,"lastSyncTime":29,"discoverSource":30},72169,"notebooklm-mcp-cli","jacob-bd\u002Fnotebooklm-mcp-cli","jacob-bd","Programmatic access to Google NotebookLM — via command-line interface (CLI), Model Context Protocol (MCP) server, and AI agent skills.",null,"Python",4829,761,36,1,0,75,144,519,225,30.65,"MIT License",false,"main",[],"2026-06-12 02:02:59","# NotebookLM CLI & MCP Server\n\n![NotebookLM MCP Header](docs\u002Fmedia\u002Fheader.jpg)\n\n[![PyPI version](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Fnotebooklm-mcp-cli)](https:\u002F\u002Fpypi.org\u002Fproject\u002Fnotebooklm-mcp-cli\u002F)\n[![PyPI downloads](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fdm\u002Fnotebooklm-mcp-cli)](https:\u002F\u002Fpypistats.org\u002Fpackages\u002Fnotebooklm-mcp-cli)\n[![Total downloads](https:\u002F\u002Fstatic.pepy.tech\u002Fbadge\u002Fnotebooklm-mcp-cli)](https:\u002F\u002Fpepy.tech\u002Fprojects\u002Fnotebooklm-mcp-cli)\n[![Python](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fpyversions\u002Fnotebooklm-mcp-cli)](https:\u002F\u002Fpypi.org\u002Fproject\u002Fnotebooklm-mcp-cli\u002F)\n[![License](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fl\u002Fnotebooklm-mcp-cli)](https:\u002F\u002Fgithub.com\u002Fjacob-bd\u002Fnotebooklm-mcp-cli\u002Fblob\u002Fmain\u002FLICENSE)\n\n> 🎉 **January 2026 — Major Update!** This project has been completely refactored to unify **NotebookLM-MCP** and **NotebookLM-CLI** into a single, powerful package. One install gives you both the CLI (`nlm`) and MCP server (`notebooklm-mcp`). See the [CLI Guide](docs\u002FCLI_GUIDE.md) and [MCP Guide](docs\u002FMCP_GUIDE.md) for full documentation.\n\n**Programmatic access to Google NotebookLM** — via command-line interface (CLI) or Model Context Protocol (MCP) server.\n\n> **Note:** Tested with Pro\u002Ffree and Google AI Ultra ($249\u002Fmo) tier accounts. May work with NotebookLM Enterprise accounts but has not been tested.\n\n📺 **Watch the Demos**\n\n### Latest\n\n| **Codex Setup + Cinematic Video & Slides** |\n|:---:|\n| [![Latest](https:\u002F\u002Fimg.youtube.com\u002Fvi\u002FKrgLCrvU1dw\u002Fmqdefault.jpg)](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=KrgLCrvU1dw) |\n\n### MCP Demos\n\n| **General Overview** | **Claude Desktop** | **Perplexity Desktop** | **MCP Super Assistant** |\n|:---:|:---:|:---:|:---:|\n| [![General](https:\u002F\u002Fimg.youtube.com\u002Fvi\u002Fd-PZDQlO4m4\u002Fmqdefault.jpg)](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=d-PZDQlO4m4) | [![Claude](https:\u002F\u002Fimg.youtube.com\u002Fvi\u002FPU8JhgLPxes\u002Fmqdefault.jpg)](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=PU8JhgLPxes) | [![Perplexity](https:\u002F\u002Fimg.youtube.com\u002Fvi\u002FBCKlDNg-qxs\u002Fmqdefault.jpg)](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=BCKlDNg-qxs) | [![MCP SuperAssistant](https:\u002F\u002Fimg.youtube.com\u002Fvi\u002F7aHDbkr-l_E\u002Fmqdefault.jpg)](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=7aHDbkr-l_E) |\n\n### CLI Demos\n\n| **CLI Overview** | **CLI, MCP & Skills** | **Setup, Doctor & mcpb** | **Infographics Support** |\n|:---:|:---:|:---:|:---:|\n| [![CLI Overview](https:\u002F\u002Fimg.youtube.com\u002Fvi\u002FXyXVuALWZkE\u002Fmqdefault.jpg)](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=XyXVuALWZkE) | [![CLI, MCP & Skills](https:\u002F\u002Fimg.youtube.com\u002Fvi\u002FZQBQigFK-E8\u002Fmqdefault.jpg)](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=ZQBQigFK-E8) | [![Setup, Doctor & mcpb](https:\u002F\u002Fimg.youtube.com\u002Fvi\u002F5tOUilBTJ3Q\u002Fmqdefault.jpg)](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=5tOUilBTJ3Q) | [![Infographics](https:\u002F\u002Fimg.youtube.com\u002Fvi\u002FUc6iH5NuQ9A\u002Fmqdefault.jpg)](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=Uc6iH5NuQ9A) |\n\n\n## Two Ways to Use\n\n### 🖥️ Command-Line Interface (CLI)\n\nUse `nlm` directly in your terminal for scripting, automation, or interactive use:\n\n```bash\nnlm notebook list                              # List all notebooks\nnlm notebook create \"Research Project\"         # Create a notebook\nnlm source add \u003Cnotebook> --url \"https:\u002F\u002F...\"  # Add sources\nnlm audio create \u003Cnotebook> --confirm          # Generate podcast\nnlm download audio \u003Cnotebook> \u003Cartifact-id>    # Download audio file\nnlm share public \u003Cnotebook>                    # Enable public link\n```\n\nRun `nlm --ai` for comprehensive AI-assistant documentation.\n\n### 🤖 MCP Server (for AI Agents)\n\nConnect AI assistants (Claude, Gemini, Cursor, etc.) to NotebookLM:\n\n```bash\n# Automatic setup — picks the right config for each tool\nnlm setup add claude-code\nnlm setup add gemini\nnlm setup add github-copilot\nnlm setup add cursor\nnlm setup add cline\nnlm setup add antigravity\n\n# Generate JSON config for any other tool\nnlm setup add json\n```\n\nThen use natural language: *\"Create a notebook about quantum computing and generate a podcast\"*\n\n## Features\n\n| Capability | CLI Command | MCP Tool |\n|------------|-------------|----------|\n| List notebooks | `nlm notebook list` | `notebook_list` |\n| Create notebook | `nlm notebook create` | `notebook_create` |\n| Add Sources (URL, Text, Drive, File) | `nlm source add` | `source_add` |\n| Query notebook (persists to web UI) | `nlm notebook query` | `notebook_query` |\n| Create Studio Content (Audio, Video, etc.) | `nlm studio create` | `studio_create` |\n| Revise slide decks | `nlm slides revise` | `studio_revise` |\n| Download artifacts | `nlm download \u003Ctype>` | `download_artifact` |\n| Web\u002FDrive research | `nlm research start` | `research_start` |\n| Share notebook | `nlm share public\u002Finvite` | `notebook_share_*` |\n| Sync Drive sources | `nlm source sync` | `source_sync_drive` |\n| Batch operations | `nlm batch query\u002Fcreate\u002Fdelete` | `batch` |\n| Cross-notebook query | `nlm cross query` | `cross_notebook_query` |\n| Pipelines (multi-step workflows) | `nlm pipeline run\u002Flist` | `pipeline` |\n| Tag & smart select | `nlm tag add\u002Flist\u002Fselect` | `tag` |\n| Configure AI tools | `nlm setup add\u002Fremove\u002Flist` | — |\n| Install AI Skills | `nlm skill install\u002Fupdate` | — |\n| Diagnose issues | `nlm doctor` | — |\n\n📚 **More Documentation:**\n- **[CLI Guide](docs\u002FCLI_GUIDE.md)** — Complete command reference\n- **[MCP Guide](docs\u002FMCP_GUIDE.md)** — All 35 MCP tools with examples\n- **[Authentication](docs\u002FAUTHENTICATION.md)** — Setup and troubleshooting\n- **[API Reference](docs\u002FAPI_REFERENCE.md)** — Internal API docs for contributors\n\n## Important Disclaimer\n\nThis MCP and CLI use **internal APIs** that:\n- Are undocumented and may change without notice\n- Require cookie extraction from your browser (I have a tool for that!)\n\nUse at your own risk for personal\u002Fexperimental purposes.\n\n## Installation\n\n> 🆕 **Claude Desktop users:** [Download the extension](https:\u002F\u002Fgithub.com\u002Fjacob-bd\u002Fnotebooklm-mcp-cli\u002Freleases\u002Flatest) (`.mcpb` file) → double-click → done! One-click install, no config needed.\n\nInstall from PyPI. This single package includes **both the CLI and MCP server**:\n\n### Using uv (Recommended)\n```bash\nuv tool install notebooklm-mcp-cli\n```\n\n### Using uvx (Run Without Install)\n```bash\nuvx --from notebooklm-mcp-cli nlm --help\nuvx --from notebooklm-mcp-cli notebooklm-mcp\n```\n\n### Using pip\n```bash\npip install notebooklm-mcp-cli\n```\n\n### Using pipx\n```bash\npipx install notebooklm-mcp-cli\n```\n\n**After installation, you get:**\n- `nlm` — Command-line interface\n- `notebooklm-mcp` — MCP server for AI assistants\n\n\u003Cdetails>\n\u003Csummary>Alternative: Install from Source\u003C\u002Fsummary>\n\n```bash\n# Clone the repository\ngit clone https:\u002F\u002Fgithub.com\u002Fjacob-bd\u002Fnotebooklm-mcp-cli.git\ncd notebooklm-mcp\n\n# Install with uv\nuv tool install .\n```\n\u003C\u002Fdetails>\n\n## Upgrading\n\n```bash\n# Using uv\nuv tool upgrade notebooklm-mcp-cli\n\n# Using pip\npip install --upgrade notebooklm-mcp-cli\n\n# Using pipx\npipx upgrade notebooklm-mcp-cli\n```\n\nAfter upgrading, restart your AI tool to reconnect to the updated MCP server:\n\n- **Claude Code:** Restart the application, or use `\u002Fmcp` to reconnect\n- **Cursor:** Restart the application\n- **Gemini CLI:** Restart the CLI session\n\n## Upgrading from Legacy Versions\n\nIf you previously installed the **separate** CLI and MCP packages, you need to migrate to the unified package.\n\n### Step 1: Check What You Have Installed\n\n```bash\nuv tool list | grep notebooklm\n```\n\n**Legacy packages to remove:**\n| Package | What it was |\n|---------|-------------|\n| `notebooklm-cli` | Old CLI-only package |\n| `notebooklm-mcp-server` | Old MCP-only package |\n\n### Step 2: Uninstall Legacy Packages\n\n```bash\n# Remove old CLI package (if installed)\nuv tool uninstall notebooklm-cli\n\n# Remove old MCP package (if installed)\nuv tool uninstall notebooklm-mcp-server\n```\n\n### Step 3: Reinstall the Unified Package\n\nAfter removing legacy packages, reinstall to fix symlinks:\n\n```bash\nuv tool install --force notebooklm-mcp-cli\n```\n\n> **Why `--force`?** When multiple packages provide the same executable, `uv` can leave broken symlinks after uninstalling. The `--force` flag ensures clean symlinks.\n\n### Step 4: Verify Installation\n\n```bash\nuv tool list | grep notebooklm\n```\n\nYou should see only:\n```\nnotebooklm-mcp-cli v0.2.0\n- nlm\n- notebooklm-mcp\n```\n\n### Step 5: Re-authenticate\n\nYour existing cookies should still work, but if you encounter auth issues:\n\n```bash\nnlm login\n```\n\n> **Note:** MCP server configuration (in Claude Code, Cursor, etc.) does not need to change — the executable name `notebooklm-mcp` is the same.\n\n## Uninstalling\n\nTo completely remove the MCP:\n\n```bash\n# Using uv\nuv tool uninstall notebooklm-mcp-cli\n\n# Using pip\npip uninstall notebooklm-mcp-cli\n\n# Using pipx\npipx uninstall notebooklm-mcp-cli\n\n# Remove cached auth tokens and data (optional)\nrm -rf ~\u002F.notebooklm-mcp-cli\n```\n\nAlso remove from your AI tools:\n\n```bash\nnlm setup remove claude-code\nnlm setup remove cursor\n# ... or any configured tool\n```\n\n## Authentication\n\nBefore using the CLI or MCP, you need to authenticate with NotebookLM:\n\n### CLI Authentication (Recommended)\n\n```bash\n# Auto mode: launches your browser, you log in, cookies extracted automatically\nnlm login\n\n# Check if already authenticated\nnlm login --check\n\n# Use a named profile (for multiple Google accounts)\nnlm login --profile work\nnlm login --profile personal\n\n# Manual mode: import cookies from a file\nnlm login --manual --file cookies.txt\n\n# External CDP provider (e.g., OpenClaw-managed browser)\nnlm login --provider openclaw --cdp-url http:\u002F\u002F127.0.0.1:18800\n```\n\n**Profile management:**\n```bash\nnlm login --check                    # Show current auth status\nnlm login switch \u003Cprofile>           # Switch the default profile\nnlm login profile list               # List all profiles with email addresses\nnlm login profile delete \u003Cprofile>   # Delete a profile\nnlm login profile rename \u003Cold> \u003Cnew> # Rename a profile\n```\n\nEach profile gets its own isolated browser session, so you can be logged into multiple Google accounts simultaneously.\n\n### Standalone Auth Tool\n\nIf you only need the MCP server (not the CLI):\n\n```bash\nnlm login              # Auto mode (launches browser)\nnlm login --manual     # Manual file mode\n```\n\n**How it works:** Auto mode launches a dedicated browser profile (supports Chrome, Arc, Brave, Edge, Chromium, and more), you log in to Google, and cookies are extracted automatically. Your login persists for future auth refreshes.\n\n**Prefer a specific browser?** Set it with `nlm config set auth.browser chromium` (or `brave`, `arc`, `edge`, `chrome`, etc.). Falls back to auto-detection if the preferred browser is not found.\n\nFor detailed instructions and troubleshooting, see **[docs\u002FAUTHENTICATION.md](docs\u002FAUTHENTICATION.md)**.\n\n## MCP Configuration\n\n> **⚠️ Context Window Warning:** This MCP provides **35 tools**. Disable it when not using NotebookLM to preserve context. In Claude Code: `@notebooklm-mcp` to toggle.\n\n### Automatic Setup (Recommended)\n\nUse `nlm setup` to automatically configure the MCP server for your AI tools — no manual JSON editing required:\n\n```bash\n# Add to any supported tool\nnlm setup add claude-code\nnlm setup add claude-desktop\nnlm setup add gemini\nnlm setup add github-copilot\nnlm setup add cursor\nnlm setup add windsurf\n\n# Generate JSON config for any other tool\nnlm setup add json\n\n# Check which tools are configured\nnlm setup list\n\n# Diagnose installation & auth issues\nnlm doctor\n```\n\n### Install AI Skills (Optional)\n\nInstall the NotebookLM expert guide for your AI assistant to help it use the tools effectively. Supported for **Cline**, **Antigravity**, **OpenClaw**, **Codex**, **OpenCode**, **Claude Code**, and **Gemini CLI**.\n\n```bash\n# Install skill files\nnlm skill install cline\nnlm skill install openclaw\nnlm skill install codex\nnlm skill install antigravity\n\n# Update skills\nnlm skill update\n```\n\n### Remove from a tool\n\n```bash\nnlm setup remove claude-code\n```\n\n### Using uvx (No Install Required)\n\nIf you don't want to install the package, you can use `uvx` to run on-the-fly:\n\n```bash\n# Run CLI commands directly\nuvx --from notebooklm-mcp-cli nlm setup add cursor\nuvx --from notebooklm-mcp-cli nlm login\n```\n\nFor tools that use JSON config, point them to uvx:\n```json\n{\n  \"mcpServers\": {\n    \"notebooklm-mcp\": {\n      \"command\": \"uvx\",\n      \"args\": [\"--from\", \"notebooklm-mcp-cli\", \"notebooklm-mcp\"]\n    }\n  }\n}\n```\n\n\u003Cdetails>\n\u003Csummary>Manual Setup (if you prefer)\u003C\u002Fsummary>\n\n> **Tip:** Run `nlm setup add json` for an interactive wizard that generates the right JSON snippet for your tool.\n\n**Claude Code \u002F Gemini CLI** support adding MCP servers via their own CLI:\n```bash\nclaude mcp add --scope user notebooklm-mcp notebooklm-mcp\ngemini mcp add --scope user notebooklm-mcp notebooklm-mcp\n```\n\n**Cursor \u002F Windsurf** resolve commands from your `PATH`, so the command name is enough:\n```json\n{\n  \"mcpServers\": {\n    \"notebooklm-mcp\": {\n      \"command\": \"notebooklm-mcp\"\n    }\n  }\n}\n```\n\n| Tool | Config Location |\n|------|-----------------|\n| Cursor | `~\u002F.cursor\u002Fmcp.json` |\n| Windsurf | `~\u002F.codeium\u002Fwindsurf\u002Fmcp_config.json` |\n\n**GitHub Copilot (VS Code workspace)** uses `.vscode\u002Fmcp.json` with a top-level `servers` key:\n```json\n{\n  \"servers\": {\n    \"notebooklm-mcp\": {\n      \"command\": \"notebooklm-mcp\",\n      \"args\": []\n    }\n  }\n}\n```\n\n**Claude Desktop** may not resolve `PATH` — use the full path to the binary:\n```json\n{\n  \"mcpServers\": {\n    \"notebooklm-mcp\": {\n      \"command\": \"\u002Ffull\u002Fpath\u002Fto\u002Fnotebooklm-mcp\"\n    }\n  }\n}\n```\n\nFind your path with: `which notebooklm-mcp`\n\n| Tool | Config Location |\n|------|-----------------|\n| Claude Desktop | `~\u002FLibrary\u002FApplication Support\u002FClaude\u002Fclaude_desktop_config.json` |\n| GitHub Copilot | `.vscode\u002Fmcp.json` |\n\n\u003C\u002Fdetails>\n\n📚 **Full configuration details:** [MCP Guide](docs\u002FMCP_GUIDE.md) — Server options, environment variables, HTTP transport, multi-user setup, and context window management.\n\n## What You Can Do\n\nSimply chat with your AI tool (Claude Code, Cursor, Gemini CLI) using natural language. Here are some examples:\n\n### Research & Discovery\n\n- \"List all my NotebookLM notebooks\"\n- \"Create a new notebook called 'AI Strategy Research'\"\n- \"Start web research on 'enterprise AI ROI metrics' and show me what sources it finds\"\n- \"Do a deep research on 'cloud marketplace trends' and import the top 10 sources\"\n- \"Search my Google Drive for documents about 'product roadmap' and create a notebook\"\n\n### Adding Content\n\n- \"Add this URL to my notebook: https:\u002F\u002Fexample.com\u002Farticle\"\n- \"Add this YouTube video about Kubernetes to the notebook\"\n- \"Add my meeting notes as a text source to this notebook\"\n- \"Import this Google Doc into my research notebook\"\n\n### AI-Powered Analysis\n\n- \"What are the key findings in this notebook?\"\n- \"Summarize the main arguments across all these sources\"\n- \"What does this source say about security best practices?\"\n- \"Get an AI summary of what this notebook is about\"\n- \"Configure the chat to use a learning guide style with longer responses\"\n\n*(All queries sent from CLI or MCP automatically persist in your NotebookLM web UI chat history!)*\n\n### Content Generation\n\n- \"Create an audio podcast overview of this notebook in deep dive format\"\n- \"Generate a video explainer with classic visual style\"\n- \"Make a briefing doc from these sources\"\n- \"Create flashcards for studying, medium difficulty\"\n- \"Generate an infographic in landscape orientation with professional style\"\n- \"Build a mind map from my research sources\"\n- \"Create a slide deck presentation from this notebook\"\n\n### Smart Management\n\n- \"Check which Google Drive sources are out of date and sync them\"\n- \"Show me all the sources in this notebook with their freshness status\"\n- \"Delete this source from the notebook\"\n- \"Check the status of my audio overview generation\"\n\n### Sharing & Collaboration\n\n- \"Show me the sharing settings for this notebook\"\n- \"Make this notebook public so anyone with the link can view it\"\n- \"Disable public access to this notebook\"\n- \"Invite user@example.com as an editor to this notebook\"\n- \"Add a viewer to my research notebook\"\n\n**Pro tip:** After creating studio content (audio, video, reports, etc.), poll the status to get download URLs when generation completes.\n\n## Authentication Lifecycle\n\n| Component | Duration | Refresh |\n|-----------|----------|---------|\n| Cookies | ~2-4 weeks | Auto-refresh via headless browser (if profile saved) |\n| CSRF Token | ~minutes | Auto-refreshed on every request failure |\n| Session ID | Per MCP session | Auto-extracted on MCP start |\n\n**v0.1.9+**: The server now automatically handles token expiration:\n1. Refreshes CSRF tokens immediately when expired\n2. Reloads cookies from disk if updated externally\n3. Runs headless browser auth if profile has saved login\n\nYou can also call `refresh_auth()` to explicitly reload tokens.\n\nIf automatic refresh fails (Google login fully expired), run `nlm login` again.\n\n## Troubleshooting\n\n### `uv tool upgrade` Not Installing Latest Version\n\n**Symptoms:**\n- Running `uv tool upgrade notebooklm-mcp-cli` installs an older version (e.g., 0.1.5 instead of 0.1.9)\n- `uv cache clean` doesn't fix the issue\n\n**Why this happens:** `uv tool upgrade` respects version constraints from your original installation. If you initially installed an older version or with a constraint, `upgrade` stays within those bounds by design.\n\n**Fix — Force reinstall:**\n```bash\nuv tool install --force notebooklm-mcp-cli\n```\n\nThis bypasses any cached constraints and installs the absolute latest version from PyPI.\n\n**Verify:**\n```bash\nuv tool list | grep notebooklm\n# Should show: notebooklm-mcp-cli v0.1.9 (or latest)\n```\n\n\n## Limitations\n\n- **Rate limits**: Free tier has ~50 queries\u002Fday\n- **No official support**: API may change without notice\n- **Cookie expiration**: Need to re-extract cookies every few weeks\n\n## Contributing\n\nSee [CLAUDE.md](CLAUDE.md) for detailed API documentation and how to add new features.\n\n## Vibe Coding Alert\n\nFull transparency: this project was built by a non-developer using AI coding assistants. If you're an experienced Python developer, you might look at this codebase and wince. That's okay.\n\nThe goal here was to scratch an itch - programmatic access to NotebookLM - and learn along the way. The code works, but it's likely missing patterns, optimizations, or elegance that only years of experience can provide.\n\n**This is where you come in.** If you see something that makes you cringe, please consider contributing rather than just closing the tab. This is open source specifically because human expertise is irreplaceable. Whether it's refactoring, better error handling, type hints, or architectural guidance - PRs and issues are welcome.\n\nThink of it as a chance to mentor an AI-assisted developer through code review. We all benefit when experienced developers share their knowledge.\n\n## Credits\n\nSpecial thanks to:\n- **Le Anh Tuan** ([@latuannetnam](https:\u002F\u002Fgithub.com\u002Flatuannetnam)) for contributing the HTTP transport, debug logging system, and performance optimizations.\n- **David Szabo-Pele** ([@davidszp](https:\u002F\u002Fgithub.com\u002Fdavidszp)) for the `source_get_content` tool and Linux auth fixes.\n- **saitrogen** ([@saitrogen](https:\u002F\u002Fgithub.com\u002Fsaitrogen)) for the research polling query fallback fix.\n- **devnull03** ([@devnull03](https:\u002F\u002Fgithub.com\u002Fdevnull03)) for multi-browser CDP authentication support (Arc, Brave, Edge, Chromium, Vivaldi, Opera).\n- **VooDisss** ([@VooDisss](https:\u002F\u002Fgithub.com\u002FVooDisss)) for multi-browser authentication improvements.\n- **codepiano** ([@codepiano](https:\u002F\u002Fgithub.com\u002Fcodepiano)) for the configurable DevTools timeout for the auth CLI.\n- **Tony Hansmann** ([@997unix](https:\u002F\u002Fgithub.com\u002F997unix)) for contributing the `nlm setup` and `nlm doctor` commands and CLI Guide documentation.\n- **Fabiana Furtado** ([@fabianafurtadoff](https:\u002F\u002Fgithub.com\u002Ffabianafurtadoff)) for batch operations, cross-notebook query, pipelines, and smart select\u002Ftagging (PR #90).\n\n\n## Star History\n\n[![Star History Chart](https:\u002F\u002Fapi.star-history.com\u002Fsvg?repos=jacob-bd\u002Fnotebooklm-mcp-cli&type=Date)](https:\u002F\u002Fstar-history.com\u002F#jacob-bd\u002Fnotebooklm-mcp-cli&Date)\n\n## License\n\n[MIT License](LICENSE)\n","NotebookLM CLI & MCP Server 是一个提供程序化访问Google NotebookLM的工具，支持通过命令行界面（CLI）或模型上下文协议（MCP）服务器进行操作。该项目集成了NotebookLM-MCP和NotebookLM-CLI功能，用户只需一次安装即可获得两者。其核心功能包括管理笔记本、创建项目以及与不同AI助手集成等，采用Python语言编写，并遵循MIT许可证开放源代码。适用于需要对Google NotebookLM进行高效管理和自动化处理的场景，如数据科学项目管理、研究工作流优化及开发人员日常任务自动化等领域。",2,"2026-06-11 03:40:40","high_star"]