@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.
- package/dist/resources/resource-handlers.d.ts.map +1 -1
- package/dist/resources/resource-handlers.js +252 -2
- package/dist/resources/resource-handlers.js.map +1 -1
- package/dist/tools/annotations.d.ts +28 -0
- package/dist/tools/annotations.d.ts.map +1 -0
- package/dist/tools/annotations.js +480 -0
- package/dist/tools/annotations.js.map +1 -0
- package/dist/tools/definitions.d.ts +5 -1
- package/dist/tools/definitions.d.ts.map +1 -1
- package/dist/tools/definitions.js +29 -2
- package/dist/tools/definitions.js.map +1 -1
- package/dist/tools/icons.d.ts +18 -0
- package/dist/tools/icons.d.ts.map +1 -0
- package/dist/tools/icons.js +137 -0
- package/dist/tools/icons.js.map +1 -0
- package/dist/tools/index.d.ts +4 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +3 -1
- package/dist/tools/index.js.map +1 -1
- package/package.json +5 -5
- package/server.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-handlers.d.ts","sourceRoot":"","sources":["../../src/resources/resource-handlers.ts"],"names":[],"mappings":"
|
|
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,
|
|
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
|
|
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
|
-
|
|
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
|
|
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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"}
|
package/dist/tools/index.d.ts
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* MCP Tools Module
|
|
3
3
|
*
|
|
4
|
-
* Exports tool definitions and
|
|
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"}
|
package/dist/tools/index.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* MCP Tools Module
|
|
3
3
|
*
|
|
4
|
-
* Exports tool definitions and
|
|
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
|
package/dist/tools/index.js.map
CHANGED
|
@@ -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.
|
|
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.
|
|
59
|
-
"@modelcontextprotocol/sdk": "^1.25.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
14
|
+
"version": "2026.1.7",
|
|
15
15
|
"transport": {
|
|
16
16
|
"type": "stdio"
|
|
17
17
|
}
|