pptx-viewer-mcp 1.3.0 → 1.3.2

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/CHANGELOG.md CHANGED
@@ -4,6 +4,18 @@ All notable changes to this project are documented here.
4
4
  This file is generated from [Conventional Commits](https://www.conventionalcommits.org)
5
5
  by [git-cliff](https://git-cliff.org); do not edit it by hand.
6
6
 
7
+ ## [1.3.1](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-viewer-mcp@1.3.1) - 2026-07-17
8
+
9
+ ### Dependencies
10
+
11
+ - **deps:** Update outdated dependencies within semver ranges (by @ChristopherVR) ([3249d8e](https://github.com/ChristopherVR/pptx-viewer/commit/3249d8ecd53ea79089f87f942f2c88caae840466))
12
+
13
+ ## [1.3.0](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-viewer-mcp@1.3.0) - 2026-07-16
14
+
15
+ ### Documentation
16
+
17
+ - **packages:** Add package-specific readme visuals (by @ChristopherVR) ([9e20f13](https://github.com/ChristopherVR/pptx-viewer/commit/9e20f133dc8f21db75a1ca5e46e77c0af3c96d66))
18
+
7
19
  ## [1.2.2](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-viewer-mcp@1.2.2) - 2026-07-13
8
20
 
9
21
  ### Bug Fixes
package/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
  [![npm](https://img.shields.io/npm/v/pptx-viewer-mcp.svg)](https://www.npmjs.com/package/pptx-viewer-mcp)
4
4
  [![license](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](LICENSE)
5
5
 
6
- Edit PowerPoint files from an AI agent. It ships a ready-to-run [MCP](https://modelcontextprotocol.io) server that gives an agent 25 PowerPoint editing tools (for example "add a slide" or "replace text"). The same tools are also available as plain functions you can call yourself, along with their Zod input schemas and a codec for real-time collaboration (Y.Doc). The [`pptx-viewer-core`](https://www.npmjs.com/package/pptx-viewer-core) engine is bundled in, so a single install gives you everything and you never install the core separately.
6
+ Edit PowerPoint files from an AI agent. It ships a ready-to-run [MCP](https://modelcontextprotocol.io) server that gives an agent 51 PowerPoint editing tools (for example "add a slide" or "replace text"). The same tools are also available as plain functions you can call yourself, along with their Zod input schemas and a codec for real-time collaboration (Y.Doc). The [`pptx-viewer-core`](https://www.npmjs.com/package/pptx-viewer-core) engine is bundled in, so a single install gives you everything and you never install the core separately.
7
7
 
8
8
  ![An AI agent calling validated MCP tools to edit and save a PowerPoint file](https://raw.githubusercontent.com/ChristopherVR/pptx-viewer/main/.github/assets/packages/mcp-tools.svg)
9
9
 
@@ -31,7 +31,7 @@ No clone, no build, no separate core install. Point your MCP client at the publi
31
31
 
32
32
  That is the entire setup. `npx` downloads `pptx-viewer-mcp` and its bundled `pptx-viewer-core` engine on first run, so there is nothing else to install. Add the config above, restart your client, and the tools are available.
33
33
 
34
- This works in Claude Desktop, Claude Code, Cursor, and any MCP-compatible client. All 25 tools are exposed over stdio in snake_case (for example `add_slide`, `batch_update_elements`). Every tool takes a `filePath` argument and the server handles load and save internally. File access is scoped to a root directory (`PPTX_TOOLS_ROOT`, defaulting to the process working directory) and restricted to `.pptx` and `.ppt` files.
34
+ This works in Claude Desktop, Claude Code, Cursor, and any MCP-compatible client. All 51 tools are exposed over stdio in snake_case (for example `add_slide`, `batch_update_elements`). Every tool takes a `filePath` argument and the server handles load and save internally. File access is scoped to a root directory (`PPTX_TOOLS_ROOT`, defaulting to the process working directory) and restricted to `.pptx` and `.ppt` files.
35
35
 
36
36
  > If you prefer a global install (`npm i -g pptx-viewer-mcp`), the same server is available as the `pptx-tools` binary. Point `command` at `pptx-tools` with no args.
37
37
 
@@ -71,23 +71,31 @@ See [Use as a library](#use-as-a-library) below for the higher-level `executeToo
71
71
 
72
72
  ## Exports
73
73
 
74
- | Entry point | Contents |
75
- | ------------------------- | --------------------------------------------------------------------------------------- |
76
- | `pptx-viewer-mcp` | 25 tool functions, the `PptxHandler` engine, provider types, and the execution pipeline |
77
- | `pptx-viewer-mcp/schemas` | Zod schemas for every tool input |
78
- | `pptx-viewer-mcp/codec` | `PptxCodec`, the Y.Doc to PPTX bytes codec |
79
- | `pptx-viewer-mcp/mcp` | `createServer()`, the programmatic MCP server factory |
74
+ | Entry point | Contents |
75
+ | ------------------------- | ----------------------------------------------------------------------------------------------------- |
76
+ | `pptx-viewer-mcp` | 51 tool functions, the `PptxHandler` engine, provider types, and the execution pipeline |
77
+ | `pptx-viewer-mcp/schemas` | Zod schemas for every tool input |
78
+ | `pptx-viewer-mcp/codec` | `PptxCodec`, the Y.Doc to PPTX bytes codec |
79
+ | `pptx-viewer-mcp/mcp` | The runnable stdio server entry (what `npx pptx-viewer-mcp` executes); importing it starts the server |
80
80
 
81
81
  ## Tools
82
82
 
83
- | Group | Tools |
84
- | -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
85
- | Slide (8) | `getSlide` `addSlide` `deleteSlides` `reorderSlides` `duplicateSlide` `updateSlideProperties` `setSlideTransition` `setCanvasSize` |
86
- | Element (9) | `addElement` `updateElement` `deleteElements` `arrangeElements` `cloneElement` `setElementAnimation` `groupElements` `ungroupElements` `batchUpdateElements` |
87
- | Table (2) | `updateTableCells` `manageTableStructure` |
88
- | Style (2) | `updateElementStyle` `runAccessibilityCheck` |
89
- | Content (3) | `findText` `replaceText` `manageComments` |
90
- | Conversion (1) | `convertToMarkdown` |
83
+ | Group | Tools |
84
+ | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
85
+ | Slide (8) | `getSlide` `addSlide` `deleteSlides` `reorderSlides` `duplicateSlide` `updateSlideProperties` `setSlideTransition` `setCanvasSize` |
86
+ | Element (9) | `addElement` `updateElement` `deleteElements` `arrangeElements` `cloneElement` `setElementAnimation` `groupElements` `ungroupElements` `batchUpdateElements` |
87
+ | Table (2) | `updateTableCells` `manageTableStructure` |
88
+ | Style (2) | `updateElementStyle` `runAccessibilityCheck` |
89
+ | Content (3) | `findText` `replaceText` `manageComments` |
90
+ | Chart (5) | `createChart` `updateChart` `addChartSeries` `removeChartSeries` `updateChartSeriesData` |
91
+ | Theme (4) | `getThemeInfo` `applyThemePreset` `updateThemeColors` `updateThemeFonts` |
92
+ | SmartArt (1) | `manageSmartArt` |
93
+ | Template & layout (4) | `findPlaceholders` `applyTemplate` `getLayouts` `applyLayout` |
94
+ | Metadata & properties (4) | `getMetadata` `updateMetadata` `getPresentationProperties` `updatePresentationProperties` |
95
+ | Sections & hyperlinks (2) | `manageSections` `manageHyperlinks` |
96
+ | Geometry & locking (2) | `replaceGeometry` `setElementLock` |
97
+ | Validation (2) | `validatePresentation` `repairPresentation` |
98
+ | Export & conversion (3) | `convertToMarkdown` `exportToSvg` `exportSlideSvg` |
91
99
 
92
100
  ## Use as a library
93
101
 
@@ -1 +1 @@
1
- export { };
1
+ export {}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../../src/schemas/slide-schemas.ts","../../src/schemas/element-schemas.ts","../../src/schemas/table-style-schemas.ts","../../src/schemas/theme-schemas.ts","../../src/schemas/chart-schemas.ts","../../src/schemas/smartart-schemas.ts","../../src/schemas/template-schemas.ts","../../src/schemas/metadata-schemas.ts","../../src/schemas/section-schemas.ts","../../src/schemas/export-schemas.ts","../../src/schemas/hyperlink-schemas.ts","../../src/schemas/geometry-schemas.ts","../../src/schemas/lock-schemas.ts","../../src/schemas/validation-schemas.ts","../../src/schemas/presentation-schemas.ts","../../src/schemas/layout-schemas.ts"],"mappings":";;cAEa,gBAAc,EAAA;;;;cAKd,gBAAc,EAAA;;;;;cAMd,oBAAkB,EAAA;;;;cAKlB,qBAAmB,EAAA;;;;cAKnB,sBAAoB,EAAA;;;;;cAMpB,6BAA2B,EAAA;;;;;;;;;cAU3B,0BAAwB,EAAA;;;;;;;;;cAUxB,qBAAmB,EAAA;;;;;cAMnB,yBAAuB,EAAA;;;;;;;;;;;;cAgBvB,0BAAwB,EAAA;;;;;cCrExB,kBAAgB,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAgChB,qBAAmB,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA0BnB,sBAAoB,EAAA;;;;;cAMpB,uBAAqB,EAAA;;;;;;;;;;;;;;;;;;;;;;;;cAUrB,oBAAkB,EAAA;;;;;;;;cASlB,2BAAyB,EAAA;;;;;;;;;;cAWzB,qBAAmB,EAAA;;;;;cAMnB,uBAAqB,EAAA;;;;;cAMrB,2BAAyB,EAAA;;;;;;;;;;;;;;cC1GzB,wBAAsB,EAAA;;;;;;;;;;cAgBtB,4BAA0B,EAAA;;;;;;;;;;;;;;cAU1B,0BAAwB,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA0CxB,gBAAc,EAAA;;;;;;;cAWd,mBAAiB,EAAA;;;;;;;;cASjB,sBAAoB,EAAA;;;;;;;;;;;;;;;;;cCxFpB,oBAAkB,EAAA;;;cAIlB,wBAAsB,EAAA;;;;cAStB,yBAAuB,EAAA;;;;;;;;;;;;;;;cAgBvB,wBAAsB,EAAA;;;;;;;cC7BtB,mBAAiB,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAgDjB,sBAAoB,EAAA;;;;;;;;cASpB,yBAAuB,EAAA;;;;;;cAOvB,6BAA2B,EAAA;;;;;;;cAQ3B,mBAAiB,EAAA;;;;;;;;;;;;;;;;;;;;;;cCxEjB,sBAAoB,EAAA;;;;;;;;;;;;;;;;;;;;;cCApB,wBAAsB,EAAA;;;cAItB,qBAAmB,EAAA;;;;;;cCJnB,mBAAiB,EAAA;;;cAIjB,sBAAoB,EAAA;;;;;;;;;;;;;;;;;;cCJpB,sBAAoB,EAAA;;;;;;;;;;;;;;;;;;cCApB,mBAAiB,EAAA;;;;;;;cAWjB,sBAAoB,EAAA;;;;;;;;cCXpB,wBAAsB,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;cCAtB,uBAAqB,EAAA;;;;;;;;;;;;cCArB,sBAAoB,EAAA;;;;;;;;;;;;;cCApB,4BAA0B,EAAA;;;cAI1B,0BAAwB,EAAA;;;;;cCJxB,iCAA+B,EAAA;;;cAI/B,oCAAkC,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;cCJlC,kBAAgB,EAAA;;;cAIhB,mBAAiB,EAAA"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../src/schemas/slide-schemas.ts","../../src/schemas/element-schemas.ts","../../src/schemas/table-style-schemas.ts","../../src/schemas/theme-schemas.ts","../../src/schemas/chart-schemas.ts","../../src/schemas/smartart-schemas.ts","../../src/schemas/template-schemas.ts","../../src/schemas/metadata-schemas.ts","../../src/schemas/section-schemas.ts","../../src/schemas/export-schemas.ts","../../src/schemas/hyperlink-schemas.ts","../../src/schemas/geometry-schemas.ts","../../src/schemas/lock-schemas.ts","../../src/schemas/validation-schemas.ts","../../src/schemas/presentation-schemas.ts","../../src/schemas/layout-schemas.ts"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pptx-viewer-mcp",
3
- "version": "1.3.0",
3
+ "version": "1.3.2",
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",
@@ -70,16 +70,16 @@
70
70
  },
71
71
  "dependencies": {
72
72
  "@modelcontextprotocol/sdk": "^1.29.0",
73
- "fast-xml-parser": "^5.10.0",
73
+ "fast-xml-parser": "^5.10.1",
74
74
  "jszip": "^3.10.1",
75
75
  "pptx-viewer-core": "^1.1.0",
76
76
  "zod": "^4.4.3"
77
77
  },
78
78
  "devDependencies": {
79
- "tsdown": "^0.22.7",
79
+ "tsdown": "^0.22.9",
80
80
  "tsup": "^8.5.1",
81
81
  "typescript": "^7.0.2",
82
- "vitest": "^4.1.9",
82
+ "vitest": "^4.1.10",
83
83
  "yjs": "^13.6.31"
84
84
  },
85
85
  "peerDependencies": {