Provides automation capabilities for Google's NotebookLM service, enabling AI agents to send chat messages, retrieve streaming responses, manage notebooks, upload documents, and interact with NotebookLM's AI features through persistent browser sessions.
🤖 NotebookLM MCP Server
Professional Model Context Protocol (MCP) server for automating interactions with Google's NotebookLM. Features persistent browser sessions, streaming response support, and comprehensive automation capabilities.
✨ Key Features
🚀 Advanced Automation
- Persistent Browser Sessions - Login once, auto-authenticate forever
- Streaming Response Support - Proper handling of LLM streaming responses
- Multiple Chat Methods - Send/receive individually or combined operations
- Anti-Detection Bypassing - Uses
undetected-chromedriver
for Google compatibility - Smart DOM Interaction - Intelligent selectors with multiple fallbacks
- Comprehensive Error Handling - Robust fallbacks and detailed logging
💬 Chat Operations
Method | Description | Streaming | Use Case |
---|---|---|---|
send_message | Send chat message | ❌ | Quick message sending |
get_response | Get complete response | ✅ | Wait for full AI response |
get_quick_response | Get current response | ⚡ | Immediate response check |
chat_with_notebook | Combined send + receive | ✅ | One-shot conversations |
📚 Notebook Management
- Navigate to specific notebooks
- Upload documents to notebooks
- List available notebooks
- Create new notebooks
- Search within notebooks
- Export conversation history
🚀 Quick Start
Installation
One-Time Setup
Start MCP Server
Interactive Chat
📖 Usage Examples
Python API
MCP Integration with AutoGen
🛠️ Advanced Configuration
Environment Variables
📊 MCP Tools Reference
Tool | Arguments | Description |
---|---|---|
healthcheck | None | Server health status |
send_chat_message | message: str | Send message to NotebookLM |
get_chat_response | wait_for_completion: bool , max_wait: int | Get response with streaming support |
get_quick_response | None | Get current response immediately |
chat_with_notebook | message: str , max_wait: int | Combined send + receive operation |
navigate_to_notebook | notebook_id: str | Navigate to specific notebook |
upload_document | file_path: str | Upload document to notebook |
list_notebooks | None | List available notebooks |
create_notebook | title: str | Create new notebook |
🔧 Development
Setup Development Environment
Running Tests
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🆘 Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
⭐ If this project helps you, please give it a star!
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
Enables automated interactions with Google's NotebookLM through browser automation. Supports persistent sessions, document uploads, notebook management, and streaming chat responses for AI-powered document analysis.