notebooklm-mcp-ultimate 2.2.1

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 (207) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +420 -0
  3. package/dist/api/batch-execute-client.d.ts +232 -0
  4. package/dist/api/batch-execute-client.d.ts.map +1 -0
  5. package/dist/api/batch-execute-client.js +672 -0
  6. package/dist/api/batch-execute-client.js.map +1 -0
  7. package/dist/api/content-types.d.ts +44 -0
  8. package/dist/api/content-types.d.ts.map +1 -0
  9. package/dist/api/content-types.js +89 -0
  10. package/dist/api/content-types.js.map +1 -0
  11. package/dist/api/csrf-manager.d.ts +94 -0
  12. package/dist/api/csrf-manager.d.ts.map +1 -0
  13. package/dist/api/csrf-manager.js +178 -0
  14. package/dist/api/csrf-manager.js.map +1 -0
  15. package/dist/api/index.d.ts +27 -0
  16. package/dist/api/index.d.ts.map +1 -0
  17. package/dist/api/index.js +56 -0
  18. package/dist/api/index.js.map +1 -0
  19. package/dist/api/operation-poller.d.ts +67 -0
  20. package/dist/api/operation-poller.d.ts.map +1 -0
  21. package/dist/api/operation-poller.js +132 -0
  22. package/dist/api/operation-poller.js.map +1 -0
  23. package/dist/api/request-builder.d.ts +196 -0
  24. package/dist/api/request-builder.d.ts.map +1 -0
  25. package/dist/api/request-builder.js +371 -0
  26. package/dist/api/request-builder.js.map +1 -0
  27. package/dist/api/response-parser.d.ts +124 -0
  28. package/dist/api/response-parser.d.ts.map +1 -0
  29. package/dist/api/response-parser.js +595 -0
  30. package/dist/api/response-parser.js.map +1 -0
  31. package/dist/api/rpc-ids.d.ts +92 -0
  32. package/dist/api/rpc-ids.d.ts.map +1 -0
  33. package/dist/api/rpc-ids.js +138 -0
  34. package/dist/api/rpc-ids.js.map +1 -0
  35. package/dist/api/streaming-chat-client.d.ts +50 -0
  36. package/dist/api/streaming-chat-client.d.ts.map +1 -0
  37. package/dist/api/streaming-chat-client.js +198 -0
  38. package/dist/api/streaming-chat-client.js.map +1 -0
  39. package/dist/api/types.d.ts +318 -0
  40. package/dist/api/types.d.ts.map +1 -0
  41. package/dist/api/types.js +22 -0
  42. package/dist/api/types.js.map +1 -0
  43. package/dist/auth/auth-manager.d.ts +163 -0
  44. package/dist/auth/auth-manager.d.ts.map +1 -0
  45. package/dist/auth/auth-manager.js +1055 -0
  46. package/dist/auth/auth-manager.js.map +1 -0
  47. package/dist/auth/cookie-store.d.ts +121 -0
  48. package/dist/auth/cookie-store.d.ts.map +1 -0
  49. package/dist/auth/cookie-store.js +283 -0
  50. package/dist/auth/cookie-store.js.map +1 -0
  51. package/dist/config.d.ts +89 -0
  52. package/dist/config.d.ts.map +1 -0
  53. package/dist/config.js +217 -0
  54. package/dist/config.js.map +1 -0
  55. package/dist/errors.d.ts +26 -0
  56. package/dist/errors.d.ts.map +1 -0
  57. package/dist/errors.js +41 -0
  58. package/dist/errors.js.map +1 -0
  59. package/dist/index.d.ts +32 -0
  60. package/dist/index.d.ts.map +1 -0
  61. package/dist/index.js +439 -0
  62. package/dist/index.js.map +1 -0
  63. package/dist/library/notebook-library.d.ts +79 -0
  64. package/dist/library/notebook-library.d.ts.map +1 -0
  65. package/dist/library/notebook-library.js +296 -0
  66. package/dist/library/notebook-library.js.map +1 -0
  67. package/dist/library/types.d.ts +67 -0
  68. package/dist/library/types.d.ts.map +1 -0
  69. package/dist/library/types.js +8 -0
  70. package/dist/library/types.js.map +1 -0
  71. package/dist/operations/content-operations.d.ts +78 -0
  72. package/dist/operations/content-operations.d.ts.map +1 -0
  73. package/dist/operations/content-operations.js +162 -0
  74. package/dist/operations/content-operations.js.map +1 -0
  75. package/dist/operations/hybrid-executor.d.ts +47 -0
  76. package/dist/operations/hybrid-executor.d.ts.map +1 -0
  77. package/dist/operations/hybrid-executor.js +114 -0
  78. package/dist/operations/hybrid-executor.js.map +1 -0
  79. package/dist/operations/notebook-crud-operations.d.ts +52 -0
  80. package/dist/operations/notebook-crud-operations.d.ts.map +1 -0
  81. package/dist/operations/notebook-crud-operations.js +248 -0
  82. package/dist/operations/notebook-crud-operations.js.map +1 -0
  83. package/dist/operations/research-operations.d.ts +42 -0
  84. package/dist/operations/research-operations.d.ts.map +1 -0
  85. package/dist/operations/research-operations.js +189 -0
  86. package/dist/operations/research-operations.js.map +1 -0
  87. package/dist/operations/source-operations.d.ts +59 -0
  88. package/dist/operations/source-operations.d.ts.map +1 -0
  89. package/dist/operations/source-operations.js +280 -0
  90. package/dist/operations/source-operations.js.map +1 -0
  91. package/dist/operations/studio-operations.d.ts +98 -0
  92. package/dist/operations/studio-operations.d.ts.map +1 -0
  93. package/dist/operations/studio-operations.js +309 -0
  94. package/dist/operations/studio-operations.js.map +1 -0
  95. package/dist/resources/resource-handlers.d.ts +22 -0
  96. package/dist/resources/resource-handlers.d.ts.map +1 -0
  97. package/dist/resources/resource-handlers.js +216 -0
  98. package/dist/resources/resource-handlers.js.map +1 -0
  99. package/dist/session/browser-session.d.ts +113 -0
  100. package/dist/session/browser-session.d.ts.map +1 -0
  101. package/dist/session/browser-session.js +670 -0
  102. package/dist/session/browser-session.js.map +1 -0
  103. package/dist/session/session-manager.d.ts +88 -0
  104. package/dist/session/session-manager.d.ts.map +1 -0
  105. package/dist/session/session-manager.js +314 -0
  106. package/dist/session/session-manager.js.map +1 -0
  107. package/dist/session/shared-context-manager.d.ts +107 -0
  108. package/dist/session/shared-context-manager.d.ts.map +1 -0
  109. package/dist/session/shared-context-manager.js +447 -0
  110. package/dist/session/shared-context-manager.js.map +1 -0
  111. package/dist/tools/definitions/ask-question.d.ts +8 -0
  112. package/dist/tools/definitions/ask-question.d.ts.map +1 -0
  113. package/dist/tools/definitions/ask-question.js +213 -0
  114. package/dist/tools/definitions/ask-question.js.map +1 -0
  115. package/dist/tools/definitions/content-generation.d.ts +52 -0
  116. package/dist/tools/definitions/content-generation.d.ts.map +1 -0
  117. package/dist/tools/definitions/content-generation.js +236 -0
  118. package/dist/tools/definitions/content-generation.js.map +1 -0
  119. package/dist/tools/definitions/notebook-crud.d.ts +9 -0
  120. package/dist/tools/definitions/notebook-crud.d.ts.map +1 -0
  121. package/dist/tools/definitions/notebook-crud.js +156 -0
  122. package/dist/tools/definitions/notebook-crud.js.map +1 -0
  123. package/dist/tools/definitions/notebook-management.d.ts +3 -0
  124. package/dist/tools/definitions/notebook-management.d.ts.map +1 -0
  125. package/dist/tools/definitions/notebook-management.js +243 -0
  126. package/dist/tools/definitions/notebook-management.js.map +1 -0
  127. package/dist/tools/definitions/research.d.ts +23 -0
  128. package/dist/tools/definitions/research.d.ts.map +1 -0
  129. package/dist/tools/definitions/research.js +108 -0
  130. package/dist/tools/definitions/research.js.map +1 -0
  131. package/dist/tools/definitions/session-management.d.ts +3 -0
  132. package/dist/tools/definitions/session-management.d.ts.map +1 -0
  133. package/dist/tools/definitions/session-management.js +41 -0
  134. package/dist/tools/definitions/session-management.js.map +1 -0
  135. package/dist/tools/definitions/source-management.d.ts +39 -0
  136. package/dist/tools/definitions/source-management.d.ts.map +1 -0
  137. package/dist/tools/definitions/source-management.js +224 -0
  138. package/dist/tools/definitions/source-management.js.map +1 -0
  139. package/dist/tools/definitions/studio.d.ts +36 -0
  140. package/dist/tools/definitions/studio.d.ts.map +1 -0
  141. package/dist/tools/definitions/studio.js +153 -0
  142. package/dist/tools/definitions/studio.js.map +1 -0
  143. package/dist/tools/definitions/system.d.ts +3 -0
  144. package/dist/tools/definitions/system.d.ts.map +1 -0
  145. package/dist/tools/definitions/system.js +143 -0
  146. package/dist/tools/definitions/system.js.map +1 -0
  147. package/dist/tools/definitions.d.ts +12 -0
  148. package/dist/tools/definitions.d.ts.map +1 -0
  149. package/dist/tools/definitions.js +36 -0
  150. package/dist/tools/definitions.js.map +1 -0
  151. package/dist/tools/handlers/content-handlers.d.ts +287 -0
  152. package/dist/tools/handlers/content-handlers.d.ts.map +1 -0
  153. package/dist/tools/handlers/content-handlers.js +244 -0
  154. package/dist/tools/handlers/content-handlers.js.map +1 -0
  155. package/dist/tools/handlers/notebook-crud-handlers.d.ts +69 -0
  156. package/dist/tools/handlers/notebook-crud-handlers.d.ts.map +1 -0
  157. package/dist/tools/handlers/notebook-crud-handlers.js +117 -0
  158. package/dist/tools/handlers/notebook-crud-handlers.js.map +1 -0
  159. package/dist/tools/handlers/research-handlers.d.ts +37 -0
  160. package/dist/tools/handlers/research-handlers.d.ts.map +1 -0
  161. package/dist/tools/handlers/research-handlers.js +87 -0
  162. package/dist/tools/handlers/research-handlers.js.map +1 -0
  163. package/dist/tools/handlers/source-handlers.d.ts +52 -0
  164. package/dist/tools/handlers/source-handlers.d.ts.map +1 -0
  165. package/dist/tools/handlers/source-handlers.js +177 -0
  166. package/dist/tools/handlers/source-handlers.js.map +1 -0
  167. package/dist/tools/handlers/studio-handlers.d.ts +125 -0
  168. package/dist/tools/handlers/studio-handlers.d.ts.map +1 -0
  169. package/dist/tools/handlers/studio-handlers.js +183 -0
  170. package/dist/tools/handlers/studio-handlers.js.map +1 -0
  171. package/dist/tools/handlers.d.ts +629 -0
  172. package/dist/tools/handlers.d.ts.map +1 -0
  173. package/dist/tools/handlers.js +833 -0
  174. package/dist/tools/handlers.js.map +1 -0
  175. package/dist/tools/index.d.ts +8 -0
  176. package/dist/tools/index.d.ts.map +1 -0
  177. package/dist/tools/index.js +8 -0
  178. package/dist/tools/index.js.map +1 -0
  179. package/dist/types.d.ts +82 -0
  180. package/dist/types.d.ts.map +1 -0
  181. package/dist/types.js +5 -0
  182. package/dist/types.js.map +1 -0
  183. package/dist/utils/cleanup-manager.d.ts +133 -0
  184. package/dist/utils/cleanup-manager.d.ts.map +1 -0
  185. package/dist/utils/cleanup-manager.js +673 -0
  186. package/dist/utils/cleanup-manager.js.map +1 -0
  187. package/dist/utils/cli-handler.d.ts +16 -0
  188. package/dist/utils/cli-handler.d.ts.map +1 -0
  189. package/dist/utils/cli-handler.js +102 -0
  190. package/dist/utils/cli-handler.js.map +1 -0
  191. package/dist/utils/logger.d.ts +61 -0
  192. package/dist/utils/logger.d.ts.map +1 -0
  193. package/dist/utils/logger.js +92 -0
  194. package/dist/utils/logger.js.map +1 -0
  195. package/dist/utils/page-utils.d.ts +54 -0
  196. package/dist/utils/page-utils.d.ts.map +1 -0
  197. package/dist/utils/page-utils.js +405 -0
  198. package/dist/utils/page-utils.js.map +1 -0
  199. package/dist/utils/settings-manager.d.ts +37 -0
  200. package/dist/utils/settings-manager.d.ts.map +1 -0
  201. package/dist/utils/settings-manager.js +120 -0
  202. package/dist/utils/settings-manager.js.map +1 -0
  203. package/dist/utils/stealth-utils.d.ts +135 -0
  204. package/dist/utils/stealth-utils.d.ts.map +1 -0
  205. package/dist/utils/stealth-utils.js +398 -0
  206. package/dist/utils/stealth-utils.js.map +1 -0
  207. package/package.json +63 -0
@@ -0,0 +1,224 @@
1
+ /**
2
+ * Source Management Tool Definitions
3
+ *
4
+ * MCP tool definitions for managing sources in NotebookLM notebooks.
5
+ */
6
+ /**
7
+ * List Sources tool
8
+ */
9
+ export const listSourcesTool = {
10
+ name: 'list_sources',
11
+ description: `List all sources in a NotebookLM notebook.
12
+
13
+ Returns information about each source including:
14
+ - Source ID
15
+ - Title
16
+ - Type (URL, text, YouTube, Google Drive, etc.)
17
+ - Creation date
18
+ - Status
19
+
20
+ Use this to see what sources are available in a notebook before performing other operations.`,
21
+ inputSchema: {
22
+ type: 'object',
23
+ properties: {
24
+ notebook_id: {
25
+ type: 'string',
26
+ description: 'ID of the notebook to list sources from. If not provided, uses the active notebook.',
27
+ },
28
+ },
29
+ },
30
+ };
31
+ /**
32
+ * Add URL Source tool
33
+ */
34
+ export const addURLSourceTool = {
35
+ name: 'add_url_source',
36
+ description: `Add a URL as a source to a NotebookLM notebook.
37
+
38
+ The URL will be fetched and its content will be added to the notebook.
39
+ Supported URL types:
40
+ - Web pages (HTML)
41
+ - PDF documents
42
+ - Text files
43
+ - Other publicly accessible content
44
+
45
+ The source will be processed and indexed for Q&A and content generation.`,
46
+ inputSchema: {
47
+ type: 'object',
48
+ properties: {
49
+ notebook_id: {
50
+ type: 'string',
51
+ description: 'ID of the notebook to add the source to. If not provided, uses the active notebook.',
52
+ },
53
+ url: {
54
+ type: 'string',
55
+ description: 'The URL to add as a source. Must be a valid, publicly accessible URL.',
56
+ },
57
+ },
58
+ required: ['url'],
59
+ },
60
+ };
61
+ /**
62
+ * Add Text Source tool
63
+ */
64
+ export const addTextSourceTool = {
65
+ name: 'add_text_source',
66
+ description: `Add text content as a source to a NotebookLM notebook.
67
+
68
+ Use this to add:
69
+ - Pasted text
70
+ - Notes
71
+ - Transcripts
72
+ - Any custom text content
73
+
74
+ The text will be indexed and available for Q&A and content generation.`,
75
+ inputSchema: {
76
+ type: 'object',
77
+ properties: {
78
+ notebook_id: {
79
+ type: 'string',
80
+ description: 'ID of the notebook to add the source to. If not provided, uses the active notebook.',
81
+ },
82
+ title: {
83
+ type: 'string',
84
+ description: 'Title for the text source (e.g., "Meeting Notes", "Research Summary").',
85
+ },
86
+ content: {
87
+ type: 'string',
88
+ description: 'The text content to add as a source.',
89
+ },
90
+ },
91
+ required: ['title', 'content'],
92
+ },
93
+ };
94
+ /**
95
+ * Add YouTube Source tool
96
+ */
97
+ export const addYouTubeSourceTool = {
98
+ name: 'add_youtube_source',
99
+ description: `Add a YouTube video as a source to a NotebookLM notebook.
100
+
101
+ The video's transcript will be extracted and added to the notebook.
102
+ This allows you to:
103
+ - Ask questions about video content
104
+ - Generate summaries of videos
105
+ - Create study materials from educational videos
106
+
107
+ Note: The video must have captions/subtitles available.`,
108
+ inputSchema: {
109
+ type: 'object',
110
+ properties: {
111
+ notebook_id: {
112
+ type: 'string',
113
+ description: 'ID of the notebook to add the source to. If not provided, uses the active notebook.',
114
+ },
115
+ youtube_url: {
116
+ type: 'string',
117
+ description: 'YouTube video URL (e.g., https://www.youtube.com/watch?v=... or https://youtu.be/...).',
118
+ },
119
+ },
120
+ required: ['youtube_url'],
121
+ },
122
+ };
123
+ /**
124
+ * Add Google Drive Source tool
125
+ */
126
+ export const addDriveSourceTool = {
127
+ name: 'add_drive_source',
128
+ description: `Add a Google Drive file as a source to a NotebookLM notebook.
129
+
130
+ Supported file types:
131
+ - Google Docs
132
+ - Google Slides
133
+ - Google Sheets
134
+ - PDF files
135
+ - Other supported formats
136
+
137
+ The file must be accessible to the authenticated Google account.`,
138
+ inputSchema: {
139
+ type: 'object',
140
+ properties: {
141
+ notebook_id: {
142
+ type: 'string',
143
+ description: 'ID of the notebook to add the source to. If not provided, uses the active notebook.',
144
+ },
145
+ file_id: {
146
+ type: 'string',
147
+ description: 'Google Drive file ID (found in the file URL: https://drive.google.com/file/d/FILE_ID/...).',
148
+ },
149
+ },
150
+ required: ['file_id'],
151
+ },
152
+ };
153
+ /**
154
+ * Delete Source tool
155
+ */
156
+ export const deleteSourceTool = {
157
+ name: 'delete_source',
158
+ description: `Delete a source from a NotebookLM notebook.
159
+
160
+ This permanently removes the source and its content from the notebook.
161
+ The source will no longer be available for:
162
+ - Q&A
163
+ - Content generation
164
+ - Audio overviews
165
+
166
+ Use list_sources first to get the source ID.`,
167
+ inputSchema: {
168
+ type: 'object',
169
+ properties: {
170
+ notebook_id: {
171
+ type: 'string',
172
+ description: 'ID of the notebook containing the source. If not provided, uses the active notebook.',
173
+ },
174
+ source_id: {
175
+ type: 'string',
176
+ description: 'ID of the source to delete (obtained from list_sources).',
177
+ },
178
+ },
179
+ required: ['source_id'],
180
+ },
181
+ };
182
+ /**
183
+ * Summarize Source tool
184
+ */
185
+ export const summarizeSourceTool = {
186
+ name: 'summarize_source',
187
+ description: `Get summary and metadata for a specific source in a notebook.
188
+
189
+ Returns:
190
+ - Source title
191
+ - Source type
192
+ - Creation date
193
+ - Status
194
+ - Basic metadata
195
+
196
+ For detailed content summaries, use the content generation tools (generate_briefing, etc.).`,
197
+ inputSchema: {
198
+ type: 'object',
199
+ properties: {
200
+ notebook_id: {
201
+ type: 'string',
202
+ description: 'ID of the notebook containing the source. If not provided, uses the active notebook.',
203
+ },
204
+ source_id: {
205
+ type: 'string',
206
+ description: 'ID of the source to summarize (obtained from list_sources).',
207
+ },
208
+ },
209
+ required: ['source_id'],
210
+ },
211
+ };
212
+ /**
213
+ * All source management tools
214
+ */
215
+ export const sourceManagementTools = [
216
+ listSourcesTool,
217
+ addURLSourceTool,
218
+ addTextSourceTool,
219
+ addYouTubeSourceTool,
220
+ addDriveSourceTool,
221
+ deleteSourceTool,
222
+ summarizeSourceTool,
223
+ ];
224
+ //# sourceMappingURL=source-management.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-management.js","sourceRoot":"","sources":["../../../src/tools/definitions/source-management.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Audio Studio Tool Definitions
3
+ *
4
+ * Defines MCP tools for managing audio overviews (podcast-style summaries)
5
+ * generated by NotebookLM's Audio Overview feature.
6
+ */
7
+ import type { Tool } from '@modelcontextprotocol/sdk/types.js';
8
+ /**
9
+ * Get Audio Status tool
10
+ */
11
+ export declare const getAudioStatusTool: Tool;
12
+ /**
13
+ * Create Audio tool
14
+ */
15
+ export declare const createAudioTool: Tool;
16
+ /**
17
+ * Update Audio tool
18
+ */
19
+ export declare const updateAudioTool: Tool;
20
+ /**
21
+ * Delete Audio tool
22
+ */
23
+ export declare const deleteAudioTool: Tool;
24
+ /**
25
+ * Download Audio tool
26
+ */
27
+ export declare const downloadAudioTool: Tool;
28
+ /**
29
+ * All audio studio tools
30
+ */
31
+ export declare const studioTools: Tool[];
32
+ /**
33
+ * Studio tool names for filtering
34
+ */
35
+ export declare const studioToolNames: string[];
36
+ //# sourceMappingURL=studio.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"studio.d.ts","sourceRoot":"","sources":["../../../src/tools/definitions/studio.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,IAiBhC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,IA2C7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,IAkC7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,IAiB7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,IAkB/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,IAAI,EAM7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,UAAiC,CAAC"}
@@ -0,0 +1,153 @@
1
+ /**
2
+ * Audio Studio Tool Definitions
3
+ *
4
+ * Defines MCP tools for managing audio overviews (podcast-style summaries)
5
+ * generated by NotebookLM's Audio Overview feature.
6
+ */
7
+ /**
8
+ * Get Audio Status tool
9
+ */
10
+ export const getAudioStatusTool = {
11
+ name: 'get_audio_status',
12
+ title: 'Get Audio Status',
13
+ description: 'Check the status of the audio overview for a notebook. ' +
14
+ 'Returns whether audio exists, is generating, or is ready to play.',
15
+ inputSchema: {
16
+ type: 'object',
17
+ properties: {
18
+ notebook_id: {
19
+ type: 'string',
20
+ description: 'The notebook ID to check audio status for. If not provided, uses the currently selected notebook.',
21
+ },
22
+ },
23
+ required: [],
24
+ },
25
+ };
26
+ /**
27
+ * Create Audio tool
28
+ */
29
+ export const createAudioTool = {
30
+ name: 'create_audio',
31
+ title: 'Create Audio Overview',
32
+ description: 'Generate a new audio overview (podcast-style summary) for a notebook. ' +
33
+ 'The audio is created by two AI hosts discussing the content. ' +
34
+ 'Generation takes a few minutes. Use get_audio_status to check progress.',
35
+ inputSchema: {
36
+ type: 'object',
37
+ properties: {
38
+ notebook_id: {
39
+ type: 'string',
40
+ description: 'The notebook ID to create audio for. If not provided, uses the currently selected notebook.',
41
+ },
42
+ custom_instructions: {
43
+ type: 'string',
44
+ description: 'Optional custom instructions for the audio generation. ' +
45
+ 'Example: "Focus on the main arguments" or "Explain concepts for beginners".',
46
+ },
47
+ focus_topics: {
48
+ type: 'array',
49
+ items: { type: 'string' },
50
+ description: 'Optional list of topics to focus on in the audio.',
51
+ },
52
+ target_audience: {
53
+ type: 'string',
54
+ enum: ['general', 'expert', 'student'],
55
+ description: 'Target audience for the audio. Affects tone and complexity. ' +
56
+ 'Default is "general".',
57
+ },
58
+ wait_for_completion: {
59
+ type: 'boolean',
60
+ description: 'If true, wait for audio generation to complete before returning. ' +
61
+ 'Default is false (returns immediately after starting generation).',
62
+ },
63
+ },
64
+ required: [],
65
+ },
66
+ };
67
+ /**
68
+ * Update Audio tool
69
+ */
70
+ export const updateAudioTool = {
71
+ name: 'update_audio',
72
+ title: 'Update Audio Overview',
73
+ description: 'Re-generate the audio overview with new instructions. ' +
74
+ 'This deletes the existing audio and creates a new one.',
75
+ inputSchema: {
76
+ type: 'object',
77
+ properties: {
78
+ notebook_id: {
79
+ type: 'string',
80
+ description: 'The notebook ID to update audio for. If not provided, uses the currently selected notebook.',
81
+ },
82
+ custom_instructions: {
83
+ type: 'string',
84
+ description: 'New custom instructions for the audio generation.',
85
+ },
86
+ focus_topics: {
87
+ type: 'array',
88
+ items: { type: 'string' },
89
+ description: 'New list of topics to focus on.',
90
+ },
91
+ target_audience: {
92
+ type: 'string',
93
+ enum: ['general', 'expert', 'student'],
94
+ description: 'New target audience for the audio.',
95
+ },
96
+ },
97
+ required: [],
98
+ },
99
+ };
100
+ /**
101
+ * Delete Audio tool
102
+ */
103
+ export const deleteAudioTool = {
104
+ name: 'delete_audio',
105
+ title: 'Delete Audio Overview',
106
+ description: 'Delete the audio overview for a notebook. ' +
107
+ 'This permanently removes the generated audio.',
108
+ inputSchema: {
109
+ type: 'object',
110
+ properties: {
111
+ notebook_id: {
112
+ type: 'string',
113
+ description: 'The notebook ID to delete audio for. If not provided, uses the currently selected notebook.',
114
+ },
115
+ },
116
+ required: [],
117
+ },
118
+ };
119
+ /**
120
+ * Download Audio tool
121
+ */
122
+ export const downloadAudioTool = {
123
+ name: 'download_audio',
124
+ title: 'Get Audio Download URL',
125
+ description: 'Get the download URL for the audio overview. ' +
126
+ 'Returns a URL that can be used to download or play the audio file. ' +
127
+ 'The URL is temporary and may expire.',
128
+ inputSchema: {
129
+ type: 'object',
130
+ properties: {
131
+ notebook_id: {
132
+ type: 'string',
133
+ description: 'The notebook ID to get audio URL for. If not provided, uses the currently selected notebook.',
134
+ },
135
+ },
136
+ required: [],
137
+ },
138
+ };
139
+ /**
140
+ * All audio studio tools
141
+ */
142
+ export const studioTools = [
143
+ getAudioStatusTool,
144
+ createAudioTool,
145
+ updateAudioTool,
146
+ deleteAudioTool,
147
+ downloadAudioTool,
148
+ ];
149
+ /**
150
+ * Studio tool names for filtering
151
+ */
152
+ export const studioToolNames = studioTools.map((t) => t.name);
153
+ //# sourceMappingURL=studio.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"studio.js","sourceRoot":"","sources":["../../../src/tools/definitions/studio.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Tool } from "@modelcontextprotocol/sdk/types.js";
2
+ export declare const systemTools: Tool[];
3
+ //# sourceMappingURL=system.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../../src/tools/definitions/system.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAE1D,eAAO,MAAM,WAAW,EAAE,IAAI,EAuJ7B,CAAC"}
@@ -0,0 +1,143 @@
1
+ export const systemTools = [
2
+ {
3
+ name: "get_health",
4
+ description: "Get server health status including authentication state, active sessions, and configuration. " +
5
+ "Use this to verify the server is ready before starting research workflows.\n\n" +
6
+ "If authenticated=false and having persistent issues:\n" +
7
+ "Consider running cleanup_data(preserve_library=true) + setup_auth for fresh start with clean browser session.",
8
+ inputSchema: {
9
+ type: "object",
10
+ properties: {},
11
+ },
12
+ },
13
+ {
14
+ name: "setup_auth",
15
+ description: "Google authentication for NotebookLM access - opens a browser window for manual login to your Google account. " +
16
+ "Returns immediately after opening the browser. You have up to 10 minutes to complete the login. " +
17
+ "Use 'get_health' tool afterwards to verify authentication was saved successfully. " +
18
+ "Use this for first-time authentication or when auto-login credentials are not available. " +
19
+ "For switching accounts or rate-limit workarounds, use 're_auth' tool instead.\n\n" +
20
+ "TROUBLESHOOTING for persistent auth issues:\n" +
21
+ "If setup_auth fails or you encounter browser/session issues:\n" +
22
+ "1. Ask user to close ALL Chrome/Chromium instances\n" +
23
+ "2. Run cleanup_data(confirm=true, preserve_library=true) to clean old data\n" +
24
+ "3. Run setup_auth again for fresh start\n" +
25
+ "This helps resolve conflicts from old browser sessions and installation data.",
26
+ inputSchema: {
27
+ type: "object",
28
+ properties: {
29
+ show_browser: {
30
+ type: "boolean",
31
+ description: "Show browser window (simple version). Default: true for setup. " +
32
+ "For advanced control, use browser_options instead.",
33
+ },
34
+ browser_options: {
35
+ type: "object",
36
+ description: "Optional browser settings. Control visibility, timeouts, and stealth behavior.",
37
+ properties: {
38
+ show: {
39
+ type: "boolean",
40
+ description: "Show browser window (default: true for setup)",
41
+ },
42
+ headless: {
43
+ type: "boolean",
44
+ description: "Run browser in headless mode (default: false for setup)",
45
+ },
46
+ timeout_ms: {
47
+ type: "number",
48
+ description: "Browser operation timeout in milliseconds (default: 30000)",
49
+ },
50
+ },
51
+ },
52
+ },
53
+ },
54
+ },
55
+ {
56
+ name: "re_auth",
57
+ description: "Switch to a different Google account or re-authenticate. " +
58
+ "Use this when:\n" +
59
+ "- NotebookLM rate limit is reached (50 queries/day for free accounts)\n" +
60
+ "- You want to switch to a different Google account\n" +
61
+ "- Authentication is broken and needs a fresh start\n\n" +
62
+ "This will:\n" +
63
+ "1. Close all active browser sessions\n" +
64
+ "2. Delete all saved authentication data (cookies, Chrome profile)\n" +
65
+ "3. Open browser for fresh Google login\n\n" +
66
+ "After completion, use 'get_health' to verify authentication.\n\n" +
67
+ "TROUBLESHOOTING for persistent auth issues:\n" +
68
+ "If re_auth fails repeatedly:\n" +
69
+ "1. Ask user to close ALL Chrome/Chromium instances\n" +
70
+ "2. Run cleanup_data(confirm=false, preserve_library=true) to preview old files\n" +
71
+ "3. Run cleanup_data(confirm=true, preserve_library=true) to clean everything except library\n" +
72
+ "4. Run re_auth again for completely fresh start\n" +
73
+ "This removes old installation data and browser sessions that can cause conflicts.",
74
+ inputSchema: {
75
+ type: "object",
76
+ properties: {
77
+ show_browser: {
78
+ type: "boolean",
79
+ description: "Show browser window (simple version). Default: true for re-auth. " +
80
+ "For advanced control, use browser_options instead.",
81
+ },
82
+ browser_options: {
83
+ type: "object",
84
+ description: "Optional browser settings. Control visibility, timeouts, and stealth behavior.",
85
+ properties: {
86
+ show: {
87
+ type: "boolean",
88
+ description: "Show browser window (default: true for re-auth)",
89
+ },
90
+ headless: {
91
+ type: "boolean",
92
+ description: "Run browser in headless mode (default: false for re-auth)",
93
+ },
94
+ timeout_ms: {
95
+ type: "number",
96
+ description: "Browser operation timeout in milliseconds (default: 30000)",
97
+ },
98
+ },
99
+ },
100
+ },
101
+ },
102
+ },
103
+ {
104
+ name: "cleanup_data",
105
+ description: "ULTRATHINK Deep Cleanup - Scans entire system for ALL NotebookLM MCP data files across 8 categories. Always runs in deep mode, shows categorized preview before deletion.\n\n" +
106
+ "⚠️ CRITICAL: Close ALL Chrome/Chromium instances BEFORE running this tool! Open browsers can prevent cleanup and cause issues.\n\n" +
107
+ "Categories scanned:\n" +
108
+ "1. Legacy Installation (notebooklm-mcp-nodejs) - Old paths with -nodejs suffix\n" +
109
+ "2. Current Installation (notebooklm-mcp) - Active data, browser profiles, library\n" +
110
+ "3. NPM/NPX Cache - Cached installations from npx\n" +
111
+ "4. Claude CLI MCP Logs - MCP server logs from Claude CLI\n" +
112
+ "5. Temporary Backups - Backup directories in system temp\n" +
113
+ "6. Claude Projects Cache - Project-specific cache (optional)\n" +
114
+ "7. Editor Logs (Cursor/VSCode) - MCP logs from code editors (optional)\n" +
115
+ "8. Trash Files - Deleted notebooklm files in system trash (optional)\n\n" +
116
+ "Works cross-platform (Linux, Windows, macOS). Safe by design: shows detailed preview before deletion, requires explicit confirmation.\n\n" +
117
+ "LIBRARY PRESERVATION: Set preserve_library=true to keep your notebook library.json file while cleaning everything else.\n\n" +
118
+ "RECOMMENDED WORKFLOW for fresh start:\n" +
119
+ "1. Ask user to close ALL Chrome/Chromium instances\n" +
120
+ "2. Run cleanup_data(confirm=false, preserve_library=true) to preview\n" +
121
+ "3. Run cleanup_data(confirm=true, preserve_library=true) to execute\n" +
122
+ "4. Run setup_auth or re_auth for fresh browser session\n\n" +
123
+ "Use cases: Clean reinstall, troubleshooting auth issues, removing all traces before uninstall, cleaning old browser sessions and installation data.",
124
+ inputSchema: {
125
+ type: "object",
126
+ properties: {
127
+ confirm: {
128
+ type: "boolean",
129
+ description: "Confirmation flag. Tool shows preview first, then user confirms deletion. " +
130
+ "Set to true only after user has reviewed the preview and explicitly confirmed.",
131
+ },
132
+ preserve_library: {
133
+ type: "boolean",
134
+ description: "Preserve library.json file during cleanup. Default: false. " +
135
+ "Set to true to keep your notebook library while deleting everything else (browser data, caches, logs).",
136
+ default: false,
137
+ },
138
+ },
139
+ required: ["confirm"],
140
+ },
141
+ },
142
+ ];
143
+ //# sourceMappingURL=system.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system.js","sourceRoot":"","sources":["../../../src/tools/definitions/system.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * MCP Tool Definitions
3
+ *
4
+ * Aggregates tool definitions from sub-modules.
5
+ */
6
+ import { Tool } from "@modelcontextprotocol/sdk/types.js";
7
+ import { NotebookLibrary } from "../library/notebook-library.js";
8
+ /**
9
+ * Build Tool Definitions with NotebookLibrary context
10
+ */
11
+ export declare function buildToolDefinitions(library: NotebookLibrary): Tool[];
12
+ //# sourceMappingURL=definitions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/tools/definitions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAcjE;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,EAAE,CAkBrE"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * MCP Tool Definitions
3
+ *
4
+ * Aggregates tool definitions from sub-modules.
5
+ */
6
+ import { askQuestionTool, buildAskQuestionDescription, } from "./definitions/ask-question.js";
7
+ import { notebookManagementTools } from "./definitions/notebook-management.js";
8
+ import { sessionManagementTools } from "./definitions/session-management.js";
9
+ import { systemTools } from "./definitions/system.js";
10
+ import { contentGenerationTools } from "./definitions/content-generation.js";
11
+ import { studioTools } from "./definitions/studio.js";
12
+ import { sourceManagementTools } from "./definitions/source-management.js";
13
+ import { researchTools } from "./definitions/research.js";
14
+ import { notebookCRUDTools } from "./definitions/notebook-crud.js";
15
+ /**
16
+ * Build Tool Definitions with NotebookLibrary context
17
+ */
18
+ export function buildToolDefinitions(library) {
19
+ // Update the description for ask_question based on the library state
20
+ const dynamicAskQuestionTool = {
21
+ ...askQuestionTool,
22
+ description: buildAskQuestionDescription(library),
23
+ };
24
+ return [
25
+ dynamicAskQuestionTool,
26
+ ...notebookManagementTools,
27
+ ...notebookCRUDTools,
28
+ ...sessionManagementTools,
29
+ ...systemTools,
30
+ ...contentGenerationTools,
31
+ ...studioTools,
32
+ ...sourceManagementTools,
33
+ ...researchTools,
34
+ ];
35
+ }
36
+ //# sourceMappingURL=definitions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/tools/definitions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EACL,eAAe,EACf,2BAA2B,GAC5B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAEnE;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAwB;IAC3D,qEAAqE;IACrE,MAAM,sBAAsB,GAAG;QAC7B,GAAG,eAAe;QAClB,WAAW,EAAE,2BAA2B,CAAC,OAAO,CAAC;KAClD,CAAC;IAEF,OAAO;QACL,sBAAsB;QACtB,GAAG,uBAAuB;QAC1B,GAAG,iBAAiB;QACpB,GAAG,sBAAsB;QACzB,GAAG,WAAW;QACd,GAAG,sBAAsB;QACzB,GAAG,WAAW;QACd,GAAG,qBAAqB;QACxB,GAAG,aAAa;KACjB,CAAC;AACJ,CAAC"}