Changelog¶
[0.1.4] - 2026-07-28¶
Patch Changes¶
- #42
ec2f011Thanks @sbroenne! - The MCP Server and CLI standalone.exerelease downloads are now trimmed, reducing their download size by roughly 29% (CLI: ~185MB → ~131MB). Also fixed an intermittent failure in chart creation/data operations that could occur immediately after adding or replacing chart data.
[0.1.1] - 2026-07-22¶
Minor Changes¶
-
#32
778240dThanks @sbroenne! - Aligned mcp-server-powerpoint's architecture and tooling with mcp-server-excel, the authoritative template for this family of projects: -
Single MCP dispatch tool: replaced the 12 separate presentation-related MCP tools with one
presentationtool taking anactionparameter, matching Excel's dispatch pattern. Added matching CLI session-management commands so the CLI and MCP Server remain equal, parity-checked entry points. - COM object cleanup: every
dynamicCOM object obtained inside a Core Commands method is now released in afinallyblock once no longer needed, instead of relying solely on the top-level session Application/Presentation cleanup. This closes a class of potential COM object leaks under heavy or long-running use. - Crash-safety process tracking: PowerPoint process IDs are now tracked in a process-wide registry with an
AppDomain.ProcessExithandler that force-kills any still-runningPOWERPNT.exeif the host process itself terminates uncleanly (crash, forced kill, etc.), closing a gap versus Excel's existing crash-safety net. - Ported audit scripts from mcp-server-excel:
check-com-leaks.ps1,check-success-flag.ps1,check-dynamic-casts.ps1, and a newcheck-core-interface-completeness.ps1tailored to this project's generate-enums-from-interface architecture. All are wired into the pre-commit hook. - Corrected stale documentation (tool/operation/domain counts) across the README, docs site, and skills files.
No behavior change for existing MCP tool calls beyond the dispatch-tool consolidation; CLI commands are unaffected.
Patch Changes¶
-
#26
ddb6808Thanks @sbroenne! - Aligned the project's public-facing docs with the leading sister projectmcp-server-excel: ported the daily GitHub star-history chart. Addedscripts/Update-StarHistory.ps1(generates a theme-aware SVG from live stargazer data) and wired it into thedeploy-gh-pagesworkflow with a daily schedule, then added a "GitHub Star History" section to both the README and the docs-site homepage. The generated SVG is produced in CI and gitignored, mirroring Excel's setup. Repository description, homepage URL, and topics were also updated to match Excel's format. -
#33
9663e7aThanks @sbroenne! - Fixed stale tool/operation counts (#33): the docs advertised "132 operations" even though theimagetool gainedset-crop/get-cropa while back, bringing the real total to 134 operations across 13 tools. Fixed across the README, MCP Server README, mcpb README, and the public docs site.
Also replaced the old path-filtered build workflows with a single CI Gate workflow that runs on every pull request, and added a documentation count-check to the pre-commit hook so this kind of drift is caught automatically going forward.
-
#35
3f72daeThanks @sbroenne! - Critical repo review remediation — a pass comparing this repo againstmcp-server-excel(the architectural template) surfaced several gaps, now fixed: -
Added
get-font-size,get-bold, andget-font-coloroperations to thetextframetool (previously only theset-variants existed), bringing the total to 137 operations across 13 tools. - Fixed several COM reference leaks in the Chart/Shape/Image/Animation/ Presentation/Slide commands — every manually-acquired COM object is now released via
ComUtilities.Releasein afinallyblock. - Fixed ComInterop lifecycle bugs and removed dead code left over from the original Excel-to-PowerPoint port (
ServiceRegistryGenerator's unusedGetShortAliashelper and strayexcelclistring references). - Reverted an in-progress window-hiding change that had broken embedded-chart OLE activation — PowerPoint windows remain visible, matching documented behavior.
-
Aligned CI workflows,
Directory.Build.*,Packages.props, manifest,.gitattributes,.editorconfig,SECURITY.md,PRIVACY.md, dependabot config, and issue templates with themcp-server-exceltemplate repo. -
#29
8a268caThanks @sbroenne! - Improved SEO for the public docs site (powerpointmcpserver.dev): added a branded 1200x630 Open Graph/Twitter card image, richerSoftwareApplicationstructured data (image, MIT license,sameAslinks to GitHub and NuGet), aWebSite+PersonJSON-LD graph, and per-pageBreadcrumbListstructured data for interior pages. Also sped upscripts/pre-commit.ps1for docs-only commits (includinggh-pages/website changes) by fully skipping the Release build and Core test gates when no compiled code changed.
[0.1.0] - 2026-07-11¶
Minor Changes¶
-
#23
5b5b21aThanks @sbroenne! - Addchart(action: "replace-chart-data", ...)to wholesale-replace an existing chart's categories, series names, and values in a single call, including changing the category count.series_valuesis a flat, series-major array (all values for the first series, then the second, etc.), avoiding the previous delete-shape-and-recreate workaround for editing chart data in place. -
#19
e8b989dThanks @sbroenne! - Add document properties management to the Presentation domain:set_document_property/get_document_propertyfor built-in metadata (Title, Subject, Author, Keywords, Comments, Category, Manager, Company), andset_custom_property/get_custom_property/remove_custom_propertyfor user-defined custom document properties. -
#22
4db42d8Thanks @sbroenne! - Add gradient background support to theslideandmasterdomains:set-gradient-background/get-gradient-backgroundset or read a two-color gradient fill (style is anMsoGradientStylename —msoGradientHorizontal,msoGradientVertical,msoGradientDiagonalUp,msoGradientDiagonalDown,msoGradientFromCorner,msoGradientFromTitle,msoGradientFromCenter— plus a1-4variant).slide's version overrides a single slide's background (same override semantics as the existingset-background-color);master's version sets the gradient for every slide that inherits from the master. -
#17
380b289Thanks @sbroenne! - Add hyperlink management to the Shape domain:set-hyperlink,get-hyperlink, andremove-hyperlinkactions let callers attach, inspect, and clear mouse-click hyperlinks (with optional screen tip text) on any shape. -
#21
4c8f7c4Thanks @sbroenne! - Add picture-effect actions to theimagedomain:set-brightness-contrast/get-brightness-contrast(adjust brightness and contrast, each a float in[0, 1]) andset-recolor/get-recolor(recolor a picture to grayscale, black-and-white, watermark, or automatic/no recolor viamsoPictureAutomatic,msoPictureGrayscale,msoPictureBlackAndWhite,msoPictureWatermark). -
#20
845737eThanks @sbroenne! - Add parameterized shape effects: drop shadow (color/transparency/blur/offset), glow, reflection, soft edge, and 3D bevel. Extends the existingset-shadow/get-shadowactions with optional formatting parameters (backward compatible) and adds newset-glow/get-glow,set-reflection/get-reflection,set-soft-edge/get-soft-edge, andset-bevel/get-bevelactions to theshapeMCP tool. -
#15
41dd351Thanks @sbroenne! - Added a newsmartarttool for creating and editing SmartArt diagrams:add-smart-art(from any built-in gallery layout, e.g. "Basic Process", "Organization Chart"),add-node,add-child-node,set-node-text,get-node-text,delete-node, andget-node-count. -
#24
a2fc594Thanks @sbroenne! - Addtextframe(action: "set-autosize"/"get-autosize", ...)to control a shape's text-frame auto-fit behavior (ppAutoSizeNone,ppAutoSizeShapeToFitText,ppAutoSizeTextToFitShape), matching PowerPoint's "Resize shape to fit text" / "Shrink text on overflow" options.
Patch Changes¶
-
#16
fbaf960Thanks @sbroenne! - Add a short "Also automating spreadsheets?" tip right after the README's hero section, linking to Excel MCP Server, mirroring the same repositioning done on the docs homepage. -
#12
fc05b46Thanks @sbroenne! - Restructured the documentation site homepage to match the sistermcp-server-excelproject's structure: removed the redundant "Quick install" card grid from the homepage (installation already has its own dedicated page), split "How it works" out into a newarchitecture.mdpage, and split "Related projects" out into a newrelated-projects.mdpage. Also fixed the last remaining stale "31 tools across 10 domains" references ininstallation.md,mcp-server.md, andmcpb/README.mdto the current 18-tool / ~98-operation / 12-domain count. -
#25
0f4fcd8Thanks @sbroenne! - Release automation: auto-merge the changelog PR. The post-release step that opens thechore/changelog-vXPR now also merges it (queued auto-merge, falling back to an immediate squash merge). Previously the PR was only created and left open until a maintainer merged it by hand, which could leave releases with a stale/missing CHANGELOG onmain. -
#11
87e5d42Thanks @sbroenne! - Fixed the "What You Can Do" section of the root README and rewrotegh-pages/docs/features.mdandsrc/PowerPointMcp.McpServer/README.md, which all still described the old 31-tool/10-domain architecture. They now correctly document the current 18-tool, ~98-operation, 12-domain surface, including the previously undocumented Template, Master, and Animation domains. -
#10
9b0b70eThanks @sbroenne! - Fixed the root README: corrected the "How It Works" diagram to reflect the actual sharedPowerPointMcp Service+ Core Commands architecture (it previously omitted the service layer), and removed a broken/non-existent "HeyGen MCP Server" link from Related Projects. -
#27
794366cThanks @sbroenne! - Fix the release workflow's "Update Extension Version" step failing with "Version not changed" whenever the release version coincidentally matches the VS Code extension's fixed baseline version (0.1.0, never committed back to the repo since the bump is ephemeral per-run). Adds--allow-same-versionto thenpm versioncall. -
#14
94a7cf0Thanks @sbroenne! - Move the "Also automating spreadsheets?" sister-project tip on the docs homepage to appear directly under the hero callout instead of at the bottom of the page.
[0.0.2] - 2026-07-09¶
Patch Changes¶
-
#7
4bd5377Thanks @sbroenne! - Replaced manualCHANGELOG.mdediting and the fragile awk/sed-based release-notes extraction with changesets: contributors now add a small.changeset/*.mdfragment describing their change, CI enforces one is present (or theskip-changeloglabel), andscripts/Build-Changelog.ps1compiles pending fragments intoCHANGELOG.mdand the GitHub Release body at release time. Seedocs/RELEASE-STRATEGY.mdfor the full process. -
#7
4bd5377Thanks @sbroenne! - Added PowerPoint-branded icon assets for the VS Code extension, the MCPB bundle, and the gh-pages documentation site, replacing the generic/missing icons used previously.
All notable changes to the PowerPoint MCP Server are documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.0.1 - 2026-07-09¶
Added¶
- MCP server with 31 tools across 10 domains: Presentation (create, open, save, close, list sessions), Slide (add, count, delete), Shape (rectangle, text box, count, delete, position, size), Text (set/get text, font size, bold, font color), Table (add, set/get cell text), Notes (set/get), Layout (set/get), Image (add picture), Chart (add, get data), and Export (slide / all slides to image) for visual verification.
- Live PowerPoint COM automation via an STA thread with an OLE message filter; one long-lived session per open presentation, addressed by
sessionId. - Resilient shutdown: sessions are disposed on host shutdown with exponential backoff so no
POWERPNT.exeprocess is orphaned. - Non-blocking
create_presentation: creates and keeps the deck open, returning asessionIdimmediately (~2s instead of ~90-210s). - Distribution: NuGet .NET tools (
Sbroenne.PowerPointMcp.McpServer→mcp-powerpoint,Sbroenne.PowerPointMcp.CLI→pptcli), MCP Registry manifest, and a Claude Desktop MCPB bundle. - Agent skill pack and documentation site at powerpointmcpserver.dev.