@pan-sec/notebooklm-mcp 2026.1.5 → 2026.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +106 -2
- 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/docs/MCP-DIRECTORY-LISTINGS.md +23 -116
- package/docs/SECURITY-FORK-OPPORTUNITIES.md +79 -0
- package/package.json +5 -5
- package/server.json +2 -2
|
@@ -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":"AAAA;;;;;;GAMG;AAgBH;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAiC;IACxD,6EAA6E;IAC7E,qBAAqB;IACrB,6EAA6E;IAC7E,YAAY,EAAE;QACZ,KAAK,EAAE,gBAAgB;QACvB,WAAW,EAAE;YACX,KAAK,EAAE,mBAAmB;YAC1B,YAAY,EAAE,IAAI,EAAE,oCAAoC;YACxD,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,KAAK,EAAE,0CAA0C;YACjE,aAAa,EAAE,IAAI,EAAE,qCAAqC;SAC3D;KACF;IAED,6EAA6E;IAC7E,sBAAsB;IACtB,6EAA6E;IAC7E,YAAY,EAAE;QACZ,KAAK,EAAE,cAAc;QACrB,WAAW,EAAE;YACX,KAAK,EAAE,yBAAyB;YAChC,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI,EAAE,qCAAqC;YAC3D,aAAa,EAAE,KAAK,EAAE,0BAA0B;SACjD;KACF;IACD,cAAc,EAAE;QACd,KAAK,EAAE,gBAAgB;QACvB,WAAW,EAAE;YACX,KAAK,EAAE,wBAAwB;YAC/B,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;KACF;IACD,YAAY,EAAE;QACZ,KAAK,EAAE,cAAc;QACrB,WAAW,EAAE;YACX,KAAK,EAAE,sBAAsB;YAC7B,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;KACF;IACD,eAAe,EAAE;QACf,KAAK,EAAE,iBAAiB;QACxB,WAAW,EAAE;YACX,KAAK,EAAE,qBAAqB;YAC5B,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;KACF;IACD,eAAe,EAAE;QACf,KAAK,EAAE,iBAAiB;QACxB,WAAW,EAAE;YACX,KAAK,EAAE,0BAA0B;YACjC,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;KACF;IACD,eAAe,EAAE;QACf,KAAK,EAAE,iBAAiB;QACxB,WAAW,EAAE;YACX,KAAK,EAAE,qBAAqB;YAC5B,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,IAAI,EAAE,uBAAuB;YAC9C,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;KACF;IACD,gBAAgB,EAAE;QAChB,KAAK,EAAE,kBAAkB;QACzB,WAAW,EAAE;YACX,KAAK,EAAE,gBAAgB;YACvB,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;KACF;IACD,iBAAiB,EAAE;QACjB,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE;YACX,KAAK,EAAE,wBAAwB;YAC/B,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;KACF;IACD,cAAc,EAAE;QACd,KAAK,EAAE,gBAAgB;QACvB,WAAW,EAAE;YACX,KAAK,EAAE,uBAAuB;YAC9B,YAAY,EAAE,IAAI,EAAE,+BAA+B;YACnD,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;KACF;IACD,eAAe,EAAE;QACf,KAAK,EAAE,iBAAiB;QACxB,WAAW,EAAE;YACX,KAAK,EAAE,4BAA4B;YACnC,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,KAAK,EAAE,iCAAiC;YACxD,aAAa,EAAE,IAAI,EAAE,wBAAwB;SAC9C;KACF;IACD,YAAY,EAAE;QACZ,KAAK,EAAE,cAAc;QACrB,WAAW,EAAE;YACX,KAAK,EAAE,sBAAsB;YAC7B,YAAY,EAAE,KAAK,EAAE,qBAAqB;YAC1C,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,IAAI,EAAE,sBAAsB;SAC5C;KACF;IACD,sBAAsB,EAAE;QACtB,KAAK,EAAE,cAAc;QACrB,WAAW,EAAE;YACX,KAAK,EAAE,wBAAwB;YAC/B,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,KAAK;YACrB,aAAa,EAAE,IAAI;SACpB;KACF;IAED,6EAA6E;IAC7E,oBAAoB;IACpB,6EAA6E;IAC7E,YAAY,EAAE;QACZ,KAAK,EAAE,cAAc;QACrB,WAAW,EAAE;YACX,KAAK,EAAE,uBAAuB;YAC9B,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,IAAI,EAAE,wBAAwB;SAC9C;KACF;IACD,UAAU,EAAE;QACV,KAAK,EAAE,YAAY;QACnB,WAAW,EAAE;YACX,KAAK,EAAE,wBAAwB;YAC/B,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,IAAI;SACpB;KACF;IACD,aAAa,EAAE;QACb,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE;YACX,KAAK,EAAE,6BAA6B;YACpC,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,IAAI;YACrB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,IAAI;SACpB;KACF;IAED,6EAA6E;IAC7E,QAAQ;IACR,6EAA6E;IAC7E,uBAAuB,EAAE;QACvB,KAAK,EAAE,gBAAgB;QACvB,WAAW,EAAE;YACX,KAAK,EAAE,yBAAyB;YAChC,YAAY,EAAE,KAAK,EAAE,gBAAgB;YACrC,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,KAAK,EAAE,wBAAwB;YAC/C,aAAa,EAAE,IAAI;SACpB;KACF;IACD,gBAAgB,EAAE;QAChB,KAAK,EAAE,cAAc;QACrB,WAAW,EAAE;YACX,KAAK,EAAE,+BAA+B;YACtC,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,IAAI;SACpB;KACF;IACD,cAAc,EAAE;QACd,KAAK,EAAE,gBAAgB;QACvB,WAAW,EAAE;YACX,KAAK,EAAE,qBAAqB;YAC5B,YAAY,EAAE,IAAI,EAAE,wCAAwC;YAC5D,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,IAAI;SACpB;KACF;IAED,6EAA6E;IAC7E,qBAAqB;IACrB,6EAA6E;IAC7E,aAAa,EAAE;QACb,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE;YACX,KAAK,EAAE,sBAAsB;YAC7B,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;KACF;IACD,aAAa,EAAE;QACb,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE;YACX,KAAK,EAAE,uBAAuB;YAC9B,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,IAAI,EAAE,iBAAiB;YACxC,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;KACF;IACD,aAAa,EAAE;QACb,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE;YACX,KAAK,EAAE,uBAAuB;YAC9B,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,IAAI,EAAE,iBAAiB;YACxC,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;KACF;IAED,6EAA6E;IAC7E,eAAe;IACf,6EAA6E;IAC7E,UAAU,EAAE;QACV,KAAK,EAAE,cAAc;QACrB,WAAW,EAAE;YACX,KAAK,EAAE,sBAAsB;YAC7B,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;KACF;IACD,UAAU,EAAE;QACV,KAAK,EAAE,YAAY;QACnB,WAAW,EAAE;YACX,KAAK,EAAE,6BAA6B;YACpC,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,KAAK,EAAE,0BAA0B;YACjD,aAAa,EAAE,IAAI,EAAE,wBAAwB;SAC9C;KACF;IACD,OAAO,EAAE;QACP,KAAK,EAAE,iBAAiB;QACxB,WAAW,EAAE;YACX,KAAK,EAAE,6BAA6B;YACpC,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,IAAI,EAAE,wBAAwB;YAC/C,cAAc,EAAE,KAAK;YACrB,aAAa,EAAE,IAAI;SACpB;KACF;IACD,YAAY,EAAE;QACZ,KAAK,EAAE,cAAc;QACrB,WAAW,EAAE;YACX,KAAK,EAAE,sBAAsB;YAC7B,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,IAAI,EAAE,gBAAgB;YACvC,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;KACF;IACD,SAAS,EAAE;QACT,KAAK,EAAE,WAAW;QAClB,WAAW,EAAE;YACX,KAAK,EAAE,oBAAoB;YAC3B,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK,EAAE,yBAAyB;SAChD;KACF;IACD,cAAc,EAAE;QACd,KAAK,EAAE,UAAU;QACjB,WAAW,EAAE;YACX,KAAK,EAAE,kBAAkB;YACzB,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;KACF;IACD,gBAAgB,EAAE;QAChB,KAAK,EAAE,cAAc;QACrB,WAAW,EAAE;YACX,KAAK,EAAE,qBAAqB;YAC5B,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;KACF;IAED,6EAA6E;IAC7E,WAAW;IACX,6EAA6E;IAC7E,iBAAiB,EAAE;QACjB,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EAAE;YACX,KAAK,EAAE,4BAA4B;YACnC,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;KACF;IACD,aAAa,EAAE;QACb,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE;YACX,KAAK,EAAE,0BAA0B;YACjC,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;KACF;IACD,YAAY,EAAE;QACZ,KAAK,EAAE,cAAc;QACrB,WAAW,EAAE;YACX,KAAK,EAAE,iBAAiB;YACxB,YAAY,EAAE,IAAI,EAAE,gCAAgC;YACpD,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,IAAI,EAAE,qBAAqB;SAC3C;KACF;IACD,cAAc,EAAE;QACd,KAAK,EAAE,gBAAgB;QACvB,WAAW,EAAE;YACX,KAAK,EAAE,8BAA8B;YACrC,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,IAAI;YACrB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;KACF;IAED,6EAA6E;IAC7E,eAAe;IACf,6EAA6E;IAC7E,aAAa,EAAE;QACb,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE;YACX,KAAK,EAAE,sBAAsB;YAC7B,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,KAAK,EAAE,mBAAmB;YAC1C,aAAa,EAAE,IAAI,EAAE,kBAAkB;SACxC;QACD,SAAS,EAAE;YACT,qEAAqE;YACrE,WAAW,EAAE,UAAU;SACxB;KACF;IACD,YAAY,EAAE;QACZ,KAAK,EAAE,cAAc;QACrB,WAAW,EAAE;YACX,KAAK,EAAE,oBAAoB;YAC3B,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,KAAK;YACrB,aAAa,EAAE,IAAI;SACpB;KACF;IACD,mBAAmB,EAAE;QACnB,KAAK,EAAE,iBAAiB;QACxB,WAAW,EAAE;YACX,KAAK,EAAE,yBAAyB;YAChC,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,IAAI;SACpB;KACF;IACD,eAAe,EAAE;QACf,KAAK,EAAE,iBAAiB;QACxB,WAAW,EAAE;YACX,KAAK,EAAE,kBAAkB;YACzB,YAAY,EAAE,KAAK,EAAE,eAAe;YACpC,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI,EAAE,0BAA0B;YAChD,aAAa,EAAE,IAAI;SACpB;KACF;IACD,cAAc,EAAE;QACd,KAAK,EAAE,gBAAgB;QACvB,WAAW,EAAE;YACX,KAAK,EAAE,oBAAoB;YAC3B,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,KAAK;YACrB,aAAa,EAAE,IAAI;SACpB;KACF;IACD,cAAc,EAAE;QACd,KAAK,EAAE,gBAAgB;QACvB,WAAW,EAAE;YACX,KAAK,EAAE,yBAAyB;YAChC,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,IAAI;SACpB;KACF;IACD,eAAe,EAAE;QACf,KAAK,EAAE,iBAAiB;QACxB,WAAW,EAAE;YACX,KAAK,EAAE,oBAAoB;YAC3B,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,IAAI;YACrB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,IAAI;SACpB;KACF;IACD,sBAAsB,EAAE;QACtB,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EAAE;YACX,KAAK,EAAE,sBAAsB;YAC7B,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,KAAK;YACrB,aAAa,EAAE,IAAI;SACpB;KACF;IAED,6EAA6E;IAC7E,UAAU;IACV,6EAA6E;IAC7E,iBAAiB,EAAE;QACjB,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE;YACX,KAAK,EAAE,mBAAmB;YAC1B,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;KACF;IACD,yBAAyB,EAAE;QACzB,KAAK,EAAE,cAAc;QACrB,WAAW,EAAE;YACX,KAAK,EAAE,2BAA2B;YAClC,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,IAAI,EAAE,wBAAwB;SAC9C;KACF;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,OAAO,YAAY,CAAC,QAAQ,CAAC,CAAC;AAChC,CAAC"}
|
|
@@ -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"}
|