- Home
- MCP servers
- NotebookLM
NotebookLM
- typescript
37
GitHub Stars
typescript
Language
6 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
You can run NotebookLM MCP Server to automate Google NotebookLM through multiple MCP clients, enabling Q&A with citations, content generation, and convenient source management across notebooks and sources. This server provides flexible deployment options (MCP protocol, HTTP REST API, and Docker) so you can integrate NotebookLM workflows into your automation and creative pipelines.
How to use
Choose your preferred MCP client or integration path and connect to the NotebookLM MCP Server. You can issue questions to NotebookLM with citation-backed answers, generate ready-to-use content (audio, video, infographics, reports, presentations, and data tables), and manage notebook sources and discovery. The server supports multi-turn sessions with automatic reauthentication and exposes endpoints for content download in standard formats.
How to install
Prerequisites you need before installation: Node.js and npm, or Docker if you prefer containerized deployment. Ensure you have a working network environment and a Google account for authentication when required.
Option A: MCP Mode (Claude Code, Cursor, Codex) install steps follow these commands.
# Clone and build locally
git clone https://github.com/roomi-fields/notebooklm-mcp.git
cd notebooklm-mcp
npm install && npm run build
# Claude Code MCP integration
claude mcp add notebooklm node /path/to/notebooklm-mcp/dist/index.js
# Cursor integration (example configuration to ~/.cursor/mcp.json)
{
"mcpServers": {
"notebooklm": {
"command": "node",
"args": ["/path/to/notebooklm-mcp/dist/index.js"]
}
}
}
Option B: HTTP REST API install steps to expose a REST interface you can call from automation tools.
# Clone and build
git clone https://github.com/roomi-fields/notebooklm-mcp.git
cd notebooklm-mcp
npm install && npm run build
# One-time Google login for authentication
npm run setup-auth
# Start HTTP API server
npm run start:http
# Example API usage
curl -X POST http://localhost:3000/ask \
-H "Content-Type: application/json" \
-d '{"question": "Explain X", "notebook_id": "my-notebook"}'
Option C: Docker deployment to run on NAS or server with isolated containers.
# Build and run the container
docker build -t notebooklm-mcp .
docker run -d --name notebooklm-mcp -p 3000:3000 -p 6080:6080 -v notebooklm-data:/data notebooklm-mcp
# Authenticate via noVNC when using a graphical setup
# 1. Open http://localhost:6080/vnc.html
# 2. Run: curl -X POST http://localhost:3000/setup-auth -d '{"show_browser":true}'
# 3. Login to Google in the VNC window
"items":null,
## Additional configuration and notes
You can manage multiple notebooks and sources through the Notebook Library features. The server supports adding sources (files such as PDFs and documents, URLs, text, YouTube videos, and Google Drive documents), listing sources, auto-discovery for metadata, and search by keywords in notebook names, descriptions, or topics.
## Troubleshooting and tips
If you encounter authentication or session issues, ensure you have the correct Google account credentials and that your OAuth setup is completed. For HTTP deployments, verify that port 3000 is reachable from your network and that the server has started without errors. For MCP mode, confirm the MCP client wiring (Claude Code, Cursor, Codex) points to the correct Node runtime and the built distribution path.
## Security considerations and usage notes
Use a dedicated Google account for automation tasks to minimize risk to personal data. Review automated actions before applying them in production. If you are deploying on public infrastructure, enforce access controls and rotate credentials regularly.
## FAQ and examples
Q: How do I access the HTTP API from my automation tool? A: Start the HTTP server, then issue requests to the base URL http://localhost:3000 and target endpoints like /ask as shown in examples.
## Notes on available deployment modes
MCP Mode provides direct integration with MCP clients such as Claude Code, Cursor, and Codex by running a local Node distribution of NotebookLM MCP Server. HTTP REST API offers a standard API surface for automation tools like n8n, Zapier, and Make.com. Docker deployments enable isolated, repeatable environments suitable for NAS devices or servers.
## Appendix: Quick reference commands
MCP mode quick start (stdio)
after building
claude mcp add notebooklm node /path/to/notebooklm-mcp/dist/index.js
HTTP API quick start
npm run setup-auth npm run start:http
Docker quick start
docker build -t notebooklm-mcp . docker run -d --name notebooklm-mcp -p 3000:3000 -p 6080:6080 -v notebooklm-data:/data notebooklm-mcp
## Available tools
### ask\_qna
Ask questions to NotebookLM and receive citation-backed answers.
### citation\_extraction
Extract sources with inline, footnotes, json, or expanded citations.
### generate\_audio
Create audio overview content in WAV format.
### generate\_video
Produce explainer or brief videos with multiple visual styles.
### generate\_infographic
Create infographic content in horizontal or vertical layouts.
### generate\_report
Generate summary or detailed reports from notebook sources.
### generate\_presentation
Create overview or detailed presentation content.
### generate\_data\_table
Return data tables in simple or detailed formats.
### download\_audio
Download produced audio as WAV files.
### download\_video
Download produced video as MP4 files.
### download\_infographic
Download produced infographics as PNG images.
### manage\_sources
Add and list sources such as files, URLs, text, YouTube videos, or Drive items.
### manage\_notebooks
Auto-discover, validate, and search notebooks within the library.
### scrape\_notebooks
List notebooks from NotebookLM with IDs and names.
### bulk\_delete
Delete multiple notebooks or sources in one operation.
### auto\_discovery
Automatically generate metadata via NotebookLM queries.