@pan-sec/notebooklm-mcp 2026.1.6 → 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.
@@ -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":"AAAA,OAAO,EACL,0BAA0B,EAC1B,kCAAkC,EAClC,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,oCAAoC,CAAC;AAG5C,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAEzC;;GAEG;AACH,MAAM,OAAO,gBAAgB;IACnB,OAAO,CAAkB;IAEjC,YAAY,OAAwB;QAClC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;OAEG;IACI,gBAAgB,CAAC,MAAc;QACpC,2BAA2B;QAC3B,MAAM,CAAC,iBAAiB,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;YAC9D,GAAG,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;YAErD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAC/C,MAAM,SAAS,GAAU;gBACvB;oBACE,GAAG,EAAE,sBAAsB;oBAC3B,IAAI,EAAE,kBAAkB;oBACxB,WAAW,EACT,kEAAkE;wBAClE,sDAAsD;wBACtD,8DAA8D;wBAC9D,oDAAoD;wBACpD,kDAAkD;oBACpD,QAAQ,EAAE,kBAAkB;iBAC7B;aACF,CAAC;YAEF,oCAAoC;YACpC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBACjC,SAAS,CAAC,IAAI,CAAC;oBACb,GAAG,EAAE,wBAAwB,QAAQ,CAAC,EAAE,EAAE;oBAC1C,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,WAAW,EACT,GAAG,QAAQ,CAAC,WAAW,cAAc,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;wBACpE,oHAAoH;oBACtH,QAAQ,EAAE,kBAAkB;iBAC7B,CAAC,CAAC;YACL,CAAC;YAED,2DAA2D;YAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;YAChD,IAAI,MAAM,EAAE,CAAC;gBACX,SAAS,CAAC,IAAI,CAAC;oBACb,GAAG,EAAE,uBAAuB;oBAC5B,IAAI,EAAE,mCAAmC;oBACzC,WAAW,EACT,mDAAmD;wBACnD,2EAA2E;wBAC3E,gGAAgG;oBAClG,QAAQ,EAAE,kBAAkB;iBAC7B,CAAC,CAAC;YACL,CAAC;YAED,OAAO,EAAE,SAAS,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;QAEH,0BAA0B;QAC1B,MAAM,CAAC,iBAAiB,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;YACtE,GAAG,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;YAE9D,OAAO;gBACL,iBAAiB,EAAE;oBACjB;wBACE,WAAW,EAAE,2BAA2B;wBACxC,IAAI,EAAE,gBAAgB;wBACtB,WAAW,EACT,sDAAsD;4BACtD,mGAAmG;4BACnG,6EAA6E;wBAC/E,QAAQ,EAAE,kBAAkB;qBAC7B;iBACF;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,wBAAwB;QACxB,MAAM,CAAC,iBAAiB,CAAC,yBAAyB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACpE,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;YAC/B,GAAG,CAAC,IAAI,CAAC,mCAAmC,GAAG,EAAE,CAAC,CAAC;YAEnD,0BAA0B;YAC1B,IAAI,GAAG,KAAK,sBAAsB,EAAE,CAAC;gBACnC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;gBAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACtC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;gBAEhD,MAAM,WAAW,GAAG;oBAClB,eAAe,EAAE,MAAM;wBACrB,CAAC,CAAC;4BACE,EAAE,EAAE,MAAM,CAAC,EAAE;4BACb,IAAI,EAAE,MAAM,CAAC,IAAI;4BACjB,WAAW,EAAE,MAAM,CAAC,WAAW;4BAC/B,MAAM,EAAE,MAAM,CAAC,MAAM;yBACtB;wBACH,CAAC,CAAC,IAAI;oBACR,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;wBAChC,EAAE,EAAE,EAAE,CAAC,EAAE;wBACT,IAAI,EAAE,EAAE,CAAC,IAAI;wBACb,WAAW,EAAE,EAAE,CAAC,WAAW;wBAC3B,MAAM,EAAE,EAAE,CAAC,MAAM;wBACjB,aAAa,EAAE,EAAE,CAAC,aAAa;wBAC/B,SAAS,EAAE,EAAE,CAAC,SAAS;wBACvB,GAAG,EAAE,EAAE,CAAC,GAAG;wBACX,SAAS,EAAE,EAAE,CAAC,SAAS;wBACvB,SAAS,EAAE,EAAE,CAAC,SAAS;wBACvB,IAAI,EAAE,EAAE,CAAC,IAAI;qBACd,CAAC,CAAC;oBACH,KAAK;iBACN,CAAC;gBAEF,OAAO;oBACL,QAAQ,EAAE;wBACR;4BACE,GAAG;4BACH,QAAQ,EAAE,kBAAkB;4BAC5B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;yBAC3C;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,sCAAsC;YACtC,IAAI,GAAG,CAAC,UAAU,CAAC,uBAAuB,CAAC,EAAE,CAAC;gBAC5C,MAAM,MAAM,GAAG,uBAAuB,CAAC;gBACvC,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC3C,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,MAAM,IAAI,KAAK,CACb,mEAAmE,CACpE,CAAC;gBACJ,CAAC;gBAED,IAAI,EAAU,CAAC;gBACf,IAAI,CAAC;oBACH,EAAE,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;gBACrC,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,IAAI,KAAK,CAAC,yCAAyC,SAAS,EAAE,CAAC,CAAC;gBACxE,CAAC;gBAED,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;oBAC3C,MAAM,IAAI,KAAK,CACb,gCAAgC,SAAS,gEAAgE,CAC1G,CAAC;gBACJ,CAAC;gBAED,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gBAE9C,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,MAAM,IAAI,KAAK,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC;gBAC/C,CAAC;gBAED,OAAO;oBACL,QAAQ,EAAE;wBACR;4BACE,GAAG;4BACH,QAAQ,EAAE,kBAAkB;4BAC5B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;yBACxC;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,qDAAqD;YACrD,IAAI,GAAG,KAAK,uBAAuB,EAAE,CAAC;gBACpC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;gBAEhD,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,MAAM,IAAI,KAAK,CACb,oEAAoE,CACrE,CAAC;gBACJ,CAAC;gBAED,MAAM,QAAQ,GAAG;oBACf,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,aAAa,EAAE,MAAM,CAAC,aAAa;oBACnC,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,YAAY,EAAE,MAAM,CAAC,GAAG;oBACxB,WAAW,EAAE,MAAM,CAAC,EAAE;oBACtB,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,IAAI,EAAE,2EAA2E;iBAClF,CAAC;gBAEF,OAAO;oBACL,QAAQ,EAAE;wBACR;4BACE,GAAG;4BACH,QAAQ,EAAE,kBAAkB;4BAC5B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;yBACxC;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,EAAE,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QAEH,qEAAqE;QACrE,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAChE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,MAAa,CAAC;YAChD,IAAI,CAAC;gBACH,IAAI,GAAG,EAAE,IAAI,KAAK,cAAc,EAAE,CAAC;oBACjC,4CAA4C;oBAC5C,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;oBAClC,0BAA0B;oBAC1B,IAAI,GAAG,KAAK,2BAA2B,IAAI,QAAQ,EAAE,IAAI,KAAK,IAAI,EAAE,CAAC;wBACnE,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;wBACzD,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAQ,CAAC;oBAC7C,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,GAAG,CAAC,OAAO,CAAC,+BAA+B,CAAC,EAAE,CAAC,CAAC;YAClD,CAAC;YACD,OAAO,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAS,CAAC;QACzD,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,KAAc;QACxC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC,OAAO;aAChB,aAAa,EAAE;aACf,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;aAClB,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;aAChD,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAClB,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,MAAgB;QACtC,OAAO;YACL,UAAU,EAAE;gBACV,MAAM;gBACN,KAAK,EAAE,MAAM,CAAC,MAAM;aACrB;SACF,CAAC;IACJ,CAAC;CACF"}
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"}
@@ -0,0 +1,480 @@
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
+ /**
9
+ * Tool metadata mapped to tool names
10
+ */
11
+ export const toolMetadata = {
12
+ // ==========================================================================
13
+ // Core Research Tool
14
+ // ==========================================================================
15
+ ask_question: {
16
+ title: "Ask NotebookLM",
17
+ annotations: {
18
+ title: "Research Question",
19
+ readOnlyHint: true, // Doesn't modify data, just queries
20
+ destructiveHint: false,
21
+ idempotentHint: false, // Same question may get different answers
22
+ openWorldHint: true, // Interacts with external NotebookLM
23
+ },
24
+ },
25
+ // ==========================================================================
26
+ // Notebook Management
27
+ // ==========================================================================
28
+ add_notebook: {
29
+ title: "Add Notebook",
30
+ annotations: {
31
+ title: "Add Notebook to Library",
32
+ readOnlyHint: false,
33
+ destructiveHint: false,
34
+ idempotentHint: true, // Adding same notebook twice is safe
35
+ openWorldHint: false, // Local library operation
36
+ },
37
+ },
38
+ list_notebooks: {
39
+ title: "List Notebooks",
40
+ annotations: {
41
+ title: "List Library Notebooks",
42
+ readOnlyHint: true,
43
+ destructiveHint: false,
44
+ idempotentHint: true,
45
+ openWorldHint: false,
46
+ },
47
+ },
48
+ get_notebook: {
49
+ title: "Get Notebook",
50
+ annotations: {
51
+ title: "Get Notebook Details",
52
+ readOnlyHint: true,
53
+ destructiveHint: false,
54
+ idempotentHint: true,
55
+ openWorldHint: false,
56
+ },
57
+ },
58
+ select_notebook: {
59
+ title: "Select Notebook",
60
+ annotations: {
61
+ title: "Set Active Notebook",
62
+ readOnlyHint: false,
63
+ destructiveHint: false,
64
+ idempotentHint: true,
65
+ openWorldHint: false,
66
+ },
67
+ },
68
+ update_notebook: {
69
+ title: "Update Notebook",
70
+ annotations: {
71
+ title: "Update Notebook Metadata",
72
+ readOnlyHint: false,
73
+ destructiveHint: false,
74
+ idempotentHint: true,
75
+ openWorldHint: false,
76
+ },
77
+ },
78
+ remove_notebook: {
79
+ title: "Remove Notebook",
80
+ annotations: {
81
+ title: "Remove from Library",
82
+ readOnlyHint: false,
83
+ destructiveHint: true, // Removes from library
84
+ idempotentHint: true,
85
+ openWorldHint: false,
86
+ },
87
+ },
88
+ search_notebooks: {
89
+ title: "Search Notebooks",
90
+ annotations: {
91
+ title: "Search Library",
92
+ readOnlyHint: true,
93
+ destructiveHint: false,
94
+ idempotentHint: true,
95
+ openWorldHint: false,
96
+ },
97
+ },
98
+ get_library_stats: {
99
+ title: "Library Stats",
100
+ annotations: {
101
+ title: "Get Library Statistics",
102
+ readOnlyHint: true,
103
+ destructiveHint: false,
104
+ idempotentHint: true,
105
+ openWorldHint: false,
106
+ },
107
+ },
108
+ export_library: {
109
+ title: "Export Library",
110
+ annotations: {
111
+ title: "Export Library Backup",
112
+ readOnlyHint: true, // Just exports, doesn't modify
113
+ destructiveHint: false,
114
+ idempotentHint: true,
115
+ openWorldHint: false,
116
+ },
117
+ },
118
+ create_notebook: {
119
+ title: "Create Notebook",
120
+ annotations: {
121
+ title: "Create NotebookLM Notebook",
122
+ readOnlyHint: false,
123
+ destructiveHint: false,
124
+ idempotentHint: false, // Creates new notebook each time
125
+ openWorldHint: true, // Creates in NotebookLM
126
+ },
127
+ },
128
+ sync_library: {
129
+ title: "Sync Library",
130
+ annotations: {
131
+ title: "Sync with NotebookLM",
132
+ readOnlyHint: false, // Can modify library
133
+ destructiveHint: false,
134
+ idempotentHint: true,
135
+ openWorldHint: true, // Accesses NotebookLM
136
+ },
137
+ },
138
+ batch_create_notebooks: {
139
+ title: "Batch Create",
140
+ annotations: {
141
+ title: "Batch Create Notebooks",
142
+ readOnlyHint: false,
143
+ destructiveHint: false,
144
+ idempotentHint: false,
145
+ openWorldHint: true,
146
+ },
147
+ },
148
+ // ==========================================================================
149
+ // Source Management
150
+ // ==========================================================================
151
+ list_sources: {
152
+ title: "List Sources",
153
+ annotations: {
154
+ title: "List Notebook Sources",
155
+ readOnlyHint: true,
156
+ destructiveHint: false,
157
+ idempotentHint: true,
158
+ openWorldHint: true, // Reads from NotebookLM
159
+ },
160
+ },
161
+ add_source: {
162
+ title: "Add Source",
163
+ annotations: {
164
+ title: "Add Source to Notebook",
165
+ readOnlyHint: false,
166
+ destructiveHint: false,
167
+ idempotentHint: true,
168
+ openWorldHint: true,
169
+ },
170
+ },
171
+ remove_source: {
172
+ title: "Remove Source",
173
+ annotations: {
174
+ title: "Remove Source from Notebook",
175
+ readOnlyHint: false,
176
+ destructiveHint: true,
177
+ idempotentHint: true,
178
+ openWorldHint: true,
179
+ },
180
+ },
181
+ // ==========================================================================
182
+ // Audio
183
+ // ==========================================================================
184
+ generate_audio_overview: {
185
+ title: "Generate Audio",
186
+ annotations: {
187
+ title: "Generate Audio Overview",
188
+ readOnlyHint: false, // Creates audio
189
+ destructiveHint: false,
190
+ idempotentHint: false, // Regenerates each time
191
+ openWorldHint: true,
192
+ },
193
+ },
194
+ get_audio_status: {
195
+ title: "Audio Status",
196
+ annotations: {
197
+ title: "Check Audio Generation Status",
198
+ readOnlyHint: true,
199
+ destructiveHint: false,
200
+ idempotentHint: true,
201
+ openWorldHint: true,
202
+ },
203
+ },
204
+ download_audio: {
205
+ title: "Download Audio",
206
+ annotations: {
207
+ title: "Download Audio File",
208
+ readOnlyHint: true, // Just downloads, doesn't modify source
209
+ destructiveHint: false,
210
+ idempotentHint: true,
211
+ openWorldHint: true,
212
+ },
213
+ },
214
+ // ==========================================================================
215
+ // Session Management
216
+ // ==========================================================================
217
+ list_sessions: {
218
+ title: "List Sessions",
219
+ annotations: {
220
+ title: "List Active Sessions",
221
+ readOnlyHint: true,
222
+ destructiveHint: false,
223
+ idempotentHint: true,
224
+ openWorldHint: false,
225
+ },
226
+ },
227
+ close_session: {
228
+ title: "Close Session",
229
+ annotations: {
230
+ title: "Close Browser Session",
231
+ readOnlyHint: false,
232
+ destructiveHint: true, // Closes session
233
+ idempotentHint: true,
234
+ openWorldHint: false,
235
+ },
236
+ },
237
+ reset_session: {
238
+ title: "Reset Session",
239
+ annotations: {
240
+ title: "Reset Session History",
241
+ readOnlyHint: false,
242
+ destructiveHint: true, // Clears history
243
+ idempotentHint: true,
244
+ openWorldHint: false,
245
+ },
246
+ },
247
+ // ==========================================================================
248
+ // System Tools
249
+ // ==========================================================================
250
+ get_health: {
251
+ title: "Health Check",
252
+ annotations: {
253
+ title: "Server Health Status",
254
+ readOnlyHint: true,
255
+ destructiveHint: false,
256
+ idempotentHint: true,
257
+ openWorldHint: false,
258
+ },
259
+ },
260
+ setup_auth: {
261
+ title: "Setup Auth",
262
+ annotations: {
263
+ title: "Setup Google Authentication",
264
+ readOnlyHint: false,
265
+ destructiveHint: false,
266
+ idempotentHint: false, // Opens browser each time
267
+ openWorldHint: true, // Interacts with Google
268
+ },
269
+ },
270
+ re_auth: {
271
+ title: "Re-authenticate",
272
+ annotations: {
273
+ title: "Re-authenticate with Google",
274
+ readOnlyHint: false,
275
+ destructiveHint: true, // Deletes existing auth
276
+ idempotentHint: false,
277
+ openWorldHint: true,
278
+ },
279
+ },
280
+ cleanup_data: {
281
+ title: "Cleanup Data",
282
+ annotations: {
283
+ title: "Clean MCP Data Files",
284
+ readOnlyHint: false,
285
+ destructiveHint: true, // Deletes files
286
+ idempotentHint: true,
287
+ openWorldHint: false,
288
+ },
289
+ },
290
+ get_quota: {
291
+ title: "Get Quota",
292
+ annotations: {
293
+ title: "Check Quota Status",
294
+ readOnlyHint: true,
295
+ destructiveHint: false,
296
+ idempotentHint: true,
297
+ openWorldHint: false, // Local unless sync=true
298
+ },
299
+ },
300
+ set_quota_tier: {
301
+ title: "Set Tier",
302
+ annotations: {
303
+ title: "Set License Tier",
304
+ readOnlyHint: false,
305
+ destructiveHint: false,
306
+ idempotentHint: true,
307
+ openWorldHint: false,
308
+ },
309
+ },
310
+ get_project_info: {
311
+ title: "Project Info",
312
+ annotations: {
313
+ title: "Get Project Context",
314
+ readOnlyHint: true,
315
+ destructiveHint: false,
316
+ idempotentHint: true,
317
+ openWorldHint: false,
318
+ },
319
+ },
320
+ // ==========================================================================
321
+ // Webhooks
322
+ // ==========================================================================
323
+ configure_webhook: {
324
+ title: "Configure Webhook",
325
+ annotations: {
326
+ title: "Configure Webhook Endpoint",
327
+ readOnlyHint: false,
328
+ destructiveHint: false,
329
+ idempotentHint: true,
330
+ openWorldHint: false,
331
+ },
332
+ },
333
+ list_webhooks: {
334
+ title: "List Webhooks",
335
+ annotations: {
336
+ title: "List Configured Webhooks",
337
+ readOnlyHint: true,
338
+ destructiveHint: false,
339
+ idempotentHint: true,
340
+ openWorldHint: false,
341
+ },
342
+ },
343
+ test_webhook: {
344
+ title: "Test Webhook",
345
+ annotations: {
346
+ title: "Send Test Event",
347
+ readOnlyHint: true, // Doesn't modify webhook config
348
+ destructiveHint: false,
349
+ idempotentHint: true,
350
+ openWorldHint: true, // Sends HTTP request
351
+ },
352
+ },
353
+ remove_webhook: {
354
+ title: "Remove Webhook",
355
+ annotations: {
356
+ title: "Remove Webhook Configuration",
357
+ readOnlyHint: false,
358
+ destructiveHint: true,
359
+ idempotentHint: true,
360
+ openWorldHint: false,
361
+ },
362
+ },
363
+ // ==========================================================================
364
+ // Gemini Tools
365
+ // ==========================================================================
366
+ deep_research: {
367
+ title: "Deep Research",
368
+ annotations: {
369
+ title: "Gemini Deep Research",
370
+ readOnlyHint: true,
371
+ destructiveHint: false,
372
+ idempotentHint: false, // Results may vary
373
+ openWorldHint: true, // Uses Gemini API
374
+ },
375
+ execution: {
376
+ // Deep research can take 1-5 minutes, ideal for task-based execution
377
+ taskSupport: "optional",
378
+ },
379
+ },
380
+ gemini_query: {
381
+ title: "Gemini Query",
382
+ annotations: {
383
+ title: "Quick Gemini Query",
384
+ readOnlyHint: true,
385
+ destructiveHint: false,
386
+ idempotentHint: false,
387
+ openWorldHint: true,
388
+ },
389
+ },
390
+ get_research_status: {
391
+ title: "Research Status",
392
+ annotations: {
393
+ title: "Check Research Progress",
394
+ readOnlyHint: true,
395
+ destructiveHint: false,
396
+ idempotentHint: true,
397
+ openWorldHint: true,
398
+ },
399
+ },
400
+ upload_document: {
401
+ title: "Upload Document",
402
+ annotations: {
403
+ title: "Upload to Gemini",
404
+ readOnlyHint: false, // Uploads file
405
+ destructiveHint: false,
406
+ idempotentHint: true, // Same file = same result
407
+ openWorldHint: true,
408
+ },
409
+ },
410
+ query_document: {
411
+ title: "Query Document",
412
+ annotations: {
413
+ title: "Ask About Document",
414
+ readOnlyHint: true,
415
+ destructiveHint: false,
416
+ idempotentHint: false,
417
+ openWorldHint: true,
418
+ },
419
+ },
420
+ list_documents: {
421
+ title: "List Documents",
422
+ annotations: {
423
+ title: "List Uploaded Documents",
424
+ readOnlyHint: true,
425
+ destructiveHint: false,
426
+ idempotentHint: true,
427
+ openWorldHint: true,
428
+ },
429
+ },
430
+ delete_document: {
431
+ title: "Delete Document",
432
+ annotations: {
433
+ title: "Delete from Gemini",
434
+ readOnlyHint: false,
435
+ destructiveHint: true,
436
+ idempotentHint: true,
437
+ openWorldHint: true,
438
+ },
439
+ },
440
+ query_chunked_document: {
441
+ title: "Query Chunked Doc",
442
+ annotations: {
443
+ title: "Query Large Document",
444
+ readOnlyHint: true,
445
+ destructiveHint: false,
446
+ idempotentHint: false,
447
+ openWorldHint: true,
448
+ },
449
+ },
450
+ // ==========================================================================
451
+ // History
452
+ // ==========================================================================
453
+ get_query_history: {
454
+ title: "Query History",
455
+ annotations: {
456
+ title: "Get Query History",
457
+ readOnlyHint: true,
458
+ destructiveHint: false,
459
+ idempotentHint: true,
460
+ openWorldHint: false,
461
+ },
462
+ },
463
+ get_notebook_chat_history: {
464
+ title: "Chat History",
465
+ annotations: {
466
+ title: "Get Notebook Chat History",
467
+ readOnlyHint: true,
468
+ destructiveHint: false,
469
+ idempotentHint: true,
470
+ openWorldHint: true, // Reads from NotebookLM
471
+ },
472
+ },
473
+ };
474
+ /**
475
+ * Get metadata for a tool by name
476
+ */
477
+ export function getToolMetadata(toolName) {
478
+ return toolMetadata[toolName];
479
+ }
480
+ //# sourceMappingURL=annotations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"annotations.js","sourceRoot":"","sources":["../../src/tools/annotations.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,16 @@
1
1
  /**
2
2
  * MCP Tool Definitions
3
3
  *
4
- * Aggregates tool definitions from sub-modules.
4
+ * Aggregates tool definitions from sub-modules and applies
5
+ * enhanced metadata (icons, annotations, titles) for better UX.
6
+ *
7
+ * @see https://modelcontextprotocol.io/specification/draft/2025-03-26/server/tools
5
8
  */
6
9
  import { Tool } from "@modelcontextprotocol/sdk/types.js";
7
10
  import { NotebookLibrary } from "../library/notebook-library.js";
8
11
  /**
9
12
  * Build Tool Definitions with NotebookLibrary context
13
+ * Includes enhanced metadata (icons, annotations, titles) for better UX
10
14
  */
11
15
  export declare function buildToolDefinitions(library: NotebookLibrary): Tool[];
12
16
  //# sourceMappingURL=definitions.d.ts.map
@@ -1 +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;AAYjE;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,EAAE,CAgBrE"}
1
+ {"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/tools/definitions.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAkCjE;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,EAAE,CAoBrE"}
@@ -1,7 +1,10 @@
1
1
  /**
2
2
  * MCP Tool Definitions
3
3
  *
4
- * Aggregates tool definitions from sub-modules.
4
+ * Aggregates tool definitions from sub-modules and applies
5
+ * enhanced metadata (icons, annotations, titles) for better UX.
6
+ *
7
+ * @see https://modelcontextprotocol.io/specification/draft/2025-03-26/server/tools
5
8
  */
6
9
  import { askQuestionTool, buildAskQuestionDescription, } from "./definitions/ask-question.js";
7
10
  import { notebookManagementTools } from "./definitions/notebook-management.js";
@@ -10,8 +13,29 @@ import { systemTools } from "./definitions/system.js";
10
13
  import { geminiTools } from "./definitions/gemini.js";
11
14
  import { queryHistoryTools } from "./definitions/query-history.js";
12
15
  import { chatHistoryTools } from "./definitions/chat-history.js";
16
+ import { getToolIcons } from "./icons.js";
17
+ import { getToolMetadata } from "./annotations.js";
18
+ /**
19
+ * Apply enhanced metadata (icons, annotations, title, execution) to a tool
20
+ */
21
+ function enhanceTool(tool) {
22
+ const icons = getToolIcons(tool.name);
23
+ const metadata = getToolMetadata(tool.name);
24
+ return {
25
+ ...tool,
26
+ // Add icons if available
27
+ ...(icons && { icons }),
28
+ // Add title if available (human-friendly name)
29
+ ...(metadata?.title && { title: metadata.title }),
30
+ // Add annotations if available (behavior hints)
31
+ ...(metadata?.annotations && { annotations: metadata.annotations }),
32
+ // Add execution hints if available (e.g., task support)
33
+ ...(metadata?.execution && { execution: metadata.execution }),
34
+ };
35
+ }
13
36
  /**
14
37
  * Build Tool Definitions with NotebookLibrary context
38
+ * Includes enhanced metadata (icons, annotations, titles) for better UX
15
39
  */
16
40
  export function buildToolDefinitions(library) {
17
41
  // Update the description for ask_question based on the library state
@@ -19,7 +43,8 @@ export function buildToolDefinitions(library) {
19
43
  ...askQuestionTool,
20
44
  description: buildAskQuestionDescription(library),
21
45
  };
22
- return [
46
+ // Aggregate all tools
47
+ const allTools = [
23
48
  dynamicAskQuestionTool,
24
49
  ...notebookManagementTools,
25
50
  ...sessionManagementTools,
@@ -28,5 +53,7 @@ export function buildToolDefinitions(library) {
28
53
  ...queryHistoryTools,
29
54
  ...chatHistoryTools,
30
55
  ];
56
+ // Apply enhanced metadata to all tools
57
+ return allTools.map(enhanceTool);
31
58
  }
32
59
  //# sourceMappingURL=definitions.js.map
@@ -1 +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,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEjE;;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,sBAAsB;QACzB,GAAG,WAAW;QACd,GAAG,WAAW;QACd,GAAG,iBAAiB;QACpB,GAAG,gBAAgB;KACpB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/tools/definitions.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;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,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;GAEG;AACH,SAAS,WAAW,CAAC,IAAU;IAC7B,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE5C,OAAO;QACL,GAAG,IAAI;QACP,yBAAyB;QACzB,GAAG,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,CAAC;QACvB,+CAA+C;QAC/C,GAAG,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;QACjD,gDAAgD;QAChD,GAAG,CAAC,QAAQ,EAAE,WAAW,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,CAAC;QACnE,wDAAwD;QACxD,GAAG,CAAC,QAAQ,EAAE,SAAS,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC;KAC9D,CAAC;AACJ,CAAC;AAED;;;GAGG;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,sBAAsB;IACtB,MAAM,QAAQ,GAAW;QACvB,sBAAsB;QACtB,GAAG,uBAAuB;QAC1B,GAAG,sBAAsB;QACzB,GAAG,WAAW;QACd,GAAG,WAAW;QACd,GAAG,iBAAiB;QACpB,GAAG,gBAAgB;KACpB,CAAC;IAEF,uCAAuC;IACvC,OAAO,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AACnC,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Tool Icons for MCP UX Enhancement
3
+ *
4
+ * Icons are defined as SVG data URIs for cross-platform compatibility.
5
+ * Uses simple, recognizable icons that work in both light and dark themes.
6
+ *
7
+ * @see https://modelcontextprotocol.io/specification/draft/2025-03-26/server/tools#icons
8
+ */
9
+ import type { Icon } from "@modelcontextprotocol/sdk/types.js";
10
+ /**
11
+ * Tool icons mapped to tool names
12
+ */
13
+ export declare const toolIcons: Record<string, Icon[]>;
14
+ /**
15
+ * Get icons for a tool by name
16
+ */
17
+ export declare function getToolIcons(toolName: string): Icon[] | undefined;
18
+ //# sourceMappingURL=icons.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../src/tools/icons.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AA6F/D;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,CA6D5C,CAAC;AAEF;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,SAAS,CAEjE"}
@@ -0,0 +1,137 @@
1
+ /**
2
+ * Tool Icons for MCP UX Enhancement
3
+ *
4
+ * Icons are defined as SVG data URIs for cross-platform compatibility.
5
+ * Uses simple, recognizable icons that work in both light and dark themes.
6
+ *
7
+ * @see https://modelcontextprotocol.io/specification/draft/2025-03-26/server/tools#icons
8
+ */
9
+ /**
10
+ * Create an SVG icon data URI with proper encoding
11
+ */
12
+ function svgIcon(svg, mimeType = "image/svg+xml") {
13
+ const encoded = Buffer.from(svg).toString("base64");
14
+ return {
15
+ src: `data:${mimeType};base64,${encoded}`,
16
+ mimeType,
17
+ };
18
+ }
19
+ /**
20
+ * Simple SVG templates for tool icons
21
+ */
22
+ const svgTemplates = {
23
+ // Question mark for ask_question
24
+ question: `<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"/><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"/><line x1="12" y1="17" x2="12.01" y2="17"/></svg>`,
25
+ // Book for notebooks
26
+ book: `<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>`,
27
+ // Plus for add
28
+ plus: `<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"><line x1="12" y1="5" x2="12" y2="19"/><line x1="5" y1="12" x2="19" y2="12"/></svg>`,
29
+ // List for list operations
30
+ list: `<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"><line x1="8" y1="6" x2="21" y2="6"/><line x1="8" y1="12" x2="21" y2="12"/><line x1="8" y1="18" x2="21" y2="18"/><line x1="3" y1="6" x2="3.01" y2="6"/><line x1="3" y1="12" x2="3.01" y2="12"/><line x1="3" y1="18" x2="3.01" y2="18"/></svg>`,
31
+ // Search/magnify for search/research
32
+ search: `<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="11" cy="11" r="8"/><line x1="21" y1="21" x2="16.65" y2="16.65"/></svg>`,
33
+ // Settings/gear for system tools
34
+ settings: `<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="3"/><path d="M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z"/></svg>`,
35
+ // Heart/health for health checks
36
+ heart: `<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="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"/></svg>`,
37
+ // Key for auth
38
+ key: `<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="M21 2l-2 2m-7.61 7.61a5.5 5.5 0 1 1-7.778 7.778 5.5 5.5 0 0 1 7.777-7.777zm0 0L15.5 7.5m0 0l3 3L22 7l-3-3m-3.5 3.5L19 4"/></svg>`,
39
+ // Trash for cleanup/delete
40
+ trash: `<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"><polyline points="3 6 5 6 21 6"/><path d="M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"/></svg>`,
41
+ // Database for quota
42
+ database: `<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"><ellipse cx="12" cy="5" rx="9" ry="3"/><path d="M21 12c0 1.66-4 3-9 3s-9-1.34-9-3"/><path d="M3 5v14c0 1.66 4 3 9 3s9-1.34 9-3V5"/></svg>`,
43
+ // Folder for project
44
+ folder: `<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="M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"/></svg>`,
45
+ // Bell for webhooks
46
+ bell: `<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="M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9"/><path d="M13.73 21a2 2 0 0 1-3.46 0"/></svg>`,
47
+ // Users/session for session management
48
+ users: `<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="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"/><circle cx="9" cy="7" r="4"/><path d="M23 21v-2a4 4 0 0 0-3-3.87"/><path d="M16 3.13a4 4 0 0 1 0 7.75"/></svg>`,
49
+ // Clock for history
50
+ clock: `<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"/><polyline points="12 6 12 12 16 14"/></svg>`,
51
+ // Upload for document upload
52
+ upload: `<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="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><polyline points="17 8 12 3 7 8"/><line x1="12" y1="3" x2="12" y2="15"/></svg>`,
53
+ // File for documents
54
+ file: `<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="M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z"/><polyline points="13 2 13 9 20 9"/></svg>`,
55
+ // Audio for audio generation
56
+ audio: `<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="M9 18V5l12-2v13"/><circle cx="6" cy="18" r="3"/><circle cx="18" cy="16" r="3"/></svg>`,
57
+ // Download for download
58
+ download: `<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="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><polyline points="7 10 12 15 17 10"/><line x1="12" y1="15" x2="12" y2="3"/></svg>`,
59
+ // Sync/refresh for sync operations
60
+ sync: `<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"><polyline points="23 4 23 10 17 10"/><polyline points="1 20 1 14 7 14"/><path d="M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15"/></svg>`,
61
+ // Edit/pencil for update
62
+ edit: `<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="M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"/><path d="M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z"/></svg>`,
63
+ // Check for select/activate
64
+ check: `<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"><polyline points="20 6 9 17 4 12"/></svg>`,
65
+ // X for remove/close
66
+ x: `<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"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg>`,
67
+ // Zap for fast operations
68
+ zap: `<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"><polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"/></svg>`,
69
+ // Globe for web/export
70
+ globe: `<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="2" y1="12" x2="22" y2="12"/><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"/></svg>`,
71
+ // Shield for security
72
+ shield: `<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="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/></svg>`,
73
+ };
74
+ /**
75
+ * Tool icons mapped to tool names
76
+ */
77
+ export const toolIcons = {
78
+ // Core research tool
79
+ ask_question: [svgIcon(svgTemplates.question)],
80
+ // Notebook management
81
+ add_notebook: [svgIcon(svgTemplates.plus)],
82
+ list_notebooks: [svgIcon(svgTemplates.list)],
83
+ get_notebook: [svgIcon(svgTemplates.book)],
84
+ select_notebook: [svgIcon(svgTemplates.check)],
85
+ update_notebook: [svgIcon(svgTemplates.edit)],
86
+ remove_notebook: [svgIcon(svgTemplates.x)],
87
+ search_notebooks: [svgIcon(svgTemplates.search)],
88
+ get_library_stats: [svgIcon(svgTemplates.database)],
89
+ export_library: [svgIcon(svgTemplates.globe)],
90
+ create_notebook: [svgIcon(svgTemplates.plus)],
91
+ sync_library: [svgIcon(svgTemplates.sync)],
92
+ batch_create_notebooks: [svgIcon(svgTemplates.plus)],
93
+ // Source management
94
+ list_sources: [svgIcon(svgTemplates.list)],
95
+ add_source: [svgIcon(svgTemplates.plus)],
96
+ remove_source: [svgIcon(svgTemplates.x)],
97
+ // Audio
98
+ generate_audio_overview: [svgIcon(svgTemplates.audio)],
99
+ get_audio_status: [svgIcon(svgTemplates.audio)],
100
+ download_audio: [svgIcon(svgTemplates.download)],
101
+ // Session management
102
+ list_sessions: [svgIcon(svgTemplates.users)],
103
+ close_session: [svgIcon(svgTemplates.x)],
104
+ reset_session: [svgIcon(svgTemplates.sync)],
105
+ // System tools
106
+ get_health: [svgIcon(svgTemplates.heart)],
107
+ setup_auth: [svgIcon(svgTemplates.key)],
108
+ re_auth: [svgIcon(svgTemplates.key)],
109
+ cleanup_data: [svgIcon(svgTemplates.trash)],
110
+ get_quota: [svgIcon(svgTemplates.database)],
111
+ set_quota_tier: [svgIcon(svgTemplates.settings)],
112
+ get_project_info: [svgIcon(svgTemplates.folder)],
113
+ // Webhooks
114
+ configure_webhook: [svgIcon(svgTemplates.bell)],
115
+ list_webhooks: [svgIcon(svgTemplates.list)],
116
+ test_webhook: [svgIcon(svgTemplates.zap)],
117
+ remove_webhook: [svgIcon(svgTemplates.x)],
118
+ // Gemini tools
119
+ deep_research: [svgIcon(svgTemplates.search)],
120
+ gemini_query: [svgIcon(svgTemplates.zap)],
121
+ get_research_status: [svgIcon(svgTemplates.clock)],
122
+ upload_document: [svgIcon(svgTemplates.upload)],
123
+ query_document: [svgIcon(svgTemplates.file)],
124
+ list_documents: [svgIcon(svgTemplates.list)],
125
+ delete_document: [svgIcon(svgTemplates.trash)],
126
+ query_chunked_document: [svgIcon(svgTemplates.file)],
127
+ // History
128
+ get_query_history: [svgIcon(svgTemplates.clock)],
129
+ get_notebook_chat_history: [svgIcon(svgTemplates.clock)],
130
+ };
131
+ /**
132
+ * Get icons for a tool by name
133
+ */
134
+ export function getToolIcons(toolName) {
135
+ return toolIcons[toolName];
136
+ }
137
+ //# sourceMappingURL=icons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icons.js","sourceRoot":"","sources":["../../src/tools/icons.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,11 @@
1
1
  /**
2
2
  * MCP Tools Module
3
3
  *
4
- * Exports tool definitions and handlers.
4
+ * Exports tool definitions, handlers, and enhanced metadata (icons, annotations).
5
5
  */
6
6
  export { buildToolDefinitions } from "./definitions.js";
7
7
  export { ToolHandlers } from "./handlers.js";
8
+ export { getToolIcons, toolIcons } from "./icons.js";
9
+ export { getToolMetadata, toolMetadata } from "./annotations.js";
10
+ export type { ToolMetadata } from "./annotations.js";
8
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACjE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,8 +1,10 @@
1
1
  /**
2
2
  * MCP Tools Module
3
3
  *
4
- * Exports tool definitions and handlers.
4
+ * Exports tool definitions, handlers, and enhanced metadata (icons, annotations).
5
5
  */
6
6
  export { buildToolDefinitions } from "./definitions.js";
7
7
  export { ToolHandlers } from "./handlers.js";
8
+ export { getToolIcons, toolIcons } from "./icons.js";
9
+ export { getToolMetadata, toolMetadata } from "./annotations.js";
8
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pan-sec/notebooklm-mcp",
3
- "version": "2026.1.6",
3
+ "version": "2026.1.7",
4
4
  "mcpName": "io.github.Pantheon-Security/notebooklm-mcp-secure",
5
5
  "description": "Security-hardened MCP server for NotebookLM API with enterprise compliance (GDPR, SOC2, CSSF)",
6
6
  "type": "module",
@@ -55,19 +55,19 @@
55
55
  "docs"
56
56
  ],
57
57
  "dependencies": {
58
- "@google/genai": "^1.34.0",
59
- "@modelcontextprotocol/sdk": "^1.25.2",
58
+ "@google/genai": "^1.38.0",
59
+ "@modelcontextprotocol/sdk": "^1.25.3",
60
60
  "@noble/post-quantum": "^0.2.1",
61
61
  "dotenv": "^16.4.0",
62
62
  "env-paths": "^3.0.0",
63
63
  "globby": "^14.1.0",
64
- "patchright": "^1.48.2",
64
+ "patchright": "^1.57.0",
65
65
  "pdf-lib": "^1.17.1",
66
66
  "zod": "^3.22.0"
67
67
  },
68
68
  "devDependencies": {
69
69
  "@types/node": "^20.11.0",
70
- "tsx": "^4.7.0",
70
+ "tsx": "^4.21.0",
71
71
  "typescript": "^5.3.3"
72
72
  },
73
73
  "engines": {
package/server.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
3
3
  "name": "io.github.Pantheon-Security/notebooklm-mcp-secure",
4
4
  "description": "Security-hardened NotebookLM MCP with post-quantum encryption",
5
- "version": "2026.1.6",
5
+ "version": "2026.1.7",
6
6
  "repository": {
7
7
  "url": "https://github.com/Pantheon-Security/notebooklm-mcp-secure",
8
8
  "source": "github"
@@ -11,7 +11,7 @@
11
11
  {
12
12
  "registryType": "npm",
13
13
  "identifier": "@pan-sec/notebooklm-mcp",
14
- "version": "2026.1.6",
14
+ "version": "2026.1.7",
15
15
  "transport": {
16
16
  "type": "stdio"
17
17
  }