@roomi-fields/notebooklm-mcp 1.5.2 → 1.5.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +22 -22
- package/README.md +219 -201
- package/deployment/INDEX.md +0 -0
- package/deployment/PACKAGE-FILES.txt +180 -180
- package/deployment/QUICK-START.md +0 -0
- package/deployment/docs/01-INSTALL.md +0 -0
- package/deployment/docs/02-CONFIGURATION.md +0 -0
- package/deployment/docs/03-API.md +99 -13
- package/deployment/docs/04-N8N-INTEGRATION.md +0 -0
- package/deployment/docs/05-TROUBLESHOOTING.md +0 -0
- package/deployment/docs/06-NOTEBOOK-LIBRARY.md +0 -0
- package/deployment/docs/07-AUTO-DISCOVERY.md +0 -0
- package/deployment/docs/08-DOCKER.md +303 -0
- package/deployment/docs/08-WSL-USAGE.md +0 -0
- package/deployment/docs/09-MULTI-INTERFACE.md +0 -0
- package/deployment/docs/10-CONTENT-MANAGEMENT.md +0 -0
- package/deployment/docs/11-MULTI-ACCOUNT.md +0 -0
- package/deployment/docs/README.md +9 -2
- package/deployment/scripts/README.md +0 -0
- package/deployment/scripts/install.ps1 +114 -114
- package/deployment/scripts/setup-auth.ps1 +217 -217
- package/deployment/scripts/start-server.ps1 +72 -72
- package/deployment/scripts/stop-server.ps1 +51 -51
- package/deployment/scripts/test-api.ps1 +651 -651
- package/deployment/scripts/test-auth.ps1 +0 -0
- package/deployment/scripts/test-auto-discovery.ps1 +295 -295
- package/deployment/scripts/test-cors.ps1 +398 -398
- package/deployment/scripts/test-errors.ps1 +581 -581
- package/deployment/scripts/test-server.ps1 +140 -140
- package/deployment/scripts/test-sessions.ps1 +426 -426
- package/deployment/scripts/test-validation.ps1 +299 -299
- package/dist/accounts/account-manager.d.ts +15 -0
- package/dist/accounts/account-manager.d.ts.map +1 -1
- package/dist/accounts/account-manager.js +104 -0
- package/dist/accounts/account-manager.js.map +1 -1
- package/dist/accounts/auto-login-manager.d.ts +0 -0
- package/dist/accounts/auto-login-manager.d.ts.map +1 -1
- package/dist/accounts/auto-login-manager.js +45 -28
- package/dist/accounts/auto-login-manager.js.map +1 -1
- package/dist/accounts/crypto.d.ts +0 -0
- package/dist/accounts/crypto.d.ts.map +0 -0
- package/dist/accounts/crypto.js +0 -0
- package/dist/accounts/crypto.js.map +0 -0
- package/dist/accounts/index.d.ts +0 -0
- package/dist/accounts/index.d.ts.map +0 -0
- package/dist/accounts/index.js +0 -0
- package/dist/accounts/index.js.map +0 -0
- package/dist/accounts/types.d.ts +0 -0
- package/dist/accounts/types.d.ts.map +0 -0
- package/dist/accounts/types.js +0 -0
- package/dist/accounts/types.js.map +0 -0
- package/dist/auth/auth-manager.d.ts +1 -1
- package/dist/auth/auth-manager.d.ts.map +1 -1
- package/dist/auth/auth-manager.js +33 -13
- package/dist/auth/auth-manager.js.map +1 -1
- package/dist/auto-discovery/auto-discovery.d.ts +0 -0
- package/dist/auto-discovery/auto-discovery.d.ts.map +0 -0
- package/dist/auto-discovery/auto-discovery.js +0 -0
- package/dist/auto-discovery/auto-discovery.js.map +0 -0
- package/dist/cli/accounts.d.ts +0 -0
- package/dist/cli/accounts.d.ts.map +0 -0
- package/dist/cli/accounts.js +0 -0
- package/dist/cli/accounts.js.map +0 -0
- package/dist/cli/de-auth.d.ts +0 -0
- package/dist/cli/de-auth.d.ts.map +0 -0
- package/dist/cli/de-auth.js +0 -0
- package/dist/cli/de-auth.js.map +0 -0
- package/dist/cli/help.d.ts +0 -0
- package/dist/cli/help.d.ts.map +0 -0
- package/dist/cli/help.js +0 -0
- package/dist/cli/help.js.map +0 -0
- package/dist/cli/setup-auth.d.ts +0 -0
- package/dist/cli/setup-auth.d.ts.map +0 -0
- package/dist/cli/setup-auth.js +18 -10
- package/dist/cli/setup-auth.js.map +1 -1
- package/dist/config.d.ts +1 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +15 -1
- package/dist/config.js.map +1 -1
- package/dist/content/content-generator.d.ts +0 -0
- package/dist/content/content-generator.d.ts.map +0 -0
- package/dist/content/content-generator.js +0 -0
- package/dist/content/content-generator.js.map +0 -0
- package/dist/content/content-manager.d.ts +0 -0
- package/dist/content/content-manager.d.ts.map +0 -0
- package/dist/content/content-manager.js +0 -0
- package/dist/content/content-manager.js.map +0 -0
- package/dist/content/content-templates.d.ts +0 -0
- package/dist/content/content-templates.d.ts.map +0 -0
- package/dist/content/content-templates.js +0 -0
- package/dist/content/content-templates.js.map +0 -0
- package/dist/content/index.d.ts +0 -0
- package/dist/content/index.d.ts.map +0 -0
- package/dist/content/index.js +0 -0
- package/dist/content/index.js.map +0 -0
- package/dist/content/types.d.ts +0 -0
- package/dist/content/types.d.ts.map +0 -0
- package/dist/content/types.js +0 -0
- package/dist/content/types.js.map +0 -0
- package/dist/errors.d.ts +0 -0
- package/dist/errors.d.ts.map +0 -0
- package/dist/errors.js +0 -0
- package/dist/errors.js.map +0 -0
- package/dist/http-wrapper.d.ts +0 -0
- package/dist/http-wrapper.d.ts.map +1 -1
- package/dist/http-wrapper.js +275 -7
- package/dist/http-wrapper.js.map +1 -1
- package/dist/i18n/en.json +0 -0
- package/dist/i18n/fr.json +0 -0
- package/dist/i18n/index.d.ts +0 -0
- package/dist/i18n/index.d.ts.map +0 -0
- package/dist/i18n/index.js +0 -0
- package/dist/i18n/index.js.map +0 -0
- package/dist/index.d.ts +0 -0
- package/dist/index.d.ts.map +0 -0
- package/dist/index.js +0 -0
- package/dist/index.js.map +0 -0
- package/dist/library/notebook-library.d.ts +0 -0
- package/dist/library/notebook-library.d.ts.map +0 -0
- package/dist/library/notebook-library.js +0 -0
- package/dist/library/notebook-library.js.map +0 -0
- package/dist/library/types.d.ts +0 -0
- package/dist/library/types.d.ts.map +0 -0
- package/dist/library/types.js +0 -0
- package/dist/library/types.js.map +0 -0
- package/dist/session/browser-session.d.ts +0 -0
- package/dist/session/browser-session.d.ts.map +1 -1
- package/dist/session/browser-session.js +215 -91
- package/dist/session/browser-session.js.map +1 -1
- package/dist/session/session-manager.d.ts +0 -0
- package/dist/session/session-manager.d.ts.map +0 -0
- package/dist/session/session-manager.js +0 -0
- package/dist/session/session-manager.js.map +0 -0
- package/dist/session/shared-context-manager.d.ts +0 -0
- package/dist/session/shared-context-manager.d.ts.map +1 -1
- package/dist/session/shared-context-manager.js +38 -5
- package/dist/session/shared-context-manager.js.map +1 -1
- package/dist/startup/startup-manager.d.ts +60 -0
- package/dist/startup/startup-manager.d.ts.map +1 -0
- package/dist/startup/startup-manager.js +468 -0
- package/dist/startup/startup-manager.js.map +1 -0
- package/dist/stdio-http-proxy.d.ts +0 -0
- package/dist/stdio-http-proxy.d.ts.map +0 -0
- package/dist/stdio-http-proxy.js +91 -16
- package/dist/stdio-http-proxy.js.map +1 -1
- package/dist/tools/index.d.ts +1 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +55 -34
- package/dist/tools/index.js.map +1 -1
- package/dist/types.d.ts +0 -0
- package/dist/types.d.ts.map +0 -0
- package/dist/types.js +0 -0
- package/dist/types.js.map +0 -0
- package/dist/utils/citation-extractor.d.ts +6 -7
- package/dist/utils/citation-extractor.d.ts.map +1 -1
- package/dist/utils/citation-extractor.js +138 -303
- package/dist/utils/citation-extractor.js.map +1 -1
- package/dist/utils/cleanup-manager.d.ts +0 -0
- package/dist/utils/cleanup-manager.d.ts.map +0 -0
- package/dist/utils/cleanup-manager.js +0 -0
- package/dist/utils/cleanup-manager.js.map +0 -0
- package/dist/utils/logger.d.ts +0 -0
- package/dist/utils/logger.d.ts.map +0 -0
- package/dist/utils/logger.js +0 -0
- package/dist/utils/logger.js.map +0 -0
- package/dist/utils/page-utils.d.ts +0 -0
- package/dist/utils/page-utils.d.ts.map +1 -1
- package/dist/utils/page-utils.js +12 -13
- package/dist/utils/page-utils.js.map +1 -1
- package/dist/utils/stealth-utils.d.ts +0 -0
- package/dist/utils/stealth-utils.d.ts.map +0 -0
- package/dist/utils/stealth-utils.js +0 -0
- package/dist/utils/stealth-utils.js.map +0 -0
- package/docs/ADDING_A_LANGUAGE.md +0 -0
- package/docs/ARCHITECTURE_MIGRATION_STUDY.md +0 -0
- package/docs/CHROME_PROFILE_LIMITATION.md +0 -0
- package/docs/MULTI_ACCOUNT_SYSTEM.md +0 -0
- package/docs/archive/auto-discovery-complet.md +906 -0
- package/package.json +4 -2
- package/scripts/add-totp.ts +110 -0
- package/scripts/archive/add-and-activate-notebook.ps1 +0 -0
- package/scripts/archive/add-new-notebook.ps1 +0 -0
- package/scripts/archive/add-rom1pey.ps1 +0 -0
- package/scripts/archive/add-rpmonster.ps1 +0 -0
- package/scripts/archive/add-source-debug.ps1 +0 -0
- package/scripts/archive/add-source-e2e.ps1 +0 -0
- package/scripts/archive/add-source-visible.ps1 +0 -0
- package/scripts/archive/add-test-notebook.ps1 +0 -0
- package/scripts/archive/add-test-source.ps1 +0 -0
- package/scripts/archive/capture-screen.ps1 +0 -0
- package/scripts/archive/change-language.mjs +0 -0
- package/scripts/archive/change-language.ts +0 -0
- package/scripts/archive/check-account.ps1 +0 -0
- package/scripts/archive/check-notebook-2.ps1 +0 -0
- package/scripts/archive/check-test-notebook.ps1 +0 -0
- package/scripts/archive/create-notebook-auto.ps1 +0 -0
- package/scripts/archive/create-notebook.ps1 +0 -0
- package/scripts/archive/create-rom1pey-notebook.ps1 +0 -0
- package/scripts/archive/create-rom1pey.ps1 +0 -0
- package/scripts/archive/create-test-notebook-fresh.ps1 +0 -0
- package/scripts/archive/create-test-notebook.ps1 +0 -0
- package/scripts/archive/debug-add-source-auto.ps1 +0 -0
- package/scripts/archive/debug-add-source.ps1 +0 -0
- package/scripts/archive/debug-add-text-source.ps1 +0 -0
- package/scripts/archive/debug-home.ps1 +0 -0
- package/scripts/archive/debug-selectors.ps1 +0 -0
- package/scripts/archive/debug-sources-panel.ps1 +0 -0
- package/scripts/archive/debug-ui.ps1 +0 -0
- package/scripts/archive/discover-home.ps1 +0 -0
- package/scripts/archive/kill-automation-chrome.ps1 +0 -0
- package/scripts/archive/list-my-notebooks.ps1 +0 -0
- package/scripts/archive/navigate-home-visible.ps1 +0 -0
- package/scripts/archive/navigate-home.ps1 +0 -0
- package/scripts/archive/run-e2e-english.ps1 +0 -0
- package/scripts/archive/run-e2e-rom1pey-v2.ps1 +0 -0
- package/scripts/archive/run-e2e-rom1pey.ps1 +0 -0
- package/scripts/archive/setup-english-test.ps1 +0 -0
- package/scripts/archive/setup-test-notebook.ps1 +0 -0
- package/scripts/archive/simple-add-source.ps1 +0 -0
- package/scripts/archive/t10.ps1 +0 -0
- package/scripts/archive/t20.ps1 +0 -0
- package/scripts/archive/t30.ps1 +0 -0
- package/scripts/archive/t31.ps1 +0 -0
- package/scripts/archive/t32.ps1 +0 -0
- package/scripts/archive/t39.ps1 +0 -0
- package/scripts/archive/t40.ps1 +0 -0
- package/scripts/archive/t53.ps1 +0 -0
- package/scripts/archive/t54.ps1 +0 -0
- package/scripts/archive/t55.ps1 +0 -0
- package/scripts/archive/t9.ps1 +0 -0
- package/scripts/archive/test-access.ps1 +0 -0
- package/scripts/archive/test-add-delete-source.ps1 +0 -0
- package/scripts/archive/test-add-source-visible.ps1 +0 -0
- package/scripts/archive/test-add-source.ps1 +0 -0
- package/scripts/archive/test-add-text-debug.ps1 +0 -0
- package/scripts/archive/test-add-text-source.ps1 +0 -0
- package/scripts/archive/test-add-url-source.ps1 +0 -0
- package/scripts/archive/test-ask-ascii.ps1 +0 -0
- package/scripts/archive/test-ask-cnv.ps1 +0 -0
- package/scripts/archive/test-ask-headed.ps1 +0 -0
- package/scripts/archive/test-ask-ifs.ps1 +0 -0
- package/scripts/archive/test-ask-now.ps1 +0 -0
- package/scripts/archive/test-ask-real.ps1 +0 -0
- package/scripts/archive/test-ask-visible.ps1 +0 -0
- package/scripts/archive/test-create-notebook.ps1 +0 -0
- package/scripts/archive/test-create-then-add.ps1 +0 -0
- package/scripts/archive/test-delete-source.ps1 +0 -0
- package/scripts/archive/test-e2e-notebook.ps1 +0 -0
- package/scripts/archive/test-english-notebook.ps1 +0 -0
- package/scripts/archive/test-english.ps1 +0 -0
- package/scripts/archive/test-full-custom-instructions.ps1 +0 -0
- package/scripts/archive/test-full-infographic.ps1 +0 -0
- package/scripts/archive/test-full-language.ps1 +0 -0
- package/scripts/archive/test-full-presentation.ps1 +0 -0
- package/scripts/archive/test-full-report.ps1 +0 -0
- package/scripts/archive/test-full-source-selection.ps1 +0 -0
- package/scripts/archive/test-full-video-brief.ps1 +0 -0
- package/scripts/archive/test-full-video-explainer.ps1 +0 -0
- package/scripts/archive/test-full-video-styles.ps1 +0 -0
- package/scripts/archive/test-generate-report.ps1 +0 -0
- package/scripts/archive/test-generate-study-guide.ps1 +0 -0
- package/scripts/archive/test-headed-ask.ps1 +0 -0
- package/scripts/archive/test-headed-now.ps1 +0 -0
- package/scripts/archive/test-headed.ps1 +0 -0
- package/scripts/archive/test-hello.ps1 +0 -0
- package/scripts/archive/test-i18n-studio.ps1 +0 -0
- package/scripts/archive/test-i18n.ps1 +0 -0
- package/scripts/archive/test-manual-headed.ps1 +0 -0
- package/scripts/archive/test-mathieu-quota.ps1 +0 -0
- package/scripts/archive/test-notebook-1.ps1 +0 -0
- package/scripts/archive/test-notebook-2-sources.ps1 +0 -0
- package/scripts/archive/test-notebook1.ps1 +0 -0
- package/scripts/archive/test-personal-notebook.ps1 +0 -0
- package/scripts/archive/test-rate-limit.ps1 +0 -0
- package/scripts/archive/test-real-ask.ps1 +0 -0
- package/scripts/archive/test-real-ask2.ps1 +0 -0
- package/scripts/archive/test-rom1pey.ps1 +0 -0
- package/scripts/archive/test-rotation-complete.ps1 +0 -0
- package/scripts/archive/test-rotation.ps1 +0 -0
- package/scripts/archive/test-show-browser.ps1 +0 -0
- package/scripts/archive/test-update-notebook.ps1 +0 -0
- package/scripts/archive/verify-language-slow.ps1 +0 -0
- package/scripts/archive/verify-language.ps1 +0 -0
- package/scripts/check-server.ps1 +0 -0
- package/scripts/docker-entrypoint.sh +25 -0
- package/scripts/mcp-proxy-hidden.ps1 +31 -0
- package/scripts/mcp-wsl-helper.sh +146 -146
- package/scripts/start-server-hidden.vbs +13 -0
- package/scripts/start-server.ps1 +0 -0
- package/scripts/start-vnc.sh +37 -0
- package/scripts/stop-server.bat +5 -0
- package/scripts/stop-server.ps1 +0 -0
- package/scripts/switch-account-language.sh +0 -0
- package/scripts/test-account.ps1 +0 -0
package/LICENSE
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2025 Please Prompto! (Original NotebookLM MCP Server)
|
|
4
|
-
Copyright (c) 2025 Romain Peyrichou - HTTP REST API Wrapper (Developed with Claude Code - Anthropic Claude Sonnet 4.5)
|
|
5
|
-
|
|
6
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
8
|
-
in the Software without restriction, including without limitation the rights
|
|
9
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
10
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
11
|
-
furnished to do so, subject to the following conditions:
|
|
12
|
-
|
|
13
|
-
The above copyright notice and this permission notice shall be included in all
|
|
14
|
-
copies or substantial portions of the Software.
|
|
15
|
-
|
|
16
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
17
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
18
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
19
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
20
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
21
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
22
|
-
SOFTWARE.
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Please Prompto! (Original NotebookLM MCP Server)
|
|
4
|
+
Copyright (c) 2025 Romain Peyrichou - HTTP REST API Wrapper (Developed with Claude Code - Anthropic Claude Sonnet 4.5)
|
|
5
|
+
|
|
6
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
8
|
+
in the Software without restriction, including without limitation the rights
|
|
9
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
10
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
11
|
+
furnished to do so, subject to the following conditions:
|
|
12
|
+
|
|
13
|
+
The above copyright notice and this permission notice shall be included in all
|
|
14
|
+
copies or substantial portions of the Software.
|
|
15
|
+
|
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
17
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
18
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
19
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
20
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
21
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
22
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,201 +1,219 @@
|
|
|
1
|
-
<div align="center">
|
|
2
|
-
|
|
3
|
-
# NotebookLM MCP Server
|
|
4
|
-
|
|
5
|
-
> **Forked from** [PleasePrompto/notebooklm-mcp](https://github.com/PleasePrompto/notebooklm-mcp)
|
|
6
|
-
|
|
7
|
-
**Full automation of Google NotebookLM: Q&A, audio podcasts, and source management**
|
|
8
|
-
|
|
9
|
-
<!-- Badges -->
|
|
10
|
-
|
|
11
|
-
[](https://github.com/roomi-fields/notebooklm-mcp/actions/workflows/ci.yml) [](https://www.npmjs.com/package/@roomi-fields/notebooklm-mcp) [](https://www.npmjs.com/package/@roomi-fields/notebooklm-mcp) [](https://codecov.io/gh/roomi-fields/notebooklm-mcp) [](https://opensource.org/licenses/MIT) [](https://www.typescriptlang.org/) [](https://nodejs.org/)
|
|
12
|
-
|
|
13
|
-
[](https://modelcontextprotocol.io/) [](https://claude.ai/claude-code) [](./deployment/docs/04-N8N-INTEGRATION.md) [](https://github.com/roomi-fields/notebooklm-mcp)
|
|
14
|
-
|
|
15
|
-
<!-- End Badges -->
|
|
16
|
-
|
|
17
|
-
</div>
|
|
18
|
-
|
|
19
|
-
---
|
|
20
|
-
|
|
21
|
-
## Features
|
|
22
|
-
|
|
23
|
-
### Q&A with Citations
|
|
24
|
-
|
|
25
|
-
- **Ask questions** to NotebookLM and get accurate, citation-backed answers
|
|
26
|
-
- **Source citation extraction** with 5 formats: none, inline, footnotes, json, expanded
|
|
27
|
-
- **Session management** for multi-turn conversations
|
|
28
|
-
|
|
29
|
-
### Content Generation
|
|
30
|
-
|
|
31
|
-
Generate multiple content types from your notebook sources:
|
|
32
|
-
|
|
33
|
-
| Content Type | Formats | Options |
|
|
34
|
-
| ------------------ | ------------------------ | ---------------------------------------------- |
|
|
35
|
-
| **Audio Overview** | Podcast-style discussion | Language (80+), custom instructions |
|
|
36
|
-
| **Video** | Brief, Explainer | 6 visual styles, language, custom instructions |
|
|
37
|
-
| **Infographic** | Horizontal, Vertical | Language, custom instructions |
|
|
38
|
-
| **Report** | Summary, Detailed | Language, custom instructions |
|
|
39
|
-
| **Presentation** | Overview, Detailed | Language, custom instructions |
|
|
40
|
-
| **Data Table** | Simple, Detailed | Language, custom instructions |
|
|
41
|
-
|
|
42
|
-
**Video Visual Styles**: classroom, documentary, animated, corporate, cinematic, minimalist
|
|
43
|
-
|
|
44
|
-
### Content Download
|
|
45
|
-
|
|
46
|
-
- **Download Audio** — WAV audio files
|
|
47
|
-
- **Download Video** — MP4 video files
|
|
48
|
-
- **Download Infographic** — PNG image files
|
|
49
|
-
- Text-based content (report, presentation, data_table) is returned in the API response
|
|
50
|
-
|
|
51
|
-
### Source Management
|
|
52
|
-
|
|
53
|
-
- **Add sources**: Files (PDF, TXT, DOCX), URLs, Text, YouTube videos, Google Drive
|
|
54
|
-
- **List sources**: View all sources in a notebook
|
|
55
|
-
|
|
56
|
-
### Notebook Library
|
|
57
|
-
|
|
58
|
-
- **Multi-notebook management** with validation and smart selection
|
|
59
|
-
- **Auto-discovery**: Automatically generate metadata via NotebookLM queries
|
|
60
|
-
- **Search notebooks** by keyword in name, description, or topics
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
"
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
npm
|
|
104
|
-
npm run
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
-
|
|
141
|
-
|
|
142
|
-
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
##
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
3
|
+
# NotebookLM MCP Server
|
|
4
|
+
|
|
5
|
+
> **Forked from** [PleasePrompto/notebooklm-mcp](https://github.com/PleasePrompto/notebooklm-mcp)
|
|
6
|
+
|
|
7
|
+
**Full automation of Google NotebookLM: Q&A, audio podcasts, and source management**
|
|
8
|
+
|
|
9
|
+
<!-- Badges -->
|
|
10
|
+
|
|
11
|
+
[](https://github.com/roomi-fields/notebooklm-mcp/actions/workflows/ci.yml) [](https://www.npmjs.com/package/@roomi-fields/notebooklm-mcp) [](https://www.npmjs.com/package/@roomi-fields/notebooklm-mcp) [](https://codecov.io/gh/roomi-fields/notebooklm-mcp) [](https://opensource.org/licenses/MIT) [](https://www.typescriptlang.org/) [](https://nodejs.org/)
|
|
12
|
+
|
|
13
|
+
[](https://modelcontextprotocol.io/) [](https://claude.ai/claude-code) [](./deployment/docs/04-N8N-INTEGRATION.md) [](https://github.com/roomi-fields/notebooklm-mcp)
|
|
14
|
+
|
|
15
|
+
<!-- End Badges -->
|
|
16
|
+
|
|
17
|
+
</div>
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Features
|
|
22
|
+
|
|
23
|
+
### Q&A with Citations
|
|
24
|
+
|
|
25
|
+
- **Ask questions** to NotebookLM and get accurate, citation-backed answers
|
|
26
|
+
- **Source citation extraction** with 5 formats: none, inline, footnotes, json, expanded (97% excerpt success rate)
|
|
27
|
+
- **Session management** for multi-turn conversations with auto-reauth on session expiry
|
|
28
|
+
|
|
29
|
+
### Content Generation
|
|
30
|
+
|
|
31
|
+
Generate multiple content types from your notebook sources:
|
|
32
|
+
|
|
33
|
+
| Content Type | Formats | Options |
|
|
34
|
+
| ------------------ | ------------------------ | ---------------------------------------------- |
|
|
35
|
+
| **Audio Overview** | Podcast-style discussion | Language (80+), custom instructions |
|
|
36
|
+
| **Video** | Brief, Explainer | 6 visual styles, language, custom instructions |
|
|
37
|
+
| **Infographic** | Horizontal, Vertical | Language, custom instructions |
|
|
38
|
+
| **Report** | Summary, Detailed | Language, custom instructions |
|
|
39
|
+
| **Presentation** | Overview, Detailed | Language, custom instructions |
|
|
40
|
+
| **Data Table** | Simple, Detailed | Language, custom instructions |
|
|
41
|
+
|
|
42
|
+
**Video Visual Styles**: classroom, documentary, animated, corporate, cinematic, minimalist
|
|
43
|
+
|
|
44
|
+
### Content Download
|
|
45
|
+
|
|
46
|
+
- **Download Audio** — WAV audio files
|
|
47
|
+
- **Download Video** — MP4 video files
|
|
48
|
+
- **Download Infographic** — PNG image files
|
|
49
|
+
- Text-based content (report, presentation, data_table) is returned in the API response
|
|
50
|
+
|
|
51
|
+
### Source Management
|
|
52
|
+
|
|
53
|
+
- **Add sources**: Files (PDF, TXT, DOCX), URLs, Text, YouTube videos, Google Drive
|
|
54
|
+
- **List sources**: View all sources in a notebook
|
|
55
|
+
|
|
56
|
+
### Notebook Library
|
|
57
|
+
|
|
58
|
+
- **Multi-notebook management** with validation and smart selection
|
|
59
|
+
- **Auto-discovery**: Automatically generate metadata via NotebookLM queries
|
|
60
|
+
- **Search notebooks** by keyword in name, description, or topics
|
|
61
|
+
- **Scrape notebooks**: List all notebooks from NotebookLM with IDs and names
|
|
62
|
+
- **Bulk delete**: Delete multiple notebooks at once
|
|
63
|
+
|
|
64
|
+
### Integration Options
|
|
65
|
+
|
|
66
|
+
- **MCP Protocol** — Claude Code, Cursor, Codex, any MCP client
|
|
67
|
+
- **HTTP REST API** — n8n, Zapier, Make.com, custom integrations
|
|
68
|
+
- **Docker** — Isolated deployment with Docker or Docker Compose
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## Quick Start
|
|
73
|
+
|
|
74
|
+
### Option 1: MCP Mode (Claude Code, Cursor, Codex)
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
# Clone and build locally
|
|
78
|
+
git clone https://github.com/roomi-fields/notebooklm-mcp.git
|
|
79
|
+
cd notebooklm-mcp
|
|
80
|
+
npm install && npm run build
|
|
81
|
+
|
|
82
|
+
# Claude Code
|
|
83
|
+
claude mcp add notebooklm node /path/to/notebooklm-mcp/dist/index.js
|
|
84
|
+
|
|
85
|
+
# Cursor - add to ~/.cursor/mcp.json
|
|
86
|
+
{
|
|
87
|
+
"mcpServers": {
|
|
88
|
+
"notebooklm": {
|
|
89
|
+
"command": "node",
|
|
90
|
+
"args": ["/path/to/notebooklm-mcp/dist/index.js"]
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
Then say: _"Log me in to NotebookLM"_ → Chrome opens → log in with Google.
|
|
97
|
+
|
|
98
|
+
### Option 2: HTTP REST API (n8n, Zapier, Make.com)
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
git clone https://github.com/roomi-fields/notebooklm-mcp.git
|
|
102
|
+
cd notebooklm-mcp
|
|
103
|
+
npm install && npm run build
|
|
104
|
+
npm run setup-auth # One-time Google login
|
|
105
|
+
npm run start:http # Start server on port 3000
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
# Query the API
|
|
110
|
+
curl -X POST http://localhost:3000/ask \
|
|
111
|
+
-H "Content-Type: application/json" \
|
|
112
|
+
-d '{"question": "Explain X", "notebook_id": "my-notebook"}'
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
### Option 3: Docker (NAS, Server)
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
# Build and run
|
|
119
|
+
docker build -t notebooklm-mcp .
|
|
120
|
+
docker run -d --name notebooklm-mcp -p 3000:3000 -p 6080:6080 -v notebooklm-data:/data notebooklm-mcp
|
|
121
|
+
|
|
122
|
+
# Authenticate via noVNC
|
|
123
|
+
# 1. Open http://localhost:6080/vnc.html
|
|
124
|
+
# 2. Run: curl -X POST http://localhost:3000/setup-auth -d '{"show_browser":true}'
|
|
125
|
+
# 3. Login to Google in the VNC window
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
See [Docker Guide](./deployment/docs/08-DOCKER.md) for NAS deployment (Synology, QNAP).
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## Documentation
|
|
133
|
+
|
|
134
|
+
| Guide | Description |
|
|
135
|
+
| ------------------------------------------------------------ | ----------------------------------------- |
|
|
136
|
+
| [Installation](./deployment/docs/01-INSTALL.md) | Step-by-step setup for HTTP and MCP modes |
|
|
137
|
+
| [Configuration](./deployment/docs/02-CONFIGURATION.md) | Environment variables and security |
|
|
138
|
+
| [API Reference](./deployment/docs/03-API.md) | Complete HTTP endpoint documentation |
|
|
139
|
+
| [n8n Integration](./deployment/docs/04-N8N-INTEGRATION.md) | Workflow automation setup |
|
|
140
|
+
| [Troubleshooting](./deployment/docs/05-TROUBLESHOOTING.md) | Common issues and solutions |
|
|
141
|
+
| [Notebook Library](./deployment/docs/06-NOTEBOOK-LIBRARY.md) | Multi-notebook management |
|
|
142
|
+
| [Auto-Discovery](./deployment/docs/07-AUTO-DISCOVERY.md) | Autonomous metadata generation |
|
|
143
|
+
| [Docker](./deployment/docs/08-DOCKER.md) | Docker and Docker Compose deployment |
|
|
144
|
+
| [Multi-Interface](./deployment/docs/09-MULTI-INTERFACE.md) | Run Claude Desktop + HTTP simultaneously |
|
|
145
|
+
| [Chrome Limitation](./docs/CHROME_PROFILE_LIMITATION.md) | Profile locking (solved in v1.3.6+) |
|
|
146
|
+
| [Adding a Language](./docs/ADDING_A_LANGUAGE.md) | i18n system for multilingual UI support |
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
|
|
150
|
+
## Roadmap
|
|
151
|
+
|
|
152
|
+
See [ROADMAP.md](./ROADMAP.md) for planned features and version history.
|
|
153
|
+
|
|
154
|
+
**Latest releases:**
|
|
155
|
+
|
|
156
|
+
- **v1.5.3** — Docker deployment with noVNC for visual authentication + NAS support (Synology, QNAP)
|
|
157
|
+
- **v1.5.2** — Notebook scraping from NotebookLM + Bulk delete + Bug fixes
|
|
158
|
+
- **v1.5.1** — Multilingual UI support (FR/EN) with i18n selector system + E2E tests (76 tests)
|
|
159
|
+
- **v1.5.0** — Complete Studio content generation (video, infographic, presentation, data_table) + Notes management + Delete sources
|
|
160
|
+
- **v1.4.0** — Content management (sources, audio, generation) + Multi-account
|
|
161
|
+
|
|
162
|
+
**Not yet implemented:**
|
|
163
|
+
|
|
164
|
+
- Discover sources (Web/Drive search with Fast/Deep modes)
|
|
165
|
+
- Edit notes (create, delete, and convert are implemented)
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
## Disclaimer
|
|
170
|
+
|
|
171
|
+
This tool automates browser interactions with NotebookLM. Use a dedicated Google account for automation. CLI tools like Claude Code can make mistakes — always review changes before deploying.
|
|
172
|
+
|
|
173
|
+
See full [Disclaimer](#disclaimer-details) below.
|
|
174
|
+
|
|
175
|
+
---
|
|
176
|
+
|
|
177
|
+
## Contributing
|
|
178
|
+
|
|
179
|
+
Found a bug? Have an idea? [Open an issue](https://github.com/roomi-fields/notebooklm-mcp/issues) or submit a PR!
|
|
180
|
+
|
|
181
|
+
See [CONTRIBUTING.md](./CONTRIBUTING.md) for guidelines.
|
|
182
|
+
|
|
183
|
+
## License
|
|
184
|
+
|
|
185
|
+
MIT — Use freely in your projects. See [LICENSE](./LICENSE).
|
|
186
|
+
|
|
187
|
+
## Author
|
|
188
|
+
|
|
189
|
+
**Romain Peyrichou** — [@roomi-fields](https://github.com/roomi-fields)
|
|
190
|
+
|
|
191
|
+
---
|
|
192
|
+
|
|
193
|
+
<details>
|
|
194
|
+
<summary><a name="disclaimer-details"></a>Full Disclaimer</summary>
|
|
195
|
+
|
|
196
|
+
**About browser automation:**
|
|
197
|
+
While I've built in humanization features (realistic typing speeds, natural delays, mouse movements), I can't guarantee Google won't detect or flag automated usage. Use a dedicated Google account for automation.
|
|
198
|
+
|
|
199
|
+
**About CLI tools and AI agents:**
|
|
200
|
+
CLI tools like Claude Code, Codex, and similar AI-powered assistants are powerful but can make mistakes:
|
|
201
|
+
|
|
202
|
+
- Always review changes before committing or deploying
|
|
203
|
+
- Test in safe environments first
|
|
204
|
+
- Keep backups of important work
|
|
205
|
+
- AI agents are assistants, not infallible oracles
|
|
206
|
+
|
|
207
|
+
I built this tool for myself and share it hoping it helps others, but I can't take responsibility for any issues that might occur. Use at your own discretion.
|
|
208
|
+
|
|
209
|
+
</details>
|
|
210
|
+
|
|
211
|
+
---
|
|
212
|
+
|
|
213
|
+
<div align="center">
|
|
214
|
+
|
|
215
|
+
Built with frustration about hallucinated APIs, powered by Google's NotebookLM
|
|
216
|
+
|
|
217
|
+
⭐ [Star on GitHub](https://github.com/roomi-fields/notebooklm-mcp) if this saves you debugging time!
|
|
218
|
+
|
|
219
|
+
</div>
|
package/deployment/INDEX.md
CHANGED
|
File without changes
|