@roomi-fields/notebooklm-mcp 1.5.7 → 1.5.9

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.
Files changed (295) hide show
  1. package/LICENSE +22 -22
  2. package/README.md +219 -219
  3. package/deployment/INDEX.md +0 -0
  4. package/deployment/PACKAGE-FILES.txt +180 -180
  5. package/deployment/QUICK-START.md +0 -0
  6. package/deployment/docs/01-INSTALL.md +21 -1
  7. package/deployment/docs/02-CONFIGURATION.md +0 -0
  8. package/deployment/docs/03-API.md +16 -10
  9. package/deployment/docs/04-N8N-INTEGRATION.md +0 -0
  10. package/deployment/docs/05-TROUBLESHOOTING.md +19 -1
  11. package/deployment/docs/06-NOTEBOOK-LIBRARY.md +9 -9
  12. package/deployment/docs/07-AUTO-DISCOVERY.md +6 -15
  13. package/deployment/docs/08-DOCKER.md +0 -0
  14. package/deployment/docs/08-WSL-USAGE.md +7 -7
  15. package/deployment/docs/09-MULTI-INTERFACE.md +6 -6
  16. package/deployment/docs/10-CONTENT-MANAGEMENT.md +15 -19
  17. package/deployment/docs/11-MULTI-ACCOUNT.md +1 -1
  18. package/deployment/docs/README.md +4 -50
  19. package/deployment/scripts/README.md +0 -0
  20. package/deployment/scripts/install.ps1 +114 -114
  21. package/deployment/scripts/setup-auth.ps1 +217 -217
  22. package/deployment/scripts/start-server.ps1 +72 -72
  23. package/deployment/scripts/stop-server.ps1 +51 -51
  24. package/deployment/scripts/test-api.ps1 +651 -651
  25. package/deployment/scripts/test-auth.ps1 +0 -0
  26. package/deployment/scripts/test-auto-discovery.ps1 +295 -295
  27. package/deployment/scripts/test-cors.ps1 +398 -398
  28. package/deployment/scripts/test-errors.ps1 +581 -581
  29. package/deployment/scripts/test-server.ps1 +140 -140
  30. package/deployment/scripts/test-sessions.ps1 +426 -426
  31. package/deployment/scripts/test-validation.ps1 +299 -299
  32. package/dist/accounts/account-manager.d.ts +0 -0
  33. package/dist/accounts/account-manager.d.ts.map +0 -0
  34. package/dist/accounts/account-manager.js +0 -0
  35. package/dist/accounts/account-manager.js.map +0 -0
  36. package/dist/accounts/auto-login-manager.d.ts +0 -0
  37. package/dist/accounts/auto-login-manager.d.ts.map +0 -0
  38. package/dist/accounts/auto-login-manager.js +0 -0
  39. package/dist/accounts/auto-login-manager.js.map +0 -0
  40. package/dist/accounts/crypto.d.ts +0 -0
  41. package/dist/accounts/crypto.d.ts.map +0 -0
  42. package/dist/accounts/crypto.js +0 -0
  43. package/dist/accounts/crypto.js.map +0 -0
  44. package/dist/accounts/index.d.ts +0 -0
  45. package/dist/accounts/index.d.ts.map +0 -0
  46. package/dist/accounts/index.js +0 -0
  47. package/dist/accounts/index.js.map +0 -0
  48. package/dist/accounts/types.d.ts +0 -0
  49. package/dist/accounts/types.d.ts.map +0 -0
  50. package/dist/accounts/types.js +0 -0
  51. package/dist/accounts/types.js.map +0 -0
  52. package/dist/auth/auth-manager.d.ts +0 -0
  53. package/dist/auth/auth-manager.d.ts.map +0 -0
  54. package/dist/auth/auth-manager.js +0 -0
  55. package/dist/auth/auth-manager.js.map +0 -0
  56. package/dist/auto-discovery/auto-discovery.d.ts +0 -0
  57. package/dist/auto-discovery/auto-discovery.d.ts.map +0 -0
  58. package/dist/auto-discovery/auto-discovery.js +0 -0
  59. package/dist/auto-discovery/auto-discovery.js.map +0 -0
  60. package/dist/cli/accounts.d.ts +0 -0
  61. package/dist/cli/accounts.d.ts.map +0 -0
  62. package/dist/cli/accounts.js +0 -0
  63. package/dist/cli/accounts.js.map +0 -0
  64. package/dist/cli/de-auth.d.ts +0 -0
  65. package/dist/cli/de-auth.d.ts.map +0 -0
  66. package/dist/cli/de-auth.js +0 -0
  67. package/dist/cli/de-auth.js.map +0 -0
  68. package/dist/cli/help.d.ts +0 -0
  69. package/dist/cli/help.d.ts.map +0 -0
  70. package/dist/cli/help.js +5 -0
  71. package/dist/cli/help.js.map +1 -1
  72. package/dist/cli/setup-auth.d.ts +0 -0
  73. package/dist/cli/setup-auth.d.ts.map +0 -0
  74. package/dist/cli/setup-auth.js +0 -0
  75. package/dist/cli/setup-auth.js.map +0 -0
  76. package/dist/config.d.ts +0 -0
  77. package/dist/config.d.ts.map +0 -0
  78. package/dist/config.js +0 -0
  79. package/dist/config.js.map +0 -0
  80. package/dist/content/content-generator.d.ts +0 -0
  81. package/dist/content/content-generator.d.ts.map +0 -0
  82. package/dist/content/content-generator.js +0 -0
  83. package/dist/content/content-generator.js.map +0 -0
  84. package/dist/content/content-manager.d.ts +8 -0
  85. package/dist/content/content-manager.d.ts.map +1 -1
  86. package/dist/content/content-manager.js +411 -67
  87. package/dist/content/content-manager.js.map +1 -1
  88. package/dist/content/content-templates.d.ts +0 -0
  89. package/dist/content/content-templates.d.ts.map +0 -0
  90. package/dist/content/content-templates.js +0 -0
  91. package/dist/content/content-templates.js.map +0 -0
  92. package/dist/content/index.d.ts +0 -0
  93. package/dist/content/index.d.ts.map +0 -0
  94. package/dist/content/index.js +0 -0
  95. package/dist/content/index.js.map +0 -0
  96. package/dist/content/types.d.ts +0 -0
  97. package/dist/content/types.d.ts.map +0 -0
  98. package/dist/content/types.js +0 -0
  99. package/dist/content/types.js.map +0 -0
  100. package/dist/errors.d.ts +0 -0
  101. package/dist/errors.d.ts.map +0 -0
  102. package/dist/errors.js +0 -0
  103. package/dist/errors.js.map +0 -0
  104. package/dist/http-wrapper.d.ts +0 -0
  105. package/dist/http-wrapper.d.ts.map +0 -0
  106. package/dist/http-wrapper.js +0 -0
  107. package/dist/http-wrapper.js.map +0 -0
  108. package/dist/i18n/en.json +0 -0
  109. package/dist/i18n/fr.json +0 -0
  110. package/dist/i18n/index.d.ts +0 -0
  111. package/dist/i18n/index.d.ts.map +0 -0
  112. package/dist/i18n/index.js +0 -0
  113. package/dist/i18n/index.js.map +0 -0
  114. package/dist/index.d.ts +0 -0
  115. package/dist/index.d.ts.map +0 -0
  116. package/dist/index.js +8 -3
  117. package/dist/index.js.map +1 -1
  118. package/dist/library/notebook-library.d.ts +0 -0
  119. package/dist/library/notebook-library.d.ts.map +0 -0
  120. package/dist/library/notebook-library.js +0 -0
  121. package/dist/library/notebook-library.js.map +0 -0
  122. package/dist/library/types.d.ts +0 -0
  123. package/dist/library/types.d.ts.map +0 -0
  124. package/dist/library/types.js +0 -0
  125. package/dist/library/types.js.map +0 -0
  126. package/dist/session/browser-session.d.ts +12 -0
  127. package/dist/session/browser-session.d.ts.map +1 -1
  128. package/dist/session/browser-session.js +156 -32
  129. package/dist/session/browser-session.js.map +1 -1
  130. package/dist/session/session-manager.d.ts +0 -0
  131. package/dist/session/session-manager.d.ts.map +0 -0
  132. package/dist/session/session-manager.js +0 -0
  133. package/dist/session/session-manager.js.map +0 -0
  134. package/dist/session/shared-context-manager.d.ts +0 -0
  135. package/dist/session/shared-context-manager.d.ts.map +0 -0
  136. package/dist/session/shared-context-manager.js +0 -0
  137. package/dist/session/shared-context-manager.js.map +0 -0
  138. package/dist/startup/startup-manager.d.ts +0 -0
  139. package/dist/startup/startup-manager.d.ts.map +0 -0
  140. package/dist/startup/startup-manager.js +0 -0
  141. package/dist/startup/startup-manager.js.map +0 -0
  142. package/dist/stdio-http-proxy.d.ts +0 -0
  143. package/dist/stdio-http-proxy.d.ts.map +0 -0
  144. package/dist/stdio-http-proxy.js +7 -2
  145. package/dist/stdio-http-proxy.js.map +1 -1
  146. package/dist/tools/index.d.ts +0 -0
  147. package/dist/tools/index.d.ts.map +0 -0
  148. package/dist/tools/index.js +0 -0
  149. package/dist/tools/index.js.map +0 -0
  150. package/dist/types.d.ts +0 -0
  151. package/dist/types.d.ts.map +0 -0
  152. package/dist/types.js +0 -0
  153. package/dist/types.js.map +0 -0
  154. package/dist/utils/citation-extractor.d.ts +0 -0
  155. package/dist/utils/citation-extractor.d.ts.map +0 -0
  156. package/dist/utils/citation-extractor.js +67 -67
  157. package/dist/utils/citation-extractor.js.map +0 -0
  158. package/dist/utils/cleanup-manager.d.ts +0 -0
  159. package/dist/utils/cleanup-manager.d.ts.map +0 -0
  160. package/dist/utils/cleanup-manager.js +0 -0
  161. package/dist/utils/cleanup-manager.js.map +0 -0
  162. package/dist/utils/logger.d.ts +0 -0
  163. package/dist/utils/logger.d.ts.map +0 -0
  164. package/dist/utils/logger.js +0 -0
  165. package/dist/utils/logger.js.map +0 -0
  166. package/dist/utils/page-utils.d.ts +5 -0
  167. package/dist/utils/page-utils.d.ts.map +1 -1
  168. package/dist/utils/page-utils.js +73 -15
  169. package/dist/utils/page-utils.js.map +1 -1
  170. package/dist/utils/stealth-utils.d.ts +0 -0
  171. package/dist/utils/stealth-utils.d.ts.map +0 -0
  172. package/dist/utils/stealth-utils.js +0 -0
  173. package/dist/utils/stealth-utils.js.map +0 -0
  174. package/docs/ADDING_A_LANGUAGE.md +0 -0
  175. package/docs/ARCHITECTURE_MIGRATION_STUDY.md +0 -0
  176. package/docs/CHROME_PROFILE_LIMITATION.md +0 -0
  177. package/docs/MULTI_ACCOUNT_SYSTEM.md +0 -0
  178. package/package.json +5 -2
  179. package/scripts/archive/add-and-activate-notebook.ps1 +4 -4
  180. package/scripts/archive/add-new-notebook.ps1 +4 -4
  181. package/scripts/archive/add-rom1pey.ps1 +2 -2
  182. package/scripts/archive/add-rpmonster.ps1 +2 -2
  183. package/scripts/archive/add-source-debug.ps1 +1 -1
  184. package/scripts/archive/add-source-e2e.ps1 +1 -1
  185. package/scripts/archive/add-source-visible.ps1 +1 -1
  186. package/scripts/archive/add-test-notebook.ps1 +1 -1
  187. package/scripts/archive/add-test-source.ps1 +1 -1
  188. package/scripts/archive/capture-screen.ps1 +1 -1
  189. package/scripts/archive/change-language.mjs +4 -3
  190. package/scripts/archive/change-language.ts +5 -3
  191. package/scripts/archive/check-account.ps1 +0 -0
  192. package/scripts/archive/check-notebook-2.ps1 +0 -0
  193. package/scripts/archive/check-test-notebook.ps1 +0 -0
  194. package/scripts/archive/create-notebook-auto.ps1 +0 -0
  195. package/scripts/archive/create-notebook.ps1 +2 -2
  196. package/scripts/archive/create-rom1pey-notebook.ps1 +2 -2
  197. package/scripts/archive/create-rom1pey.ps1 +2 -2
  198. package/scripts/archive/create-test-notebook-fresh.ps1 +0 -0
  199. package/scripts/archive/create-test-notebook.ps1 +0 -0
  200. package/scripts/archive/debug-add-source-auto.ps1 +0 -0
  201. package/scripts/archive/debug-add-source.ps1 +0 -0
  202. package/scripts/archive/debug-add-text-source.ps1 +4 -4
  203. package/scripts/archive/debug-home.ps1 +0 -0
  204. package/scripts/archive/debug-selectors.ps1 +1 -1
  205. package/scripts/archive/debug-sources-panel.ps1 +0 -0
  206. package/scripts/archive/debug-ui.ps1 +0 -0
  207. package/scripts/archive/discover-home.ps1 +2 -2
  208. package/scripts/archive/kill-automation-chrome.ps1 +0 -0
  209. package/scripts/archive/list-my-notebooks.ps1 +0 -0
  210. package/scripts/archive/navigate-home-visible.ps1 +1 -1
  211. package/scripts/archive/navigate-home.ps1 +1 -1
  212. package/scripts/archive/run-e2e-english.ps1 +3 -3
  213. package/scripts/archive/run-e2e-rom1pey-v2.ps1 +4 -4
  214. package/scripts/archive/run-e2e-rom1pey.ps1 +4 -4
  215. package/scripts/archive/setup-english-test.ps1 +6 -6
  216. package/scripts/archive/setup-test-notebook.ps1 +1 -1
  217. package/scripts/archive/simple-add-source.ps1 +1 -1
  218. package/scripts/archive/t10.ps1 +1 -1
  219. package/scripts/archive/t20.ps1 +1 -1
  220. package/scripts/archive/t30.ps1 +1 -1
  221. package/scripts/archive/t31.ps1 +1 -1
  222. package/scripts/archive/t32.ps1 +1 -1
  223. package/scripts/archive/t39.ps1 +0 -0
  224. package/scripts/archive/t40.ps1 +0 -0
  225. package/scripts/archive/t53.ps1 +1 -1
  226. package/scripts/archive/t54.ps1 +0 -0
  227. package/scripts/archive/t55.ps1 +0 -0
  228. package/scripts/archive/t9.ps1 +0 -0
  229. package/scripts/archive/test-access.ps1 +1 -1
  230. package/scripts/archive/test-add-delete-source.ps1 +4 -4
  231. package/scripts/archive/test-add-source-visible.ps1 +1 -1
  232. package/scripts/archive/test-add-source.ps1 +1 -1
  233. package/scripts/archive/test-add-text-debug.ps1 +2 -2
  234. package/scripts/archive/test-add-text-source.ps1 +0 -0
  235. package/scripts/archive/test-add-url-source.ps1 +0 -0
  236. package/scripts/archive/test-ask-ascii.ps1 +0 -0
  237. package/scripts/archive/test-ask-cnv.ps1 +0 -0
  238. package/scripts/archive/test-ask-headed.ps1 +1 -1
  239. package/scripts/archive/test-ask-ifs.ps1 +0 -0
  240. package/scripts/archive/test-ask-now.ps1 +0 -0
  241. package/scripts/archive/test-ask-real.ps1 +0 -0
  242. package/scripts/archive/test-ask-visible.ps1 +0 -0
  243. package/scripts/archive/test-create-notebook.ps1 +0 -0
  244. package/scripts/archive/test-create-then-add.ps1 +0 -0
  245. package/scripts/archive/test-delete-source.ps1 +4 -4
  246. package/scripts/archive/test-e2e-notebook.ps1 +2 -2
  247. package/scripts/archive/test-english-notebook.ps1 +4 -4
  248. package/scripts/archive/test-english.ps1 +1 -1
  249. package/scripts/archive/test-full-custom-instructions.ps1 +1 -1
  250. package/scripts/archive/test-full-infographic.ps1 +1 -1
  251. package/scripts/archive/test-full-language.ps1 +1 -1
  252. package/scripts/archive/test-full-presentation.ps1 +1 -1
  253. package/scripts/archive/test-full-report.ps1 +1 -1
  254. package/scripts/archive/test-full-source-selection.ps1 +1 -1
  255. package/scripts/archive/test-full-video-brief.ps1 +1 -1
  256. package/scripts/archive/test-full-video-explainer.ps1 +1 -1
  257. package/scripts/archive/test-full-video-styles.ps1 +1 -1
  258. package/scripts/archive/test-generate-report.ps1 +0 -0
  259. package/scripts/archive/test-generate-study-guide.ps1 +0 -0
  260. package/scripts/archive/test-headed-ask.ps1 +1 -1
  261. package/scripts/archive/test-headed-now.ps1 +2 -2
  262. package/scripts/archive/test-headed.ps1 +2 -2
  263. package/scripts/archive/test-hello.ps1 +1 -1
  264. package/scripts/archive/test-i18n-studio.ps1 +0 -0
  265. package/scripts/archive/test-i18n.ps1 +0 -0
  266. package/scripts/archive/test-manual-headed.ps1 +1 -1
  267. package/scripts/archive/test-mathieu-quota.ps1 +1 -1
  268. package/scripts/archive/test-notebook-1.ps1 +0 -0
  269. package/scripts/archive/test-notebook-2-sources.ps1 +0 -0
  270. package/scripts/archive/test-notebook1.ps1 +0 -0
  271. package/scripts/archive/test-personal-notebook.ps1 +1 -1
  272. package/scripts/archive/test-rate-limit.ps1 +1 -1
  273. package/scripts/archive/test-real-ask.ps1 +1 -1
  274. package/scripts/archive/test-real-ask2.ps1 +1 -1
  275. package/scripts/archive/test-rom1pey.ps1 +1 -1
  276. package/scripts/archive/test-rotation-complete.ps1 +1 -1
  277. package/scripts/archive/test-rotation.ps1 +2 -2
  278. package/scripts/archive/test-show-browser.ps1 +1 -1
  279. package/scripts/archive/test-update-notebook.ps1 +1 -1
  280. package/scripts/archive/verify-language-slow.ps1 +1 -1
  281. package/scripts/archive/verify-language.ps1 +1 -1
  282. package/scripts/check-server.ps1 +0 -0
  283. package/scripts/docker-entrypoint.sh +25 -25
  284. package/scripts/doctor.mjs +257 -0
  285. package/scripts/mcp-proxy-hidden.ps1 +0 -0
  286. package/scripts/mcp-wsl-helper.sh +146 -146
  287. package/scripts/start-server-hidden.vbs +13 -10
  288. package/scripts/start-server.ps1 +1 -1
  289. package/scripts/start-vnc.sh +0 -0
  290. package/scripts/stop-server.bat +0 -0
  291. package/scripts/stop-server.ps1 +0 -0
  292. package/scripts/switch-account-language.sh +87 -128
  293. package/scripts/test-account.ps1 +0 -0
  294. package/docs/archive/auto-discovery-complet.md +0 -906
  295. package/scripts/add-totp.ts +0 -110
@@ -1,180 +1,180 @@
1
- # Files Required for NotebookLM MCP HTTP Server Deployment
2
- # Version: 1.3.0
3
-
4
- ================================================================================
5
- FILES TO COPY FROM MAIN PROJECT
6
- ================================================================================
7
-
8
- ## Root Files
9
- /package.json
10
- /package-lock.json
11
- /tsconfig.json
12
- /.gitignore
13
- /LICENSE → MIT License (original project + HTTP wrapper)
14
- /README.md → Project overview
15
- /CHANGELOG.md → Version history
16
- /CONTRIBUTING.md → Contribution guide
17
- /CREDITS.md → Credits and acknowledgments
18
-
19
- ## Source Code (src/)
20
- /src/**/*
21
-
22
- src/ content details:
23
- - /src/auth/ → Google authentication management
24
- - /src/config.ts → Central configuration
25
- - /src/errors.ts → Custom error classes
26
- - /src/http-wrapper.ts → HTTP entry point (ESSENTIAL!)
27
- - /src/index.ts → MCP stdio entry point
28
- - /src/library/ → Notebook management
29
- - /src/session/ → Browser session management
30
- - /src/tools/ → MCP handlers
31
- - /src/types.ts → TypeScript definitions
32
- - /src/utils/ → Utilities (logger, cleanup, etc.)
33
-
34
- ## HTTP Deployment Documentation (deployment/)
35
- /deployment/README.md → HTTP deployment guide
36
- /deployment/QUICK-START.md → Quick start (5 min)
37
- /deployment/INDEX.md → Navigation index
38
- /deployment/PACKAGE-FILES.txt → This file
39
- /deployment/docs/01-INSTALL.md
40
- /deployment/docs/02-CONFIGURATION.md
41
- /deployment/docs/03-API.md
42
- /deployment/docs/04-N8N-INTEGRATION.md
43
- /deployment/docs/05-TROUBLESHOOTING.md
44
- /deployment/docs/06-NOTEBOOK-LIBRARY.md
45
- /deployment/docs/07-AUTO-DISCOVERY.md
46
- /deployment/scripts/install.ps1
47
- /deployment/scripts/start-server.ps1
48
- /deployment/scripts/stop-server.ps1
49
- /deployment/scripts/test-server.ps1
50
-
51
- ================================================================================
52
- FILES GENERATED AFTER INSTALLATION (DO NOT COPY)
53
- ================================================================================
54
-
55
- These files will be created automatically by npm install and npm run build:
56
-
57
- /node_modules/ → npm dependencies (DO NOT copy)
58
- /dist/ → Compiled JavaScript code (generated by npm run build)
59
- /Data/ → Persistent data (generated by setup-auth)
60
-
61
- ================================================================================
62
- COMPLETE STRUCTURE AFTER DEPLOYMENT
63
- ================================================================================
64
-
65
- D:\notebooklm-http\
66
- ├── package.json
67
- ├── package-lock.json
68
- ├── tsconfig.json
69
- ├── .gitignore
70
- ├── LICENSE
71
- ├── README.md
72
- ├── CHANGELOG.md
73
- ├── CONTRIBUTING.md
74
- ├── CREDITS.md
75
-
76
- ├── src\
77
- │ ├── http-wrapper.ts
78
- │ ├── index.ts
79
- │ ├── config.ts
80
- │ ├── errors.ts
81
- │ ├── types.ts
82
- │ ├── auth\
83
- │ ├── library\
84
- │ ├── session\
85
- │ ├── tools\
86
- │ └── utils\
87
-
88
- ├── deployment\
89
- │ ├── README.md
90
- │ ├── QUICK-START.md
91
- │ ├── INDEX.md
92
- │ ├── PACKAGE-FILES.txt
93
- │ ├── docs\
94
- │ │ ├── 01-INSTALL.md
95
- │ │ ├── 02-CONFIGURATION.md
96
- │ │ ├── 03-API.md
97
- │ │ ├── 04-N8N-INTEGRATION.md
98
- │ │ └── 05-TROUBLESHOOTING.md
99
- │ └── scripts\
100
- │ ├── install.ps1
101
- │ ├── start-server.ps1
102
- │ ├── stop-server.ps1
103
- │ └── test-server.ps1
104
-
105
- ├── node_modules\ (created by npm install)
106
- ├── dist\ (created by npm run build)
107
- └── Data\ (created by setup-auth)
108
- ├── chrome_profile\
109
- ├── browser_state\
110
- └── library.json
111
-
112
- ================================================================================
113
- COMMANDS TO CREATE A DEPLOYABLE PACKAGE
114
- ================================================================================
115
-
116
- ## Method 1: Manual Copy
117
- ```powershell
118
- # Create a new folder
119
- mkdir D:\notebooklm-http-deploy
120
-
121
- # Copy required files
122
- Copy-Item package.json D:\notebooklm-http-deploy\
123
- Copy-Item package-lock.json D:\notebooklm-http-deploy\
124
- Copy-Item tsconfig.json D:\notebooklm-http-deploy\
125
- Copy-Item .gitignore D:\notebooklm-http-deploy\
126
- Copy-Item -Recurse src D:\notebooklm-http-deploy\
127
- Copy-Item -Recurse deployment D:\notebooklm-http-deploy\
128
-
129
- # Go to the new folder
130
- cd D:\notebooklm-http-deploy
131
-
132
- # Installation
133
- .\deployment\scripts\install.ps1
134
- ```
135
-
136
- ## Method 2: ZIP Archive (Recommended for Distribution)
137
- ```powershell
138
- # Create a clean archive
139
- $files = @(
140
- "package.json",
141
- "package-lock.json",
142
- "tsconfig.json",
143
- ".gitignore",
144
- "src",
145
- "deployment"
146
- )
147
-
148
- Compress-Archive -Path $files -DestinationPath notebooklm-http-v1.3.0.zip
149
- ```
150
-
151
- ## Method 3: Git Clone
152
- ```powershell
153
- git clone <repo-url> D:\notebooklm-http
154
- cd D:\notebooklm-http
155
- .\deployment\scripts\install.ps1
156
- ```
157
-
158
- ================================================================================
159
- APPROXIMATE SIZE
160
- ================================================================================
161
-
162
- Source files + config: ~2 MB
163
- node_modules/: ~150 MB
164
- dist/: ~3 MB
165
- Data/ (after auth): ~100 MB
166
-
167
- TOTAL after installation: ~255 MB
168
-
169
- ================================================================================
170
- SENSITIVE FILES (NEVER COMMIT)
171
- ================================================================================
172
-
173
- /Data/chrome_profile/ → Contains Google cookies
174
- /Data/browser_state/state.json → Contains Google session
175
- .env → Environment variables (if used)
176
- node_modules/ → Dependencies (regenerable)
177
-
178
- These files are already in .gitignore
179
-
180
- ================================================================================
1
+ # Files Required for NotebookLM MCP HTTP Server Deployment
2
+ # Version: 1.3.0
3
+
4
+ ================================================================================
5
+ FILES TO COPY FROM MAIN PROJECT
6
+ ================================================================================
7
+
8
+ ## Root Files
9
+ /package.json
10
+ /package-lock.json
11
+ /tsconfig.json
12
+ /.gitignore
13
+ /LICENSE → MIT License (original project + HTTP wrapper)
14
+ /README.md → Project overview
15
+ /CHANGELOG.md → Version history
16
+ /CONTRIBUTING.md → Contribution guide
17
+ /CREDITS.md → Credits and acknowledgments
18
+
19
+ ## Source Code (src/)
20
+ /src/**/*
21
+
22
+ src/ content details:
23
+ - /src/auth/ → Google authentication management
24
+ - /src/config.ts → Central configuration
25
+ - /src/errors.ts → Custom error classes
26
+ - /src/http-wrapper.ts → HTTP entry point (ESSENTIAL!)
27
+ - /src/index.ts → MCP stdio entry point
28
+ - /src/library/ → Notebook management
29
+ - /src/session/ → Browser session management
30
+ - /src/tools/ → MCP handlers
31
+ - /src/types.ts → TypeScript definitions
32
+ - /src/utils/ → Utilities (logger, cleanup, etc.)
33
+
34
+ ## HTTP Deployment Documentation (deployment/)
35
+ /deployment/README.md → HTTP deployment guide
36
+ /deployment/QUICK-START.md → Quick start (5 min)
37
+ /deployment/INDEX.md → Navigation index
38
+ /deployment/PACKAGE-FILES.txt → This file
39
+ /deployment/docs/01-INSTALL.md
40
+ /deployment/docs/02-CONFIGURATION.md
41
+ /deployment/docs/03-API.md
42
+ /deployment/docs/04-N8N-INTEGRATION.md
43
+ /deployment/docs/05-TROUBLESHOOTING.md
44
+ /deployment/docs/06-NOTEBOOK-LIBRARY.md
45
+ /deployment/docs/07-AUTO-DISCOVERY.md
46
+ /deployment/scripts/install.ps1
47
+ /deployment/scripts/start-server.ps1
48
+ /deployment/scripts/stop-server.ps1
49
+ /deployment/scripts/test-server.ps1
50
+
51
+ ================================================================================
52
+ FILES GENERATED AFTER INSTALLATION (DO NOT COPY)
53
+ ================================================================================
54
+
55
+ These files will be created automatically by npm install and npm run build:
56
+
57
+ /node_modules/ → npm dependencies (DO NOT copy)
58
+ /dist/ → Compiled JavaScript code (generated by npm run build)
59
+ /Data/ → Persistent data (generated by setup-auth)
60
+
61
+ ================================================================================
62
+ COMPLETE STRUCTURE AFTER DEPLOYMENT
63
+ ================================================================================
64
+
65
+ D:\notebooklm-http\
66
+ ├── package.json
67
+ ├── package-lock.json
68
+ ├── tsconfig.json
69
+ ├── .gitignore
70
+ ├── LICENSE
71
+ ├── README.md
72
+ ├── CHANGELOG.md
73
+ ├── CONTRIBUTING.md
74
+ ├── CREDITS.md
75
+
76
+ ├── src\
77
+ │ ├── http-wrapper.ts
78
+ │ ├── index.ts
79
+ │ ├── config.ts
80
+ │ ├── errors.ts
81
+ │ ├── types.ts
82
+ │ ├── auth\
83
+ │ ├── library\
84
+ │ ├── session\
85
+ │ ├── tools\
86
+ │ └── utils\
87
+
88
+ ├── deployment\
89
+ │ ├── README.md
90
+ │ ├── QUICK-START.md
91
+ │ ├── INDEX.md
92
+ │ ├── PACKAGE-FILES.txt
93
+ │ ├── docs\
94
+ │ │ ├── 01-INSTALL.md
95
+ │ │ ├── 02-CONFIGURATION.md
96
+ │ │ ├── 03-API.md
97
+ │ │ ├── 04-N8N-INTEGRATION.md
98
+ │ │ └── 05-TROUBLESHOOTING.md
99
+ │ └── scripts\
100
+ │ ├── install.ps1
101
+ │ ├── start-server.ps1
102
+ │ ├── stop-server.ps1
103
+ │ └── test-server.ps1
104
+
105
+ ├── node_modules\ (created by npm install)
106
+ ├── dist\ (created by npm run build)
107
+ └── Data\ (created by setup-auth)
108
+ ├── chrome_profile\
109
+ ├── browser_state\
110
+ └── library.json
111
+
112
+ ================================================================================
113
+ COMMANDS TO CREATE A DEPLOYABLE PACKAGE
114
+ ================================================================================
115
+
116
+ ## Method 1: Manual Copy
117
+ ```powershell
118
+ # Create a new folder
119
+ mkdir D:\notebooklm-http-deploy
120
+
121
+ # Copy required files
122
+ Copy-Item package.json D:\notebooklm-http-deploy\
123
+ Copy-Item package-lock.json D:\notebooklm-http-deploy\
124
+ Copy-Item tsconfig.json D:\notebooklm-http-deploy\
125
+ Copy-Item .gitignore D:\notebooklm-http-deploy\
126
+ Copy-Item -Recurse src D:\notebooklm-http-deploy\
127
+ Copy-Item -Recurse deployment D:\notebooklm-http-deploy\
128
+
129
+ # Go to the new folder
130
+ cd D:\notebooklm-http-deploy
131
+
132
+ # Installation
133
+ .\deployment\scripts\install.ps1
134
+ ```
135
+
136
+ ## Method 2: ZIP Archive (Recommended for Distribution)
137
+ ```powershell
138
+ # Create a clean archive
139
+ $files = @(
140
+ "package.json",
141
+ "package-lock.json",
142
+ "tsconfig.json",
143
+ ".gitignore",
144
+ "src",
145
+ "deployment"
146
+ )
147
+
148
+ Compress-Archive -Path $files -DestinationPath notebooklm-http-v1.3.0.zip
149
+ ```
150
+
151
+ ## Method 3: Git Clone
152
+ ```powershell
153
+ git clone <repo-url> D:\notebooklm-http
154
+ cd D:\notebooklm-http
155
+ .\deployment\scripts\install.ps1
156
+ ```
157
+
158
+ ================================================================================
159
+ APPROXIMATE SIZE
160
+ ================================================================================
161
+
162
+ Source files + config: ~2 MB
163
+ node_modules/: ~150 MB
164
+ dist/: ~3 MB
165
+ Data/ (after auth): ~100 MB
166
+
167
+ TOTAL after installation: ~255 MB
168
+
169
+ ================================================================================
170
+ SENSITIVE FILES (NEVER COMMIT)
171
+ ================================================================================
172
+
173
+ /Data/chrome_profile/ → Contains Google cookies
174
+ /Data/browser_state/state.json → Contains Google session
175
+ .env → Environment variables (if used)
176
+ node_modules/ → Dependencies (regenerable)
177
+
178
+ These files are already in .gitignore
179
+
180
+ ================================================================================
File without changes
@@ -380,7 +380,27 @@ If all files are present and not empty, authentication is configured! ✅
380
380
 
381
381
  Before starting the server, let's verify that everything is OK:
382
382
 
383
- ### Complete Checklist
383
+ ### Doctor Script (recommended)
384
+
385
+ ```bash
386
+ npm run doctor:basic
387
+ ```
388
+
389
+ Prints a `[PASS]`/`[FAIL]` line for each of: Node engine compatibility,
390
+ `package.json`, `README.md`, `dist/index.js`, `dist/http-wrapper.js`.
391
+ Exits non-zero on any failure. Use this instead of the manual checklist
392
+ below for quick sanity checks before starting the server.
393
+
394
+ Once the server is running (see [Startup](#️-startup) below), also run:
395
+
396
+ ```bash
397
+ npm run doctor:http
398
+ ```
399
+
400
+ to verify `/health` reachability. Pass `--notebook-url` to also exercise
401
+ `/content` and `/ask`.
402
+
403
+ ### Complete Checklist (manual)
384
404
 
385
405
  ```powershell
386
406
  # 1. Node.js installed
File without changes
@@ -307,7 +307,7 @@ curl http://localhost:3000/notebooks
307
307
  "id": "parents-numerique",
308
308
  "name": "Parents and Digital",
309
309
  "description": "Advice for parents in the digital age",
310
- "url": "https://notebooklm.google.com/notebook/505ee4b1-ad05-4673-a06b-1ec106c2b940",
310
+ "url": "https://notebooklm.google.com/notebook/00000000-0000-0000-0000-000000000101",
311
311
  "topics": ["parenting", "digital", "education"],
312
312
  "use_cases": [
313
313
  "Educational advice in the digital age",
@@ -342,7 +342,7 @@ Add a new notebook to the library.
342
342
  curl -X POST http://localhost:3000/notebooks \
343
343
  -H "Content-Type: application/json" \
344
344
  -d '{
345
- "url": "https://notebooklm.google.com/notebook/505ee4b1-ad05-4673-a06b-1ec106c2b940",
345
+ "url": "https://notebooklm.google.com/notebook/00000000-0000-0000-0000-000000000101",
346
346
  "name": "Parents and Digital",
347
347
  "description": "Advice for parents in the digital age",
348
348
  "topics": ["parenting", "digital", "education"]
@@ -371,7 +371,7 @@ curl -X POST http://localhost:3000/notebooks \
371
371
  "id": "parents-numerique",
372
372
  "name": "Parents and Digital",
373
373
  "description": "Advice for parents in the digital age",
374
- "url": "https://notebooklm.google.com/notebook/505ee4b1-ad05-4673-a06b-1ec106c2b940",
374
+ "url": "https://notebooklm.google.com/notebook/00000000-0000-0000-0000-000000000101",
375
375
  "topics": ["parenting", "digital", "education"],
376
376
  "content_types": ["documentation", "examples"],
377
377
  "use_cases": ["Educational advice", "Digital parenting"],
@@ -392,7 +392,7 @@ curl -X POST http://localhost:3000/notebooks \
392
392
  ```json
393
393
  {
394
394
  "success": false,
395
- "error": "A notebook with the name 'Parents and Digital' already exists.\n\nExisting notebook ID: parents-numerique\nURL: https://notebooklm.google.com/notebook/505ee4b1-ad05-4673-a06b-1ec106c2b940\n\nPlease use a different name, or update the existing notebook instead.\nTo update: PUT /notebooks/parents-numerique with new data\nTo delete: DELETE /notebooks/parents-numerique"
395
+ "error": "A notebook with the name 'Parents and Digital' already exists.\n\nExisting notebook ID: parents-numerique\nURL: https://notebooklm.google.com/notebook/00000000-0000-0000-0000-000000000101\n\nPlease use a different name, or update the existing notebook instead.\nTo update: PUT /notebooks/parents-numerique with new data\nTo delete: DELETE /notebooks/parents-numerique"
396
396
  }
397
397
  ```
398
398
 
@@ -547,7 +547,7 @@ curl http://localhost:3000/notebooks/parents-numerique
547
547
  "id": "parents-numerique",
548
548
  "name": "Parents and Digital",
549
549
  "description": "Advice for parents in the digital age",
550
- "url": "https://notebooklm.google.com/notebook/505ee4b1-ad05-4673-a06b-1ec106c2b940",
550
+ "url": "https://notebooklm.google.com/notebook/00000000-0000-0000-0000-000000000101",
551
551
  "topics": ["parenting", "digital", "education"],
552
552
  "active": true
553
553
  }
@@ -630,7 +630,7 @@ curl -X PUT http://localhost:3000/notebooks/shakespeare/activate
630
630
  "id": "shakespeare",
631
631
  "name": "Shakespeare",
632
632
  "description": "William Shakespeare - Complete Works",
633
- "url": "https://notebooklm.google.com/notebook/19bde485-a9c1-4809-8884-e872b2b67b44",
633
+ "url": "https://notebooklm.google.com/notebook/00000000-0000-0000-0000-000000000102",
634
634
  "topics": ["literature", "theater", "Shakespeare"],
635
635
  "active": true,
636
636
  "last_used": "2025-11-22T10:30:45.123Z"
@@ -676,7 +676,7 @@ curl http://localhost:3000/sessions
676
676
  "data": {
677
677
  "sessions": [
678
678
  {
679
- "id": "9a580eee",
679
+ "id": "session-00000001",
680
680
  "notebook_url": "https://notebooklm.google.com/notebook/xxx",
681
681
  "message_count": 3,
682
682
  "age_seconds": 245,
@@ -1668,9 +1668,9 @@ curl "http://localhost:3000/notebooks/scrape?show_browser=true"
1668
1668
  "data": {
1669
1669
  "notebooks": [
1670
1670
  {
1671
- "id": "89e31c61-63f9-480d-b0ad-92ed60bd1834",
1671
+ "id": "00000000-0000-0000-0000-000000000103",
1672
1672
  "name": "Internal Family Systems",
1673
- "url": "https://notebooklm.google.com/notebook/89e31c61-63f9-480d-b0ad-92ed60bd1834"
1673
+ "url": "https://notebooklm.google.com/notebook/00000000-0000-0000-0000-000000000103"
1674
1674
  }
1675
1675
  ],
1676
1676
  "total": 16,
@@ -1709,7 +1709,13 @@ curl -X POST http://localhost:3000/notebooks/import-from-scrape \
1709
1709
  {
1710
1710
  "success": true,
1711
1711
  "data": {
1712
- "imported": [{ "id": "89e31c61-...", "name": "Internal Family Systems", "status": "imported" }],
1712
+ "imported": [
1713
+ {
1714
+ "id": "00000000-0000-0000-0000-000000000103",
1715
+ "name": "Internal Family Systems",
1716
+ "status": "imported"
1717
+ }
1718
+ ],
1713
1719
  "errors": [],
1714
1720
  "total_scraped": 16,
1715
1721
  "total_imported": 16,
File without changes
@@ -6,7 +6,25 @@
6
6
 
7
7
  ## 🔍 Quick Diagnosis
8
8
 
9
- ### Verification Commands
9
+ ### Doctor Scripts (fastest path)
10
+
11
+ ```bash
12
+ # Repo + build artifacts + Node version
13
+ npm run doctor:basic
14
+
15
+ # Start the server in another shell, then:
16
+ npm run doctor:http
17
+
18
+ # With a real notebook URL, also exercises /content and /ask:
19
+ npm run doctor:http -- --notebook-url "https://notebooklm.google.com/notebook/<your-notebook-id>"
20
+ ```
21
+
22
+ `doctor:basic` prints `[PASS]` / `[FAIL]` lines for each check and exits
23
+ non-zero if anything is missing. `doctor:http` adds reachability of
24
+ `/health`, `/content`, and `/ask`. Run `node scripts/doctor.mjs --help` for
25
+ all flags (`--base-url`, `--timeout-ms`, `--question`).
26
+
27
+ ### Manual Verification Commands
10
28
 
11
29
  ```powershell
12
30
  # 1. Server active?
@@ -30,7 +30,7 @@ Location: `%LOCALAPPDATA%\notebooklm-mcp\Data\library.json`
30
30
  "notebooks": [
31
31
  {
32
32
  "id": "parents-numerique",
33
- "url": "https://notebooklm.google.com/notebook/505ee4b1-ad05-4673-a06b-1ec106c2b940",
33
+ "url": "https://notebooklm.google.com/notebook/00000000-0000-0000-0000-000000000101",
34
34
  "name": "Parents et Numérique",
35
35
  "description": "Conseils pour parents à l'ère du numérique",
36
36
  "topics": ["parentalité", "numérique", "éducation"],
@@ -46,7 +46,7 @@ Location: `%LOCALAPPDATA%\notebooklm-mcp\Data\library.json`
46
46
  },
47
47
  {
48
48
  "id": "shakespeare",
49
- "url": "https://notebooklm.google.com/notebook/19bde485-a9c1-4809-8884-e872b2b67b44",
49
+ "url": "https://notebooklm.google.com/notebook/00000000-0000-0000-0000-000000000102",
50
50
  "name": "Shakespeare",
51
51
  "description": "William Shakespeare - L'intégrale des pièces",
52
52
  "topics": ["littérature", "théâtre", "Shakespeare"],
@@ -113,7 +113,7 @@ Expected format: `https://notebooklm.google.com/notebook/[id]`
113
113
  curl -X POST http://localhost:3000/notebooks \
114
114
  -H "Content-Type: application/json" \
115
115
  -d '{
116
- "url": "https://notebooklm.google.com/notebook/505ee4b1-ad05-4673-a06b-1ec106c2b940",
116
+ "url": "https://notebooklm.google.com/notebook/00000000-0000-0000-0000-000000000101",
117
117
  "name": "Parents et Numérique",
118
118
  "description": "Conseils pour parents à l'ère du numérique",
119
119
  "topics": ["parentalité", "numérique", "éducation"]
@@ -124,7 +124,7 @@ curl -X POST http://localhost:3000/notebooks \
124
124
 
125
125
  ```powershell
126
126
  $body = @{
127
- url = "https://notebooklm.google.com/notebook/505ee4b1-ad05-4673-a06b-1ec106c2b940"
127
+ url = "https://notebooklm.google.com/notebook/00000000-0000-0000-0000-000000000101"
128
128
  name = "Parents et Numérique"
129
129
  description = "Conseils pour parents à l'ère du numérique"
130
130
  topics = @("parentalité", "numérique", "éducation")
@@ -145,7 +145,7 @@ Repeat the operation for each notebook:
145
145
  ```powershell
146
146
  # Shakespeare Notebook
147
147
  $body = @{
148
- url = "https://notebooklm.google.com/notebook/19bde485-a9c1-4809-8884-e872b2b67b44"
148
+ url = "https://notebooklm.google.com/notebook/00000000-0000-0000-0000-000000000102"
149
149
  name = "Shakespeare"
150
150
  description = "William Shakespeare - L'intégrale des pièces"
151
151
  topics = @("littérature", "théâtre", "Shakespeare")
@@ -277,7 +277,7 @@ POST /notebooks {"name": "parents et numérique", ...} # ❌ (case-insensitive)
277
277
  ```json
278
278
  {
279
279
  "success": false,
280
- "error": "A notebook with the name 'Parents et Numérique' already exists.\n\nExisting notebook ID: parents-numerique\nURL: https://notebooklm.google.com/notebook/505ee4b1-ad05-4673-a06b-1ec106c2b940\n\nPlease use a different name, or update the existing notebook instead.\nTo update: PUT /notebooks/parents-numerique with new data\nTo delete: DELETE /notebooks/parents-numerique"
280
+ "error": "A notebook with the name 'Parents et Numérique' already exists.\n\nExisting notebook ID: parents-numerique\nURL: https://notebooklm.google.com/notebook/00000000-0000-0000-0000-000000000101\n\nPlease use a different name, or update the existing notebook instead.\nTo update: PUT /notebooks/parents-numerique with new data\nTo delete: DELETE /notebooks/parents-numerique"
281
281
  }
282
282
  ```
283
283
 
@@ -365,7 +365,7 @@ Returns all metadata:
365
365
  "data": {
366
366
  "notebook": {
367
367
  "id": "parents-numerique",
368
- "url": "https://notebooklm.google.com/notebook/505ee4b1-ad05-4673-a06b-1ec106c2b940",
368
+ "url": "https://notebooklm.google.com/notebook/00000000-0000-0000-0000-000000000101",
369
369
  "name": "Parents et Numérique",
370
370
  "description": "Conseils pour parents à l'ère du numérique",
371
371
  "topics": ["parentalité", "numérique", "éducation"],
@@ -613,13 +613,13 @@ $baseUrl = "http://localhost:3000"
613
613
  # List of notebooks to add
614
614
  $notebooks = @(
615
615
  @{
616
- url = "https://notebooklm.google.com/notebook/505ee4b1-ad05-4673-a06b-1ec106c2b940"
616
+ url = "https://notebooklm.google.com/notebook/00000000-0000-0000-0000-000000000101"
617
617
  name = "Parents et Numérique"
618
618
  description = "Conseils pour parents à l'ère du numérique"
619
619
  topics = @("parentalité", "numérique", "éducation")
620
620
  },
621
621
  @{
622
- url = "https://notebooklm.google.com/notebook/19bde485-a9c1-4809-8884-e872b2b67b44"
622
+ url = "https://notebooklm.google.com/notebook/00000000-0000-0000-0000-000000000102"
623
623
  name = "Shakespeare"
624
624
  description = "William Shakespeare - L'intégrale des pièces"
625
625
  topics = @("littérature", "théâtre", "Shakespeare")
@@ -181,26 +181,17 @@ Analyze your complete content and respond ONLY in JSON format:
181
181
 
182
182
  ## Testing
183
183
 
184
- ### Public Test Notebooks
185
-
186
- The following public notebooks are available for testing auto-discovery:
184
+ ### Test With Your Own Notebook
187
185
 
188
186
  ```bash
189
- # Test with PowerShell script (all notebooks)
190
- .\deployment\scripts\test-auto-discovery.ps1 -TestAll
187
+ # Test with a specific notebook URL you can access
188
+ .\deployment\scripts\test-auto-discovery.ps1 -NotebookUrl "https://notebooklm.google.com/notebook/<your-notebook-id>"
191
189
 
192
- # Test with specific notebook
193
- .\deployment\scripts\test-auto-discovery.ps1 -NotebookUrl "https://notebooklm.google.com/notebook/0d5cd576-2583-4835-8848-a5b7b6a97cea"
190
+ # Or provide multiple notebook URLs through the environment
191
+ $env:AUTO_DISCOVERY_NOTEBOOKS = "https://notebooklm.google.com/notebook/<id-1>,https://notebooklm.google.com/notebook/<id-2>"
192
+ .\deployment\scripts\test-auto-discovery.ps1 -TestAll
194
193
  ```
195
194
 
196
- **Available public notebooks**:
197
-
198
- 1. `https://notebooklm.google.com/notebook/0d5cd576-2583-4835-8848-a5b7b6a97cea`
199
- 2. `https://notebooklm.google.com/notebook/505ee4b1-ad05-4673-a06b-1ec106c2b940`
200
- 3. `https://notebooklm.google.com/notebook/a09e40ad-d41f-43af-a3ca-5fc82bd459e5`
201
- 4. `https://notebooklm.google.com/notebook/19bde485-a9c1-4809-8884-e872b2b67b44`
202
- 5. `https://notebooklm.google.com/notebook/19fdf6bd-1975-40a3-9801-c554130bc64a`
203
-
204
195
  ### Expected Results
205
196
 
206
197
  Each auto-discovery test should:
File without changes