Skip to content
PluginStats

pptx-viewer-mcp weekly downloads statistics

By ChristopherVR · npm · MCP servers

pptx-viewer MCP server and tools: manipulate, convert, and collaborate on PowerPoint .pptx files from AI agents.

View on npm Fresh · Oct 17, 2026

pptx-viewer-mcp has 6,294 recorded weekly downloads on npm, a decrease of 5.8% over the past 30 days.

It ranks #1025 of 2,251 tracked npm listings by weekly downloads.

Over 90 days, weekly downloads changed by +761%.

PluginStats has 543 daily observations since Apr 23, 2025; the latest is from Oct 17, 2026.

Weekly downloads
6,294
Official API · Oct 17, 2026
7-day growth
-65.1%
-11.7K weekly downloads
30-day growth
-5.8%
-386 weekly downloads
90-day growth
+761%
+5.6K weekly downloads
Rank
#1025
Among tracked npm listings

About pptx-viewer-mcp

pptx-viewer-mcp

Edit PowerPoint files from an AI agent. It ships a ready-to-run MCP server with 73 PowerPoint editing tools, including adding slides, replacing text, editing charts, and updating embedded objects. The same operations are available as plain functions you can call yourself, alongside their Zod input schemas and a codec for real-time collaboration (Y.Doc). The pptx-viewer-core engine is a dependency, so one install provides the complete editing stack.

• Live demo: https://christophervr.github.io/ooxml/pptx/demo/ • Docs: https://christophervr.github.io/ooxml/pptx/

Part of ooxml: Office · Word · Excel · PowerPoint · Visio · OpenTeams · Core

Quick start

This package is, first and foremost, an MCP server. The recommended way to use it is to point an MCP client at the published binary. Calling the tools as a library is a secondary, lower-level option (see Use as a library).

1. Run as an MCP server (recommended)

No clone, no build, no separate core install. Point your MCP client at the published binary via npx:

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.

This works in Claude Desktop, Claude Code, Cursor, and any MCP-compatible client. All 73 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 loading and saving 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.

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.

2. Use as a library (advanced)

If you are embedding PPTX editing in your own app instead of running the MCP server, install the package once:

The pptx-viewer-core engine is a regular dependency, so it installs automatically. You import everything you need (tools and the engine) from pptx-viewer-mcp, with no separate pptx-viewer-core install or import:

See Use as a library below for the higher-level executeToolWithContext helper that handles the load and save cycle for you.

Exports

| Entry point | Contents |

| pptx-viewer-mcp | Tool functions, the PptxHandler engine, provider types, and the execution pipeline | | pptx-viewer-mcp/schemas | Zod schemas for every tool input | | pptx-viewer-mcp/codec | PptxCodec, the Y.Doc to PPTX bytes codec | | pptx-viewer-mcp/mcp | The runnable stdio server entry (what npx pptx-viewer-mcp executes); importing it starts the server |

Tools

| Group | Tools |

| Slide (8) | getSlide addSlide deleteSlides reorderSlides duplicateSlide updateSlideProperties setSlideTransition setCanvasSize | | Element (10) | addElement updateElement renameElement deleteElements arrangeElements cloneElement setElementAnimation groupElements ungroupElements batchUpdateElements | | Table (2) | updateTableCells manageTableStructure | | Table style (4) | setTableStyleSection createTableStyle deleteTableStyle assignTableStyle | | Style (2) | updateElementStyle runAccessibilityCheck | | Content (3) | findText replaceText manageComments | | Chart (14) | createChart updateChart addChartSeries removeChartSeries updateChartSeriesData listChartUserShapes addChartUserShape updateChartUserShape removeChartUserShape formatChartDataPoint formatChartDataLabel formatChartSeries setChartHelperLine setChartColorMapOverride | | Theme (4) | getThemeInfo applyThemePreset updateThemeColors updateThemeFonts | | SmartArt (1) | manageSmartArt | | Conversion (1) | convertToMarkdown | | Template (2) | findPlaceholders applyTemplate | | Metadata (2) | getMetadata updateMetadata | | Sections (1) | manageSections | | Export (2) | exportToSvg exportSlideSvg | | JSON (2) | exportToJson importFromJson | | Hyperlinks (1) | manageHyperlinks | | Geometry (1) | replaceGeometry | | Locking (1) | setElementLock | | Validation (2) | validatePresentation repairPresentation | | Presentation (2) | getPresentationProperties updatePresentationProperties | | Layout (2) | getLayouts applyLayout | | Embedded objects (6) | getOleContent setOleSheetCell setOleDocumentParagraph setOleDeckSlideTitle replaceOleFile setOleObjectName |

Use as a library

These APIs back the MCP server. Reach for them when you embed PPTX editing directly rather than running the server.

Call tools directly

Each tool is a plain function: it takes the presentation data in and returns the changed data out, without reading or writing files itself and without depending on any framework. The basic load, edit, save loop is shown in Use as a library (advanced) above.

Wrap load, tool, and save with executeToolWithContext

executeToolWithContext handles the load and save cycle and, when a collaboration room is supplied, routes changes through a live Y.Doc instead of the disk.

When you supply collaboration on the ExecutionContext, the tool reads the current shared (Y.Doc) state before running and writes the result back into it after saving, so other people in the session see the change without reloading the file.

Architecture

CollaborationProvider, FileSystemProvider, and ViewerProvider are plain interfaces. Implement them for any runtime (Node, Electron, browser, or edge worker).

Development

How it is built

Document operations, load/save execution and the Y.Doc codec are owned by ooxml-core/pptx/automation. This repository owns MCP schemas, registration and the stdio CLI. Compatibility exports retain the existing library API. The /mcp import exports createServer({ rootDir }) and `registerTools(server, { rootDir })` without starting a transport; the CLI starts stdio separately.

License

Apache-2.0

Description from the npm listing.

  • ai
  • collaboration
  • converter
  • mcp
  • office
  • openxml
  • powerpoint
  • ppt
  • pptx
  • pptx-viewer
  • presentation
  • tools

Where pptx-viewer-mcp sits in the listing

Each band is one page of 20. Weekly downloads on a log scale. Placement is projected from weekly downloads, so it can differ from the marketplace's own sort order. Hover a dot to see the listing.

All npm2,248 listings · 113 pages · page 52, #5 (overall #1025)
All npm: every listing in weekly downloads order
PNG SVG
MCP servers253 listings · 13 pages · page 10, #8 (overall #188)
MCP servers: every listing in weekly downloads order
PNG SVG

Charts

Images: 30d · 1y · all time · 1600×900 dark

Adoption over time

pptx-viewer-mcp weekly downloads on npm, last 90 days: 6,294 weekly downloads as of Oct 17, 2026, +761% over 90 days.pptx-viewer-mcpWeekly downloads on npm · Last 90 days6,294downloads / week+761% over 90 days05K10K15K20K25KJul 19Aug 3Aug 18Sep 2Sep 17Oct 2Oct 17downloads / weekobservedarchived (Internet Archive)no observationsJul 20, 2026 – Oct 17, 2026 · 90 observations · Updated Oc…pluginstats.com
pptx-viewer-mcp weekly downloads on npm, last 90 days: 6,294 weekly downloads as of Oct 17, 2026, +761% over 90 days.
PNG SVG

7/30/90-day growth

pptx-viewer-mcp weekly downloads growth on npm: -65.1% over 7 days, -5.8% over 30 days, +761% over 90 days.pptx-viewer-mcpWeekly downloads growth on npm6,294downloads / week now7-day growth-11,738 weekly downloads-65.1%30-day growth-386 weekly downloads-5.8%90-day growth+5,563 weekly downloads+761%Growth vs. nearest observation to each baseline date · Updated Oct 17, 2026pluginstats.com
pptx-viewer-mcp weekly downloads growth on npm: -65.1% over 7 days, -5.8% over 30 days, +761% over 90 days.
PNG SVG

Ranking history

pptx-viewer-mcp npm ranking history: currently #1025 (by weekly downloads).pptx-viewer-mcpnpm ranking · by weekly downloads · Last 90 days#1025current rank#300#400#500#600#700#800#900#1000#1100Jul 20Aug 4Aug 19Sep 3Sep 18Oct 3Oct 18rankOct 17, 2026 – Oct 18, 2026 · 2 observations · Updated Oct 17, 2026pluginstats.com
pptx-viewer-mcp npm ranking history: currently #1025 (by weekly downloads).
PNG SVG

Filled points are observed values; hollow points come from Internet Archive snapshots of the listing page. Dashed segments span periods with no observations — values between points are not interpolated.

Recent observations

Full history (543)
Recent weekly downloads observations for pptx-viewer-mcp
Date (UTC)Weekly downloadsChange vs. previous
6,294-1.7K
7,970-587
8,557-3.5K
12,035-3.8K
15,8010
15,801-1.1K
16,883-1.1K
18,032-2.9K
20,895-73
20,968+1.2K
19,751+585
19,166-2.8K
21,922+475
21,447—

Similar npm MCP servers plugins

Data source

Weekly downloads (trailing 7 complete days) come from the official npm downloads API. Downloads include CI and mirrors and are not equivalent to installs or users. npm publishes no ratings.

Listing: https://www.npmjs.com/package/pptx-viewer-mcp. First seen Oct 16, 2026; last successful collection Oct 18, 2026. See the methodology.