pptx-viewer-mcp 1.1.26 → 1.2.0

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.
@@ -257,29 +257,290 @@ var ManageCommentsSchema = zod.z.object({
257
257
  resolved: zod.z.boolean().optional(),
258
258
  includeResolved: zod.z.boolean().optional()
259
259
  });
260
+ var GetThemeInfoSchema = zod.z.object({
261
+ filePath: zod.z.string().describe("Path to the PPTX file")
262
+ });
263
+ var ApplyThemePresetSchema = zod.z.object({
264
+ filePath: zod.z.string().describe("Path to the PPTX file"),
265
+ presetName: zod.z.string().describe(
266
+ 'Theme preset name (e.g. "OFFICE", "MODERN_BLUE", "EARTH", "MONOCHROME", "VIBRANT", "CORPORATE", "MINIMAL", "DARK")'
267
+ )
268
+ });
269
+ var UpdateThemeColorsSchema = zod.z.object({
270
+ filePath: zod.z.string().describe("Path to the PPTX file"),
271
+ dk1: zod.z.string().optional().describe("Dark 1 color (hex)"),
272
+ lt1: zod.z.string().optional().describe("Light 1 color (hex)"),
273
+ dk2: zod.z.string().optional().describe("Dark 2 color (hex)"),
274
+ lt2: zod.z.string().optional().describe("Light 2 color (hex)"),
275
+ accent1: zod.z.string().optional().describe("Accent 1 color (hex)"),
276
+ accent2: zod.z.string().optional().describe("Accent 2 color (hex)"),
277
+ accent3: zod.z.string().optional().describe("Accent 3 color (hex)"),
278
+ accent4: zod.z.string().optional().describe("Accent 4 color (hex)"),
279
+ accent5: zod.z.string().optional().describe("Accent 5 color (hex)"),
280
+ accent6: zod.z.string().optional().describe("Accent 6 color (hex)"),
281
+ hlink: zod.z.string().optional().describe("Hyperlink color (hex)"),
282
+ folHlink: zod.z.string().optional().describe("Followed hyperlink color (hex)")
283
+ });
284
+ var UpdateThemeFontsSchema = zod.z.object({
285
+ filePath: zod.z.string().describe("Path to the PPTX file"),
286
+ majorFont: zod.z.string().optional().describe("Heading (major) font family"),
287
+ minorFont: zod.z.string().optional().describe("Body (minor) font family")
288
+ });
289
+ var UpdateChartSchema = zod.z.object({
290
+ filePath: zod.z.string().describe("Path to the PPTX file"),
291
+ slideIndex: zod.z.number().int().min(0).describe("Zero-based slide index"),
292
+ elementId: zod.z.string().describe("Chart element ID"),
293
+ chartType: zod.z.string().optional().describe("New chart type (bar, line, pie, scatter, area, doughnut, radar)"),
294
+ title: zod.z.string().optional().describe("Chart title"),
295
+ grouping: zod.z.enum(["clustered", "stacked", "percentStacked"]).optional().describe("Bar/column grouping"),
296
+ legend: zod.z.object({
297
+ show: zod.z.boolean().optional(),
298
+ position: zod.z.string().optional().describe("Legend position: b, t, l, r, tr")
299
+ }).optional().describe("Legend configuration"),
300
+ dataLabels: zod.z.object({
301
+ show: zod.z.boolean().optional(),
302
+ showValue: zod.z.boolean().optional(),
303
+ showCategory: zod.z.boolean().optional(),
304
+ showSeriesName: zod.z.boolean().optional(),
305
+ showPercent: zod.z.boolean().optional()
306
+ }).optional().describe("Data label configuration"),
307
+ axis: zod.z.object({
308
+ type: zod.z.string().describe("Axis type: valAx, catAx, dateAx, serAx"),
309
+ edit: zod.z.object({
310
+ min: zod.z.number().nullable().optional(),
311
+ max: zod.z.number().nullable().optional(),
312
+ majorUnit: zod.z.number().nullable().optional(),
313
+ title: zod.z.string().nullable().optional(),
314
+ numberFormat: zod.z.string().optional(),
315
+ majorGridlines: zod.z.boolean().optional(),
316
+ minorGridlines: zod.z.boolean().optional()
317
+ })
318
+ }).optional().describe("Axis configuration"),
319
+ categories: zod.z.array(zod.z.string()).optional().describe("Category axis labels")
320
+ });
321
+ var AddChartSeriesSchema = zod.z.object({
322
+ filePath: zod.z.string().describe("Path to the PPTX file"),
323
+ slideIndex: zod.z.number().int().min(0).describe("Zero-based slide index"),
324
+ elementId: zod.z.string().describe("Chart element ID"),
325
+ name: zod.z.string().describe("Series name"),
326
+ values: zod.z.array(zod.z.number()).describe("Data values"),
327
+ color: zod.z.string().optional().describe("Series color (hex)")
328
+ });
329
+ var RemoveChartSeriesSchema = zod.z.object({
330
+ filePath: zod.z.string().describe("Path to the PPTX file"),
331
+ slideIndex: zod.z.number().int().min(0).describe("Zero-based slide index"),
332
+ elementId: zod.z.string().describe("Chart element ID"),
333
+ seriesIndex: zod.z.number().int().min(0).describe("Zero-based series index to remove")
334
+ });
335
+ var UpdateChartSeriesDataSchema = zod.z.object({
336
+ filePath: zod.z.string().describe("Path to the PPTX file"),
337
+ slideIndex: zod.z.number().int().min(0).describe("Zero-based slide index"),
338
+ elementId: zod.z.string().describe("Chart element ID"),
339
+ seriesIndex: zod.z.number().int().min(0).describe("Zero-based series index"),
340
+ values: zod.z.array(zod.z.number()).describe("New data values")
341
+ });
342
+ var CreateChartSchema = zod.z.object({
343
+ filePath: zod.z.string().describe("Path to the PPTX file"),
344
+ slideIndex: zod.z.number().int().min(0).describe("Zero-based slide index"),
345
+ chartType: zod.z.string().describe("Chart type (bar, line, pie, scatter, area, doughnut, radar)"),
346
+ x: zod.z.number().optional().describe("X position in points"),
347
+ y: zod.z.number().optional().describe("Y position in points"),
348
+ width: zod.z.number().optional().describe("Width in points"),
349
+ height: zod.z.number().optional().describe("Height in points"),
350
+ title: zod.z.string().optional().describe("Chart title"),
351
+ categories: zod.z.array(zod.z.string()).optional().describe("Category labels"),
352
+ series: zod.z.array(
353
+ zod.z.object({
354
+ name: zod.z.string(),
355
+ values: zod.z.array(zod.z.number()),
356
+ color: zod.z.string().optional()
357
+ })
358
+ ).optional().describe("Data series"),
359
+ legend: zod.z.object({
360
+ show: zod.z.boolean(),
361
+ position: zod.z.string().optional()
362
+ }).optional().describe("Legend configuration")
363
+ });
364
+ var ManageSmartArtSchema = zod.z.object({
365
+ filePath: zod.z.string().describe("Path to the PPTX file"),
366
+ slideIndex: zod.z.number().int().min(0).describe("Zero-based slide index"),
367
+ elementId: zod.z.string().describe("SmartArt element ID"),
368
+ action: zod.z.enum([
369
+ "getNodes",
370
+ "addNode",
371
+ "removeNode",
372
+ "updateNodeText",
373
+ "reorderNode",
374
+ "promoteNode",
375
+ "demoteNode",
376
+ "decompose"
377
+ ]).describe("SmartArt action"),
378
+ nodeId: zod.z.string().optional().describe("Node ID (required for most actions)"),
379
+ text: zod.z.string().optional().describe("Text for addNode or updateNodeText"),
380
+ afterNodeId: zod.z.string().optional().describe("Insert after this node ID"),
381
+ direction: zod.z.number().optional().describe("Reorder direction: 1 (forward) or -1 (backward)")
382
+ });
383
+ var FindPlaceholdersSchema = zod.z.object({
384
+ filePath: zod.z.string().describe("Path to the PPTX file")
385
+ });
386
+ var ApplyTemplateSchema = zod.z.object({
387
+ filePath: zod.z.string().describe("Path to the PPTX file"),
388
+ data: zod.z.record(zod.z.string(), zod.z.unknown()).describe("Template data: keys are placeholder names, values are replacement values")
389
+ });
390
+ var GetMetadataSchema = zod.z.object({
391
+ filePath: zod.z.string().describe("Path to the PPTX file")
392
+ });
393
+ var UpdateMetadataSchema = zod.z.object({
394
+ filePath: zod.z.string().describe("Path to the PPTX file"),
395
+ title: zod.z.string().optional().describe("Presentation title"),
396
+ subject: zod.z.string().optional().describe("Subject"),
397
+ creator: zod.z.string().optional().describe("Creator/author name"),
398
+ keywords: zod.z.string().optional().describe("Keywords (comma-separated)"),
399
+ description: zod.z.string().optional().describe("Description/comments"),
400
+ lastModifiedBy: zod.z.string().optional().describe("Last modified by"),
401
+ category: zod.z.string().optional().describe("Category"),
402
+ company: zod.z.string().optional().describe("Company name"),
403
+ manager: zod.z.string().optional().describe("Manager name"),
404
+ customProperties: zod.z.array(
405
+ zod.z.object({
406
+ name: zod.z.string(),
407
+ value: zod.z.union([zod.z.string(), zod.z.number(), zod.z.boolean()])
408
+ })
409
+ ).optional().describe("Custom properties to set")
410
+ });
411
+ var ManageSectionsSchema = zod.z.object({
412
+ filePath: zod.z.string().describe("Path to the PPTX file"),
413
+ action: zod.z.enum(["list", "add", "remove", "reorder", "moveSlides", "getForSlide"]).describe("Section action"),
414
+ name: zod.z.string().optional().describe("Section name (for add)"),
415
+ slideIndices: zod.z.array(zod.z.number().int().min(0)).optional().describe("Slide indices (for add, moveSlides)"),
416
+ sectionId: zod.z.string().optional().describe("Section ID (for remove, moveSlides)"),
417
+ sectionIds: zod.z.array(zod.z.string()).optional().describe("Ordered section IDs (for reorder)"),
418
+ slideIndex: zod.z.number().int().min(0).optional().describe("Slide index (for getForSlide)")
419
+ });
420
+ var ExportToSvgSchema = zod.z.object({
421
+ filePath: zod.z.string().describe("Path to the PPTX file"),
422
+ slideIndices: zod.z.array(zod.z.number().int().min(0)).optional().describe("Specific slides to export (all if omitted)"),
423
+ includeHidden: zod.z.boolean().optional().describe("Include hidden slides"),
424
+ defaultFontFamily: zod.z.string().optional().describe("Default font family for SVG"),
425
+ defaultFontSize: zod.z.number().optional().describe("Default font size")
426
+ });
427
+ var ExportSlideSvgSchema = zod.z.object({
428
+ filePath: zod.z.string().describe("Path to the PPTX file"),
429
+ slideIndex: zod.z.number().int().min(0).describe("Zero-based slide index to export"),
430
+ defaultFontFamily: zod.z.string().optional().describe("Default font family for SVG"),
431
+ defaultFontSize: zod.z.number().optional().describe("Default font size")
432
+ });
433
+ var ManageHyperlinksSchema = zod.z.object({
434
+ filePath: zod.z.string().describe("Path to the PPTX file"),
435
+ slideIndex: zod.z.number().int().min(0).describe("Zero-based slide index"),
436
+ action: zod.z.enum(["list", "set", "remove"]).describe("Hyperlink action"),
437
+ elementId: zod.z.string().optional().describe("Element ID (for set/remove)"),
438
+ trigger: zod.z.enum(["click", "hover"]).optional().describe("Action trigger (default: click)"),
439
+ url: zod.z.string().optional().describe("URL for the hyperlink"),
440
+ tooltip: zod.z.string().optional().describe("Tooltip text"),
441
+ targetSlideIndex: zod.z.number().int().min(0).optional().describe("Target slide index for internal links"),
442
+ actionType: zod.z.enum(["url", "slide", "nextSlide", "prevSlide", "firstSlide", "lastSlide", "endShow"]).optional().describe("Link action type")
443
+ });
444
+ var ReplaceGeometrySchema = zod.z.object({
445
+ filePath: zod.z.string().describe("Path to the PPTX file"),
446
+ slideIndex: zod.z.number().int().min(0).describe("Zero-based slide index"),
447
+ elementId: zod.z.string().describe("Shape element ID"),
448
+ shapeType: zod.z.string().optional().describe('Preset shape type (e.g. "roundRect", "star5", "ellipse", "diamond")'),
449
+ svgPath: zod.z.string().optional().describe("Custom SVG path data (mutually exclusive with shapeType)"),
450
+ pathWidth: zod.z.number().optional().describe("Width of SVG path coordinate space"),
451
+ pathHeight: zod.z.number().optional().describe("Height of SVG path coordinate space"),
452
+ adjustments: zod.z.record(zod.z.string(), zod.z.number()).optional().describe("Shape adjustment values")
453
+ });
454
+ var SetElementLockSchema = zod.z.object({
455
+ filePath: zod.z.string().describe("Path to the PPTX file"),
456
+ slideIndex: zod.z.number().int().min(0).describe("Zero-based slide index"),
457
+ elementId: zod.z.string().describe("Element ID to lock/unlock"),
458
+ locked: zod.z.boolean().describe("Whether the element should be locked"),
459
+ noMove: zod.z.boolean().optional().describe("Prevent moving"),
460
+ noResize: zod.z.boolean().optional().describe("Prevent resizing"),
461
+ noRotation: zod.z.boolean().optional().describe("Prevent rotation"),
462
+ noSelect: zod.z.boolean().optional().describe("Prevent selection"),
463
+ noTextEdit: zod.z.boolean().optional().describe("Prevent text editing")
464
+ });
465
+ var ValidatePresentationSchema = zod.z.object({
466
+ filePath: zod.z.string().describe("Path to the PPTX file")
467
+ });
468
+ var RepairPresentationSchema = zod.z.object({
469
+ filePath: zod.z.string().describe("Path to the PPTX file")
470
+ });
471
+ var GetPresentationPropertiesSchema = zod.z.object({
472
+ filePath: zod.z.string().describe("Path to the PPTX file")
473
+ });
474
+ var UpdatePresentationPropertiesSchema = zod.z.object({
475
+ filePath: zod.z.string().describe("Path to the PPTX file"),
476
+ showType: zod.z.enum(["presented", "browsed", "kiosk"]).optional().describe("Slideshow mode"),
477
+ loopContinuously: zod.z.boolean().optional().describe("Loop the slideshow"),
478
+ showWithNarration: zod.z.boolean().optional().describe("Play narration"),
479
+ showWithAnimation: zod.z.boolean().optional().describe("Play animations"),
480
+ advanceMode: zod.z.enum(["manual", "useTimings"]).optional().describe("Slide advance mode"),
481
+ showSlidesMode: zod.z.enum(["all", "customShow", "range"]).optional().describe("Which slides to show"),
482
+ showSlidesFrom: zod.z.number().int().min(1).optional().describe("Range start (1-based)"),
483
+ showSlidesTo: zod.z.number().int().min(1).optional().describe("Range end (1-based)"),
484
+ penColor: zod.z.string().optional().describe("Annotation pen color (hex)")
485
+ });
486
+ var GetLayoutsSchema = zod.z.object({
487
+ filePath: zod.z.string().describe("Path to the PPTX file")
488
+ });
489
+ var ApplyLayoutSchema = zod.z.object({
490
+ filePath: zod.z.string().describe("Path to the PPTX file"),
491
+ slideIndex: zod.z.number().int().min(0).describe("Zero-based slide index"),
492
+ layoutName: zod.z.string().optional().describe("Layout name to apply"),
493
+ layoutType: zod.z.string().optional().describe("Layout type to apply (alternative to name)")
494
+ });
260
495
 
261
496
  exports.AccessibilityCheckSchema = AccessibilityCheckSchema;
497
+ exports.AddChartSeriesSchema = AddChartSeriesSchema;
262
498
  exports.AddElementSchema = AddElementSchema;
263
499
  exports.AddSlideSchema = AddSlideSchema;
500
+ exports.ApplyLayoutSchema = ApplyLayoutSchema;
501
+ exports.ApplyTemplateSchema = ApplyTemplateSchema;
502
+ exports.ApplyThemePresetSchema = ApplyThemePresetSchema;
264
503
  exports.ArrangeElementsSchema = ArrangeElementsSchema;
265
504
  exports.BatchUpdateElementsSchema = BatchUpdateElementsSchema;
266
505
  exports.CloneElementSchema = CloneElementSchema;
267
506
  exports.ConvertToMarkdownSchema = ConvertToMarkdownSchema;
507
+ exports.CreateChartSchema = CreateChartSchema;
268
508
  exports.DeleteElementsSchema = DeleteElementsSchema;
269
509
  exports.DeleteSlidesSchema = DeleteSlidesSchema;
270
510
  exports.DuplicateSlideSchema = DuplicateSlideSchema;
511
+ exports.ExportSlideSvgSchema = ExportSlideSvgSchema;
512
+ exports.ExportToSvgSchema = ExportToSvgSchema;
513
+ exports.FindPlaceholdersSchema = FindPlaceholdersSchema;
271
514
  exports.FindTextSchema = FindTextSchema;
515
+ exports.GetLayoutsSchema = GetLayoutsSchema;
516
+ exports.GetMetadataSchema = GetMetadataSchema;
517
+ exports.GetPresentationPropertiesSchema = GetPresentationPropertiesSchema;
272
518
  exports.GetSlideSchema = GetSlideSchema;
519
+ exports.GetThemeInfoSchema = GetThemeInfoSchema;
273
520
  exports.GroupElementsSchema = GroupElementsSchema;
274
521
  exports.ManageCommentsSchema = ManageCommentsSchema;
522
+ exports.ManageHyperlinksSchema = ManageHyperlinksSchema;
523
+ exports.ManageSectionsSchema = ManageSectionsSchema;
524
+ exports.ManageSmartArtSchema = ManageSmartArtSchema;
275
525
  exports.ManageTableStructureSchema = ManageTableStructureSchema;
526
+ exports.RemoveChartSeriesSchema = RemoveChartSeriesSchema;
276
527
  exports.ReorderSlidesSchema = ReorderSlidesSchema;
528
+ exports.RepairPresentationSchema = RepairPresentationSchema;
529
+ exports.ReplaceGeometrySchema = ReplaceGeometrySchema;
277
530
  exports.ReplaceTextSchema = ReplaceTextSchema;
278
531
  exports.SetCanvasSizeSchema = SetCanvasSizeSchema;
279
532
  exports.SetElementAnimationSchema = SetElementAnimationSchema;
533
+ exports.SetElementLockSchema = SetElementLockSchema;
280
534
  exports.SetSlideTransitionSchema = SetSlideTransitionSchema;
281
535
  exports.UngroupElementsSchema = UngroupElementsSchema;
536
+ exports.UpdateChartSchema = UpdateChartSchema;
537
+ exports.UpdateChartSeriesDataSchema = UpdateChartSeriesDataSchema;
282
538
  exports.UpdateElementSchema = UpdateElementSchema;
283
539
  exports.UpdateElementStyleSchema = UpdateElementStyleSchema;
540
+ exports.UpdateMetadataSchema = UpdateMetadataSchema;
541
+ exports.UpdatePresentationPropertiesSchema = UpdatePresentationPropertiesSchema;
284
542
  exports.UpdateSlidePropertiesSchema = UpdateSlidePropertiesSchema;
285
543
  exports.UpdateTableCellsSchema = UpdateTableCellsSchema;
544
+ exports.UpdateThemeColorsSchema = UpdateThemeColorsSchema;
545
+ exports.UpdateThemeFontsSchema = UpdateThemeFontsSchema;
546
+ exports.ValidatePresentationSchema = ValidatePresentationSchema;
@@ -255,5 +255,240 @@ var ManageCommentsSchema = z.object({
255
255
  resolved: z.boolean().optional(),
256
256
  includeResolved: z.boolean().optional()
257
257
  });
258
+ var GetThemeInfoSchema = z.object({
259
+ filePath: z.string().describe("Path to the PPTX file")
260
+ });
261
+ var ApplyThemePresetSchema = z.object({
262
+ filePath: z.string().describe("Path to the PPTX file"),
263
+ presetName: z.string().describe(
264
+ 'Theme preset name (e.g. "OFFICE", "MODERN_BLUE", "EARTH", "MONOCHROME", "VIBRANT", "CORPORATE", "MINIMAL", "DARK")'
265
+ )
266
+ });
267
+ var UpdateThemeColorsSchema = z.object({
268
+ filePath: z.string().describe("Path to the PPTX file"),
269
+ dk1: z.string().optional().describe("Dark 1 color (hex)"),
270
+ lt1: z.string().optional().describe("Light 1 color (hex)"),
271
+ dk2: z.string().optional().describe("Dark 2 color (hex)"),
272
+ lt2: z.string().optional().describe("Light 2 color (hex)"),
273
+ accent1: z.string().optional().describe("Accent 1 color (hex)"),
274
+ accent2: z.string().optional().describe("Accent 2 color (hex)"),
275
+ accent3: z.string().optional().describe("Accent 3 color (hex)"),
276
+ accent4: z.string().optional().describe("Accent 4 color (hex)"),
277
+ accent5: z.string().optional().describe("Accent 5 color (hex)"),
278
+ accent6: z.string().optional().describe("Accent 6 color (hex)"),
279
+ hlink: z.string().optional().describe("Hyperlink color (hex)"),
280
+ folHlink: z.string().optional().describe("Followed hyperlink color (hex)")
281
+ });
282
+ var UpdateThemeFontsSchema = z.object({
283
+ filePath: z.string().describe("Path to the PPTX file"),
284
+ majorFont: z.string().optional().describe("Heading (major) font family"),
285
+ minorFont: z.string().optional().describe("Body (minor) font family")
286
+ });
287
+ var UpdateChartSchema = z.object({
288
+ filePath: z.string().describe("Path to the PPTX file"),
289
+ slideIndex: z.number().int().min(0).describe("Zero-based slide index"),
290
+ elementId: z.string().describe("Chart element ID"),
291
+ chartType: z.string().optional().describe("New chart type (bar, line, pie, scatter, area, doughnut, radar)"),
292
+ title: z.string().optional().describe("Chart title"),
293
+ grouping: z.enum(["clustered", "stacked", "percentStacked"]).optional().describe("Bar/column grouping"),
294
+ legend: z.object({
295
+ show: z.boolean().optional(),
296
+ position: z.string().optional().describe("Legend position: b, t, l, r, tr")
297
+ }).optional().describe("Legend configuration"),
298
+ dataLabels: z.object({
299
+ show: z.boolean().optional(),
300
+ showValue: z.boolean().optional(),
301
+ showCategory: z.boolean().optional(),
302
+ showSeriesName: z.boolean().optional(),
303
+ showPercent: z.boolean().optional()
304
+ }).optional().describe("Data label configuration"),
305
+ axis: z.object({
306
+ type: z.string().describe("Axis type: valAx, catAx, dateAx, serAx"),
307
+ edit: z.object({
308
+ min: z.number().nullable().optional(),
309
+ max: z.number().nullable().optional(),
310
+ majorUnit: z.number().nullable().optional(),
311
+ title: z.string().nullable().optional(),
312
+ numberFormat: z.string().optional(),
313
+ majorGridlines: z.boolean().optional(),
314
+ minorGridlines: z.boolean().optional()
315
+ })
316
+ }).optional().describe("Axis configuration"),
317
+ categories: z.array(z.string()).optional().describe("Category axis labels")
318
+ });
319
+ var AddChartSeriesSchema = z.object({
320
+ filePath: z.string().describe("Path to the PPTX file"),
321
+ slideIndex: z.number().int().min(0).describe("Zero-based slide index"),
322
+ elementId: z.string().describe("Chart element ID"),
323
+ name: z.string().describe("Series name"),
324
+ values: z.array(z.number()).describe("Data values"),
325
+ color: z.string().optional().describe("Series color (hex)")
326
+ });
327
+ var RemoveChartSeriesSchema = z.object({
328
+ filePath: z.string().describe("Path to the PPTX file"),
329
+ slideIndex: z.number().int().min(0).describe("Zero-based slide index"),
330
+ elementId: z.string().describe("Chart element ID"),
331
+ seriesIndex: z.number().int().min(0).describe("Zero-based series index to remove")
332
+ });
333
+ var UpdateChartSeriesDataSchema = z.object({
334
+ filePath: z.string().describe("Path to the PPTX file"),
335
+ slideIndex: z.number().int().min(0).describe("Zero-based slide index"),
336
+ elementId: z.string().describe("Chart element ID"),
337
+ seriesIndex: z.number().int().min(0).describe("Zero-based series index"),
338
+ values: z.array(z.number()).describe("New data values")
339
+ });
340
+ var CreateChartSchema = z.object({
341
+ filePath: z.string().describe("Path to the PPTX file"),
342
+ slideIndex: z.number().int().min(0).describe("Zero-based slide index"),
343
+ chartType: z.string().describe("Chart type (bar, line, pie, scatter, area, doughnut, radar)"),
344
+ x: z.number().optional().describe("X position in points"),
345
+ y: z.number().optional().describe("Y position in points"),
346
+ width: z.number().optional().describe("Width in points"),
347
+ height: z.number().optional().describe("Height in points"),
348
+ title: z.string().optional().describe("Chart title"),
349
+ categories: z.array(z.string()).optional().describe("Category labels"),
350
+ series: z.array(
351
+ z.object({
352
+ name: z.string(),
353
+ values: z.array(z.number()),
354
+ color: z.string().optional()
355
+ })
356
+ ).optional().describe("Data series"),
357
+ legend: z.object({
358
+ show: z.boolean(),
359
+ position: z.string().optional()
360
+ }).optional().describe("Legend configuration")
361
+ });
362
+ var ManageSmartArtSchema = z.object({
363
+ filePath: z.string().describe("Path to the PPTX file"),
364
+ slideIndex: z.number().int().min(0).describe("Zero-based slide index"),
365
+ elementId: z.string().describe("SmartArt element ID"),
366
+ action: z.enum([
367
+ "getNodes",
368
+ "addNode",
369
+ "removeNode",
370
+ "updateNodeText",
371
+ "reorderNode",
372
+ "promoteNode",
373
+ "demoteNode",
374
+ "decompose"
375
+ ]).describe("SmartArt action"),
376
+ nodeId: z.string().optional().describe("Node ID (required for most actions)"),
377
+ text: z.string().optional().describe("Text for addNode or updateNodeText"),
378
+ afterNodeId: z.string().optional().describe("Insert after this node ID"),
379
+ direction: z.number().optional().describe("Reorder direction: 1 (forward) or -1 (backward)")
380
+ });
381
+ var FindPlaceholdersSchema = z.object({
382
+ filePath: z.string().describe("Path to the PPTX file")
383
+ });
384
+ var ApplyTemplateSchema = z.object({
385
+ filePath: z.string().describe("Path to the PPTX file"),
386
+ data: z.record(z.string(), z.unknown()).describe("Template data: keys are placeholder names, values are replacement values")
387
+ });
388
+ var GetMetadataSchema = z.object({
389
+ filePath: z.string().describe("Path to the PPTX file")
390
+ });
391
+ var UpdateMetadataSchema = z.object({
392
+ filePath: z.string().describe("Path to the PPTX file"),
393
+ title: z.string().optional().describe("Presentation title"),
394
+ subject: z.string().optional().describe("Subject"),
395
+ creator: z.string().optional().describe("Creator/author name"),
396
+ keywords: z.string().optional().describe("Keywords (comma-separated)"),
397
+ description: z.string().optional().describe("Description/comments"),
398
+ lastModifiedBy: z.string().optional().describe("Last modified by"),
399
+ category: z.string().optional().describe("Category"),
400
+ company: z.string().optional().describe("Company name"),
401
+ manager: z.string().optional().describe("Manager name"),
402
+ customProperties: z.array(
403
+ z.object({
404
+ name: z.string(),
405
+ value: z.union([z.string(), z.number(), z.boolean()])
406
+ })
407
+ ).optional().describe("Custom properties to set")
408
+ });
409
+ var ManageSectionsSchema = z.object({
410
+ filePath: z.string().describe("Path to the PPTX file"),
411
+ action: z.enum(["list", "add", "remove", "reorder", "moveSlides", "getForSlide"]).describe("Section action"),
412
+ name: z.string().optional().describe("Section name (for add)"),
413
+ slideIndices: z.array(z.number().int().min(0)).optional().describe("Slide indices (for add, moveSlides)"),
414
+ sectionId: z.string().optional().describe("Section ID (for remove, moveSlides)"),
415
+ sectionIds: z.array(z.string()).optional().describe("Ordered section IDs (for reorder)"),
416
+ slideIndex: z.number().int().min(0).optional().describe("Slide index (for getForSlide)")
417
+ });
418
+ var ExportToSvgSchema = z.object({
419
+ filePath: z.string().describe("Path to the PPTX file"),
420
+ slideIndices: z.array(z.number().int().min(0)).optional().describe("Specific slides to export (all if omitted)"),
421
+ includeHidden: z.boolean().optional().describe("Include hidden slides"),
422
+ defaultFontFamily: z.string().optional().describe("Default font family for SVG"),
423
+ defaultFontSize: z.number().optional().describe("Default font size")
424
+ });
425
+ var ExportSlideSvgSchema = z.object({
426
+ filePath: z.string().describe("Path to the PPTX file"),
427
+ slideIndex: z.number().int().min(0).describe("Zero-based slide index to export"),
428
+ defaultFontFamily: z.string().optional().describe("Default font family for SVG"),
429
+ defaultFontSize: z.number().optional().describe("Default font size")
430
+ });
431
+ var ManageHyperlinksSchema = z.object({
432
+ filePath: z.string().describe("Path to the PPTX file"),
433
+ slideIndex: z.number().int().min(0).describe("Zero-based slide index"),
434
+ action: z.enum(["list", "set", "remove"]).describe("Hyperlink action"),
435
+ elementId: z.string().optional().describe("Element ID (for set/remove)"),
436
+ trigger: z.enum(["click", "hover"]).optional().describe("Action trigger (default: click)"),
437
+ url: z.string().optional().describe("URL for the hyperlink"),
438
+ tooltip: z.string().optional().describe("Tooltip text"),
439
+ targetSlideIndex: z.number().int().min(0).optional().describe("Target slide index for internal links"),
440
+ actionType: z.enum(["url", "slide", "nextSlide", "prevSlide", "firstSlide", "lastSlide", "endShow"]).optional().describe("Link action type")
441
+ });
442
+ var ReplaceGeometrySchema = z.object({
443
+ filePath: z.string().describe("Path to the PPTX file"),
444
+ slideIndex: z.number().int().min(0).describe("Zero-based slide index"),
445
+ elementId: z.string().describe("Shape element ID"),
446
+ shapeType: z.string().optional().describe('Preset shape type (e.g. "roundRect", "star5", "ellipse", "diamond")'),
447
+ svgPath: z.string().optional().describe("Custom SVG path data (mutually exclusive with shapeType)"),
448
+ pathWidth: z.number().optional().describe("Width of SVG path coordinate space"),
449
+ pathHeight: z.number().optional().describe("Height of SVG path coordinate space"),
450
+ adjustments: z.record(z.string(), z.number()).optional().describe("Shape adjustment values")
451
+ });
452
+ var SetElementLockSchema = z.object({
453
+ filePath: z.string().describe("Path to the PPTX file"),
454
+ slideIndex: z.number().int().min(0).describe("Zero-based slide index"),
455
+ elementId: z.string().describe("Element ID to lock/unlock"),
456
+ locked: z.boolean().describe("Whether the element should be locked"),
457
+ noMove: z.boolean().optional().describe("Prevent moving"),
458
+ noResize: z.boolean().optional().describe("Prevent resizing"),
459
+ noRotation: z.boolean().optional().describe("Prevent rotation"),
460
+ noSelect: z.boolean().optional().describe("Prevent selection"),
461
+ noTextEdit: z.boolean().optional().describe("Prevent text editing")
462
+ });
463
+ var ValidatePresentationSchema = z.object({
464
+ filePath: z.string().describe("Path to the PPTX file")
465
+ });
466
+ var RepairPresentationSchema = z.object({
467
+ filePath: z.string().describe("Path to the PPTX file")
468
+ });
469
+ var GetPresentationPropertiesSchema = z.object({
470
+ filePath: z.string().describe("Path to the PPTX file")
471
+ });
472
+ var UpdatePresentationPropertiesSchema = z.object({
473
+ filePath: z.string().describe("Path to the PPTX file"),
474
+ showType: z.enum(["presented", "browsed", "kiosk"]).optional().describe("Slideshow mode"),
475
+ loopContinuously: z.boolean().optional().describe("Loop the slideshow"),
476
+ showWithNarration: z.boolean().optional().describe("Play narration"),
477
+ showWithAnimation: z.boolean().optional().describe("Play animations"),
478
+ advanceMode: z.enum(["manual", "useTimings"]).optional().describe("Slide advance mode"),
479
+ showSlidesMode: z.enum(["all", "customShow", "range"]).optional().describe("Which slides to show"),
480
+ showSlidesFrom: z.number().int().min(1).optional().describe("Range start (1-based)"),
481
+ showSlidesTo: z.number().int().min(1).optional().describe("Range end (1-based)"),
482
+ penColor: z.string().optional().describe("Annotation pen color (hex)")
483
+ });
484
+ var GetLayoutsSchema = z.object({
485
+ filePath: z.string().describe("Path to the PPTX file")
486
+ });
487
+ var ApplyLayoutSchema = z.object({
488
+ filePath: z.string().describe("Path to the PPTX file"),
489
+ slideIndex: z.number().int().min(0).describe("Zero-based slide index"),
490
+ layoutName: z.string().optional().describe("Layout name to apply"),
491
+ layoutType: z.string().optional().describe("Layout type to apply (alternative to name)")
492
+ });
258
493
 
259
- export { AccessibilityCheckSchema, AddElementSchema, AddSlideSchema, ArrangeElementsSchema, BatchUpdateElementsSchema, CloneElementSchema, ConvertToMarkdownSchema, DeleteElementsSchema, DeleteSlidesSchema, DuplicateSlideSchema, FindTextSchema, GetSlideSchema, GroupElementsSchema, ManageCommentsSchema, ManageTableStructureSchema, ReorderSlidesSchema, ReplaceTextSchema, SetCanvasSizeSchema, SetElementAnimationSchema, SetSlideTransitionSchema, UngroupElementsSchema, UpdateElementSchema, UpdateElementStyleSchema, UpdateSlidePropertiesSchema, UpdateTableCellsSchema };
494
+ export { AccessibilityCheckSchema, AddChartSeriesSchema, AddElementSchema, AddSlideSchema, ApplyLayoutSchema, ApplyTemplateSchema, ApplyThemePresetSchema, ArrangeElementsSchema, BatchUpdateElementsSchema, CloneElementSchema, ConvertToMarkdownSchema, CreateChartSchema, DeleteElementsSchema, DeleteSlidesSchema, DuplicateSlideSchema, ExportSlideSvgSchema, ExportToSvgSchema, FindPlaceholdersSchema, FindTextSchema, GetLayoutsSchema, GetMetadataSchema, GetPresentationPropertiesSchema, GetSlideSchema, GetThemeInfoSchema, GroupElementsSchema, ManageCommentsSchema, ManageHyperlinksSchema, ManageSectionsSchema, ManageSmartArtSchema, ManageTableStructureSchema, RemoveChartSeriesSchema, ReorderSlidesSchema, RepairPresentationSchema, ReplaceGeometrySchema, ReplaceTextSchema, SetCanvasSizeSchema, SetElementAnimationSchema, SetElementLockSchema, SetSlideTransitionSchema, UngroupElementsSchema, UpdateChartSchema, UpdateChartSeriesDataSchema, UpdateElementSchema, UpdateElementStyleSchema, UpdateMetadataSchema, UpdatePresentationPropertiesSchema, UpdateSlidePropertiesSchema, UpdateTableCellsSchema, UpdateThemeColorsSchema, UpdateThemeFontsSchema, ValidatePresentationSchema };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pptx-viewer-mcp",
3
- "version": "1.1.26",
3
+ "version": "1.2.0",
4
4
  "description": "PowerPoint PPTX tools and MCP server: manipulate, convert, and collaborate on .pptx files from AI agents.",
5
5
  "keywords": [
6
6
  "ai",