@pan-sec/notebooklm-mcp 2026.1.5 → 2026.1.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/README.md CHANGED
@@ -580,9 +580,106 @@ Add to `~/.cursor/mcp.json`:
580
580
  ```
581
581
  </details>
582
582
 
583
+ <details>
584
+ <summary>Google Antigravity</summary>
585
+
586
+ Add to `~/.gemini/antigravity/mcp_config.json` (macOS/Linux) or `%USERPROFILE%\.gemini\antigravity\mcp_config.json` (Windows):
587
+ ```json
588
+ {
589
+ "mcpServers": {
590
+ "notebooklm": {
591
+ "command": "npx",
592
+ "args": ["-y", "@pan-sec/notebooklm-mcp@latest"]
593
+ }
594
+ }
595
+ }
596
+ ```
597
+
598
+ With optional env vars:
599
+ ```json
600
+ {
601
+ "mcpServers": {
602
+ "notebooklm": {
603
+ "command": "npx",
604
+ "args": ["-y", "@pan-sec/notebooklm-mcp@latest"],
605
+ "env": {
606
+ "GEMINI_API_KEY": "your-gemini-api-key"
607
+ }
608
+ }
609
+ }
610
+ }
611
+ ```
612
+
613
+ > **Note:** Antigravity does NOT support `${workspaceFolder}` variables. Use absolute paths.
614
+ </details>
615
+
616
+ <details>
617
+ <summary>OpenCode</summary>
618
+
619
+ Add to `~/.config/opencode/opencode.json` (global) or `opencode.json` in project root:
620
+ ```json
621
+ {
622
+ "$schema": "https://opencode.ai/config.json",
623
+ "mcp": {
624
+ "notebooklm": {
625
+ "type": "local",
626
+ "command": ["npx", "-y", "@pan-sec/notebooklm-mcp@latest"],
627
+ "enabled": true,
628
+ "environment": {
629
+ "GEMINI_API_KEY": "your-gemini-api-key"
630
+ }
631
+ }
632
+ }
633
+ }
634
+ ```
635
+
636
+ > **Note:** OpenCode uses `"mcp"` (not `"mcpServers"`) and `"command"` is an array.
637
+ </details>
638
+
639
+ <details>
640
+ <summary>Windsurf</summary>
641
+
642
+ Add to `~/.codeium/windsurf/mcp_config.json`:
643
+ ```json
644
+ {
645
+ "mcpServers": {
646
+ "notebooklm": {
647
+ "command": "npx",
648
+ "args": ["-y", "@pan-sec/notebooklm-mcp@latest"],
649
+ "env": {
650
+ "GEMINI_API_KEY": "your-gemini-api-key"
651
+ }
652
+ }
653
+ }
654
+ }
655
+ ```
656
+ </details>
657
+
658
+ <details>
659
+ <summary>VS Code + Copilot</summary>
660
+
661
+ Add to your VS Code `settings.json`:
662
+ ```json
663
+ {
664
+ "mcp": {
665
+ "servers": {
666
+ "notebooklm": {
667
+ "command": "npx",
668
+ "args": ["-y", "@pan-sec/notebooklm-mcp@latest"],
669
+ "env": {
670
+ "GEMINI_API_KEY": "your-gemini-api-key"
671
+ }
672
+ }
673
+ }
674
+ }
675
+ }
676
+ ```
677
+ </details>
678
+
583
679
  <details>
584
680
  <summary>Other MCP Clients</summary>
585
681
 
682
+ Most MCP clients use this standard format:
586
683
  ```json
587
684
  {
588
685
  "mcpServers": {
@@ -590,14 +687,21 @@ Add to `~/.cursor/mcp.json`:
590
687
  "command": "npx",
591
688
  "args": ["-y", "@pan-sec/notebooklm-mcp@latest"],
592
689
  "env": {
593
- "NLMCP_AUTH_ENABLED": "true",
594
- "NLMCP_AUTH_TOKEN": "your-secure-token",
595
690
  "GEMINI_API_KEY": "your-gemini-api-key"
596
691
  }
597
692
  }
598
693
  }
599
694
  }
600
695
  ```
696
+
697
+ **Common config locations:**
698
+ | Client | Config File |
699
+ |--------|-------------|
700
+ | Claude Desktop | `~/.config/claude/claude_desktop_config.json` |
701
+ | Cursor | `~/.cursor/mcp.json` |
702
+ | Antigravity | `~/.gemini/antigravity/mcp_config.json` |
703
+ | OpenCode | `~/.config/opencode/opencode.json` |
704
+ | Windsurf | `~/.codeium/windsurf/mcp_config.json` |
601
705
  </details>
602
706
 
603
707
  ---
@@ -1 +1 @@
1
- {"version":3,"file":"resource-handlers.d.ts","sourceRoot":"","sources":["../../src/resources/resource-handlers.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAGjE;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,OAAO,CAAkB;gBAErB,OAAO,EAAE,eAAe;IAIpC;;OAEG;IACI,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAkN7C;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAS3B;;OAEG;IACH,OAAO,CAAC,eAAe;CAQxB"}
1
+ {"version":3,"file":"resource-handlers.d.ts","sourceRoot":"","sources":["../../src/resources/resource-handlers.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAExE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAqBjE;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,OAAO,CAAkB;gBAErB,OAAO,EAAE,eAAe;IAIpC;;OAEG;IACI,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAwc7C;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAS3B;;OAEG;IACH,OAAO,CAAC,eAAe;CAQxB"}
@@ -1,5 +1,21 @@
1
- import { ListResourcesRequestSchema, ListResourceTemplatesRequestSchema, ReadResourceRequestSchema, CompleteRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
1
+ import { ListResourcesRequestSchema, ListResourceTemplatesRequestSchema, ReadResourceRequestSchema, CompleteRequestSchema, ListPromptsRequestSchema, GetPromptRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
2
2
  import { log } from "../utils/logger.js";
3
+ /**
4
+ * Create an SVG icon data URI
5
+ */
6
+ function svgIcon(svg) {
7
+ const encoded = Buffer.from(svg).toString("base64");
8
+ return {
9
+ src: `data:image/svg+xml;base64,${encoded}`,
10
+ mimeType: "image/svg+xml",
11
+ };
12
+ }
13
+ // Resource icons
14
+ const ICONS = {
15
+ library: svgIcon(`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 19.5A2.5 2.5 0 0 1 6.5 17H20"/><path d="M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"/></svg>`),
16
+ notebook: svgIcon(`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z"/><path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z"/></svg>`),
17
+ metadata: svgIcon(`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><line x1="12" y1="16" x2="12" y2="12"/><line x1="12" y1="8" x2="12.01" y2="8"/></svg>`),
18
+ };
3
19
  /**
4
20
  * Handlers for MCP Resource-related requests
5
21
  */
@@ -12,7 +28,7 @@ export class ResourceHandlers {
12
28
  * Register all resource handlers to the server
13
29
  */
14
30
  registerHandlers(server) {
15
- // List available resources
31
+ // List available resources (enhanced with icons and annotations)
16
32
  server.setRequestHandler(ListResourcesRequestSchema, async () => {
17
33
  log.info("📚 [MCP] list_resources request received");
18
34
  const notebooks = this.library.listNotebooks();
@@ -20,12 +36,18 @@ export class ResourceHandlers {
20
36
  {
21
37
  uri: "notebooklm://library",
22
38
  name: "Notebook Library",
39
+ title: "NotebookLM Library",
23
40
  description: "Complete notebook library with all available knowledge sources. " +
24
41
  "Read this to discover what notebooks are available. " +
25
42
  "⚠️ If you think a notebook might help with the user's task, " +
26
43
  "ASK THE USER FOR PERMISSION before consulting it: " +
27
44
  "'Should I consult the [notebook] for this task?'",
28
45
  mimeType: "application/json",
46
+ icons: [ICONS.library],
47
+ annotations: {
48
+ audience: ["assistant"],
49
+ priority: 1.0, // High priority - main entry point
50
+ },
29
51
  },
30
52
  ];
31
53
  // Add individual notebook resources
@@ -33,9 +55,16 @@ export class ResourceHandlers {
33
55
  resources.push({
34
56
  uri: `notebooklm://library/${notebook.id}`,
35
57
  name: notebook.name,
58
+ title: notebook.name,
36
59
  description: `${notebook.description} | Topics: ${notebook.topics.join(", ")} | ` +
37
60
  `💡 Use ask_question to query this notebook (ask user permission first if task isn't explicitly about these topics)`,
38
61
  mimeType: "application/json",
62
+ icons: [ICONS.notebook],
63
+ annotations: {
64
+ audience: ["assistant"],
65
+ priority: 0.8,
66
+ ...(notebook.last_used && { lastModified: notebook.last_used }),
67
+ },
39
68
  });
40
69
  }
41
70
  // Add legacy metadata resource for backwards compatibility
@@ -44,10 +73,16 @@ export class ResourceHandlers {
44
73
  resources.push({
45
74
  uri: "notebooklm://metadata",
46
75
  name: "Active Notebook Metadata (Legacy)",
76
+ title: "Active Notebook (Legacy)",
47
77
  description: "Information about the currently active notebook. " +
48
78
  "DEPRECATED: Use notebooklm://library instead for multi-notebook support. " +
49
79
  "⚠️ Always ask user permission before using notebooks for tasks they didn't explicitly mention.",
50
80
  mimeType: "application/json",
81
+ icons: [ICONS.metadata],
82
+ annotations: {
83
+ audience: ["assistant"],
84
+ priority: 0.3, // Low priority - deprecated
85
+ },
51
86
  });
52
87
  }
53
88
  return { resources };
@@ -189,6 +224,221 @@ export class ResourceHandlers {
189
224
  }
190
225
  return { completion: { values: [], total: 0 } };
191
226
  });
227
+ // List available prompts
228
+ server.setRequestHandler(ListPromptsRequestSchema, async () => {
229
+ log.info("📝 [MCP] list_prompts request received");
230
+ return {
231
+ prompts: [
232
+ {
233
+ name: "notebooklm.auth-setup",
234
+ description: "Guide for initial Google authentication setup for NotebookLM access. " +
235
+ "Use this when the user needs to authenticate for the first time.",
236
+ arguments: [],
237
+ },
238
+ {
239
+ name: "notebooklm.auth-repair",
240
+ description: "Troubleshooting guide for authentication issues. " +
241
+ "Use this when authentication fails or cookies have expired.",
242
+ arguments: [],
243
+ },
244
+ {
245
+ name: "notebooklm.quick-start",
246
+ description: "Quick start guide for NotebookLM MCP. " +
247
+ "Explains how to add notebooks, query them, and manage sessions.",
248
+ arguments: [],
249
+ },
250
+ {
251
+ name: "notebooklm.security-overview",
252
+ description: "Overview of security features in this hardened MCP server. " +
253
+ "Includes GDPR compliance, audit logging, and post-quantum encryption details.",
254
+ arguments: [],
255
+ },
256
+ ],
257
+ };
258
+ });
259
+ // Get prompt content
260
+ server.setRequestHandler(GetPromptRequestSchema, async (request) => {
261
+ const { name } = request.params;
262
+ log.info(`📝 [MCP] get_prompt request: ${name}`);
263
+ switch (name) {
264
+ case "notebooklm.auth-setup":
265
+ return {
266
+ description: "Initial authentication setup guide",
267
+ messages: [
268
+ {
269
+ role: "user",
270
+ content: {
271
+ type: "text",
272
+ text: `# NotebookLM Authentication Setup
273
+
274
+ To authenticate with NotebookLM:
275
+
276
+ 1. **Run the setup_auth tool** - This opens a browser window for Google login
277
+ 2. **Complete Google login** - You have up to 10 minutes to log in
278
+ 3. **Verify with get_health** - Check that authentication was saved successfully
279
+
280
+ \`\`\`
281
+ // Step 1: Start auth
282
+ setup_auth({ show_browser: true })
283
+
284
+ // Step 2: Complete login in browser...
285
+
286
+ // Step 3: Verify
287
+ get_health({ deep_check: true })
288
+ \`\`\`
289
+
290
+ **Tips:**
291
+ - Close all Chrome/Chromium instances before starting
292
+ - Use re_auth if you need to switch accounts
293
+ - Use cleanup_data if you have persistent issues`,
294
+ },
295
+ },
296
+ ],
297
+ };
298
+ case "notebooklm.auth-repair":
299
+ return {
300
+ description: "Authentication troubleshooting guide",
301
+ messages: [
302
+ {
303
+ role: "user",
304
+ content: {
305
+ type: "text",
306
+ text: `# NotebookLM Authentication Repair
307
+
308
+ If authentication is failing:
309
+
310
+ ## Quick Fix
311
+ \`\`\`
312
+ // Check current status
313
+ get_health({ deep_check: true })
314
+
315
+ // If cookies expired, re-authenticate
316
+ re_auth({ show_browser: true })
317
+ \`\`\`
318
+
319
+ ## Full Reset (if quick fix fails)
320
+ \`\`\`
321
+ // 1. Close ALL Chrome/Chromium instances first!
322
+
323
+ // 2. Preview cleanup
324
+ cleanup_data({ confirm: false, preserve_library: true })
325
+
326
+ // 3. Execute cleanup
327
+ cleanup_data({ confirm: true, preserve_library: true })
328
+
329
+ // 4. Fresh authentication
330
+ setup_auth({ show_browser: true })
331
+
332
+ // 5. Verify
333
+ get_health({ deep_check: true })
334
+ \`\`\`
335
+
336
+ **Common Issues:**
337
+ - Rate limit hit (50 queries/day free) → re_auth to switch accounts
338
+ - Stale browser session → cleanup_data + setup_auth
339
+ - Cookies expired → re_auth`,
340
+ },
341
+ },
342
+ ],
343
+ };
344
+ case "notebooklm.quick-start":
345
+ return {
346
+ description: "Quick start guide for NotebookLM MCP",
347
+ messages: [
348
+ {
349
+ role: "user",
350
+ content: {
351
+ type: "text",
352
+ text: `# NotebookLM MCP Quick Start
353
+
354
+ ## 1. Add a Notebook
355
+ \`\`\`
356
+ add_notebook({
357
+ url: "https://notebooklm.google.com/notebook/...",
358
+ name: "My Documentation",
359
+ description: "API docs and examples",
360
+ topics: ["api", "documentation"]
361
+ })
362
+ \`\`\`
363
+
364
+ ## 2. Query Your Notebook
365
+ \`\`\`
366
+ // Start a new session
367
+ ask_question({ question: "How do I use the API?" })
368
+ // Returns session_id
369
+
370
+ // Continue conversation
371
+ ask_question({
372
+ question: "Show me an example",
373
+ session_id: "..."
374
+ })
375
+ \`\`\`
376
+
377
+ ## 3. Manage Library
378
+ \`\`\`
379
+ list_notebooks() // See all notebooks
380
+ select_notebook(...) // Set active notebook
381
+ search_notebooks(...) // Find notebooks by topic
382
+ \`\`\`
383
+
384
+ ## 4. Direct Gemini Queries
385
+ \`\`\`
386
+ // Quick query with web grounding
387
+ gemini_query({
388
+ query: "Latest news about...",
389
+ tools: ["google_search"]
390
+ })
391
+
392
+ // Deep research (1-5 min)
393
+ deep_research({ query: "Comprehensive analysis of..." })
394
+ \`\`\``,
395
+ },
396
+ },
397
+ ],
398
+ };
399
+ case "notebooklm.security-overview":
400
+ return {
401
+ description: "Security features overview",
402
+ messages: [
403
+ {
404
+ role: "user",
405
+ content: {
406
+ type: "text",
407
+ text: `# NotebookLM MCP Security Features
408
+
409
+ This is a security-hardened fork with 14 security layers:
410
+
411
+ ## Core Security
412
+ - **Input Validation** - Zod schemas for all inputs
413
+ - **URL Whitelisting** - Only approved domains
414
+ - **Rate Limiting** - Abuse prevention
415
+ - **Session Timeout** - Auto-expire idle sessions
416
+
417
+ ## Data Protection
418
+ - **Post-Quantum Encryption** - ML-KEM-768 + ChaCha20-Poly1305
419
+ - **Secrets Scanning** - Detect leaked credentials
420
+ - **Memory Scrubbing** - Secure data cleanup
421
+ - **Credential Masking** - Hide sensitive data in logs
422
+
423
+ ## Enterprise Compliance
424
+ - **GDPR** - Consent management, data portability, right to erasure
425
+ - **SOC2** - Hash-chained audit logs, change management
426
+ - **CSSF** - 7-year retention, SIEM integration
427
+
428
+ ## Monitoring
429
+ - **Audit Logging** - Tamper-evident hash chains
430
+ - **Certificate Pinning** - Prevent MITM attacks
431
+ - **Response Validation** - Detect injection attempts
432
+
433
+ Use \`get_health()\` to check security status.`,
434
+ },
435
+ },
436
+ ],
437
+ };
438
+ default:
439
+ throw new Error(`Unknown prompt: ${name}`);
440
+ }
441
+ });
192
442
  }
193
443
  /**
194
444
  * Return notebook IDs matching the provided input (case-insensitive contains)
@@ -1 +1 @@
1
- {"version":3,"file":"resource-handlers.js","sourceRoot":"","sources":["../../src/resources/resource-handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resource-handlers.js","sourceRoot":"","sources":["../../src/resources/resource-handlers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Tool Annotations for MCP UX Enhancement
3
+ *
4
+ * Annotations provide hints about tool behavior to help clients make better decisions.
5
+ *
6
+ * @see https://modelcontextprotocol.io/specification/draft/2025-03-26/server/tools#annotations
7
+ */
8
+ import type { ToolAnnotations, ToolExecution } from "@modelcontextprotocol/sdk/types.js";
9
+ /**
10
+ * Tool metadata including title, annotations, and execution hints
11
+ */
12
+ export interface ToolMetadata {
13
+ /** Human-friendly title for the tool */
14
+ title: string;
15
+ /** Behavior hints for the client */
16
+ annotations?: ToolAnnotations;
17
+ /** Execution configuration (e.g., task support) */
18
+ execution?: ToolExecution;
19
+ }
20
+ /**
21
+ * Tool metadata mapped to tool names
22
+ */
23
+ export declare const toolMetadata: Record<string, ToolMetadata>;
24
+ /**
25
+ * Get metadata for a tool by name
26
+ */
27
+ export declare function getToolMetadata(toolName: string): ToolMetadata | undefined;
28
+ //# sourceMappingURL=annotations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"annotations.d.ts","sourceRoot":"","sources":["../../src/tools/annotations.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAEzF;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,wCAAwC;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,mDAAmD;IACnD,SAAS,CAAC,EAAE,aAAa,CAAC;CAC3B;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAsdrD,CAAC;AAEF;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAE1E"}