# Reported issues for MCP Server for PowerPoint

Pod holds 20 of 77 problems reported by people outside the maintainer team. Issues filed by the project's own owners, members and collaborators are excluded entirely — a maintainer's release checklist is not a warning to a prospective user.

Back to [MCP Server for PowerPoint](/mcp/mcp-server-for-powerpoint).

## Most discussed

### Shape commands: add stable shape identity via id:N prefix in shapeName

## Problem

Every shape-targeting parameter on the `shape` tool (and friends) currently resolves shapes via `Slide.Shapes.Item(shapeName)` — i.e. by `Shape.Name`, which is **mutable**. This breaks multi-turn agent workflows in subtle ways:

1. The agent reads a shape, gets `"Rectangle 5"`.
2. Some subsequent step renames it (e.g. `text(format)` on a placeholder, or the user edits the file).
3. A later call referencing `"Rectangle 5"` either fails or — worse — silently resolves to a differe

[Read the thread](https://github.com/trsdn/mcp-server-ppt/issues/88) · 2026-04-30 · closed · external user · 2 comments

### Scriban 6.6.0 vulnerabilities block McpServer build (NU1902/NU1904)

## Summary

The `McpServer` project fails to build because three NuGet advisories on **Scriban 6.6.0** are promoted to hard errors by `TreatWarningsAsErrors=true`.

## Advisories

| ID | Severity | Description |
|---|---|---|
| [GHSA-5wr9-m6jw-xx44](https://github.com/advisories/GHSA-5wr9-m6jw-xx44) | **Critical** | Sandbox bypass via cached `MemberFilter` — attacker-supplied template can escape the script sandbox |
| [GHSA-m2p3-hwv5-xpqw](https://github.com/advisories/GHSA-m2p3-hwv5-xp

[Read the thread](https://github.com/trsdn/mcp-server-ppt/issues/87) · 2026-04-30 · closed · external user · 2 comments

### [Feature] Slideshow: configure show type, loop, narration

Configure slideshow settings before running. COM: SlideShowSettings.ShowType (speaker/kiosk/browse), LoopUntilStopped, ShowWithNarration, ShowWithAnimation, PointerColor. Usefulness: 4/5, Effort: Low

[Read the thread](https://github.com/trsdn/mcp-server-ppt/issues/84) · 2026-03-04 · closed · 1 comment

### [Feature] New tool: Connector (detailed connector management)

Currently add-connector exists on Shape but no dedicated connector ops: reroute, set connection points, change connector type.
COM: shape.ConnectorFormat.BeginConnect/EndConnect, RerouteConnections()
Usefulness: 3/5, Effort: Medium

[Read the thread](https://github.com/trsdn/mcp-server-ppt/issues/83) · 2026-03-04 · closed · 1 comment

### [Feature] New tool: OLEObject (embed/link external objects)

Embed or link external objects (Excel tables, Word docs, etc.).
COM: Shapes.AddOLEObject(classType, fileName, link, displayAsIcon)
Usefulness: 3/5, Effort: High

[Read the thread](https://github.com/trsdn/mcp-server-ppt/issues/82) · 2026-03-04 · closed · 1 comment

### [Feature] New tool: PrintOptions (configure print settings)

New tool for print configuration: OutputType (slides/handouts/notes/outline), ColorType (color/grayscale/blackwhite), FrameSlides, FitToPage, PrintHiddenSlides, NumberOfCopies.
COM: Presentation.PrintOptions.*
Usefulness: 4/5, Effort: Medium

[Read the thread](https://github.com/trsdn/mcp-server-ppt/issues/81) · 2026-03-04 · closed · 1 comment

### [Feature] SmartArt: promote-demote-node

Change node hierarchy level.
COM: node.Promote(), node.Demote()
Usefulness: 3/5, Effort: Low

[Read the thread](https://github.com/trsdn/mcp-server-ppt/issues/79) · 2026-03-04 · closed · 1 comment

### [Feature] SmartArt: delete-node

Delete a node from SmartArt diagram.
COM: smartArt.AllNodes.Item(index).Delete()
Usefulness: 4/5, Effort: Low

[Read the thread](https://github.com/trsdn/mcp-server-ppt/issues/78) · 2026-03-04 · closed · 1 comment

## Most recent

### Owner-Aufgabe: ungenutztes Repo-Secret NPM_TOKEN loeschen

Seit #120 (PR #121) laeuft npm-Publishing ausschliesslich ueber Trusted Publishing (OIDC). Der Token-Pfad wurde vollstaendig aus `release.yml` entfernt — `NPM_TOKEN` wird nirgends mehr referenziert.

Verifiziert auf `main`: `grep -c NPM_TOKEN .github/workflows/release.yml` → 0

## Checkliste

- [ ] Settings → Secrets and variables → Actions → `NPM_TOKEN` loeschen

Ein ungenutztes Publish-Token ist unnoetige Angriffsflaeche: Wer Schreibzugriff auf einen Workflow bekommt, koennte es wieder einlese

[Read the thread](https://github.com/trsdn/mcp-server-ppt/issues/123) · 2026-08-25 · open · 0 comments

### PptMcp.Core und PptMcp.ComInterop liegen verwaist auf NuGet (1.0.0, waehrend Tools bei 1.1.0 sind)

Aufgefallen beim Aufsetzen des Release-Workflows im Schwester-Repo `mcp-server-host` (siehe dort Issue #3 und PR #5).

## Befund

Auf NuGet stehen vier Pakete aus diesem Repo, aber in zwei Geschwindigkeiten:

| Paket | Versionen auf NuGet |
|---|---|
| `PptMcp.McpServer` | 1.0.0, 1.0.2, 1.0.3, **1.1.0** |
| `PptMcp.CLI` | 1.0.0, 1.0.2, 1.0.3, **1.1.0** |
| `PptMcp.Core` | **1.0.0** |
| `PptMcp.ComInterop` | **1.0.0** |

Der aktuelle `release.yml` packt und pusht ausschliesslich `PptMcp.CLI` und 

[Read the thread](https://github.com/trsdn/mcp-server-ppt/issues/122) · 2026-08-25 · open · 0 comments

### Ship an npm wrapper so the server installs via npx

Part of #101.

npm is the de-facto place most MCP users look first, and nearly every client's docs default to an `npx` command. Requiring `dnx` / the .NET SDK is a real adoption barrier for users who are not .NET developers.

## Tasks

- [ ] Decide on the approach: thin npm wrapper that downloads the release binary on postinstall, vs. bundling a self-contained publish
- [ ] Package name: `ppt-mcp` or scoped `@trsdn/ppt-mcp` (check availability)
- [ ] Add `os: ["win32"]` to `package.json` so npm 

[Read the thread](https://github.com/trsdn/mcp-server-ppt/issues/110) · 2026-08-24 · open · 0 comments

### Evaluate Smithery listing (local-server only, hosting not possible)

Part of #101.

Smithery's hosted deployment runs Linux containers and therefore cannot work for us — COM interop requires Windows plus an installed PowerPoint. Smithery does list **local** servers, though, and that path is viable.

## Tasks

- [ ] Confirm Smithery's current requirements for a local-only (non-hosted) listing
- [ ] Add `smithery.yaml` if required for local listings
- [ ] Submit the server as local-only
- [ ] Explicitly mark it Windows-only so nobody attempts a hosted deploy

## De

[Read the thread](https://github.com/trsdn/mcp-server-ppt/issues/111) · 2026-08-24 · open · 0 comments

### Quick visibility wins: GitHub topics, homepage URL, README install badges

Part of #101.

Cheap, immediate visibility wins that require no third-party approval.

## Tasks

- [ ] **GitHub topics** — currently: `ai`, `automation`, `chatgpt`, `claude`, `com-interop`, `dotnet`, `github-copilot`, `mcp`, `microsoft-powerpoint`, `powerpoint`. Add at least `mcp-server`, `model-context-protocol`, `office-automation`, `pptx`. `mcp-server` is the most-browsed MCP topic on GitHub and we are currently missing it.
- [ ] **`homepageUrl`** — currently points at the NuGet package page.

[Read the thread](https://github.com/trsdn/mcp-server-ppt/issues/113) · 2026-08-24 · open · 0 comments

### Submit MCPB bundle to Claude Connectors Directory

Part of #101.

We already ship an MCPB bundle in `mcpb/`, so the packaging work is done. What is missing is the submission to Anthropic's connectors/extensions directory so Claude Desktop users can find it without a manual install.

## Tasks

- [ ] Review Anthropic's current submission requirements for the directory
- [ ] Verify `mcpb/manifest.json` meets them (icon, description, permissions, version)
- [ ] Submit the bundle
- [ ] Confirm the listing states **Windows-only + PowerPoint required**

[Read the thread](https://github.com/trsdn/mcp-server-ppt/issues/109) · 2026-08-24 · open · 0 comments

### List in Cursor Directory and add "Add to Cursor" install badge

Part of #101.

Two related pieces of work for Cursor users.

## Tasks

- [ ] Submit the server to the Cursor directory (https://cursor.com/directory)
- [ ] Add an "Add to Cursor" deeplink badge to `README.md` — Cursor accepts a base64-encoded MCP config in the install URL
- [ ] Verify the deeplink actually installs a working stdio config (`dnx PptMcp.McpServer --yes`)
- [ ] Note the Windows-only requirement next to the badge so macOS Cursor users aren't misled

[Read the thread](https://github.com/trsdn/mcp-server-ppt/issues/107) · 2026-08-24 · open · 0 comments

### Add to modelcontextprotocol/servers community list

Part of #101.

The `modelcontextprotocol/servers` repo keeps a community server list in its README. It is the highest-authority non-registry listing and drives a lot of referral traffic.

## Tasks

- [ ] Open a PR against https://github.com/modelcontextprotocol/servers adding PptMcp to the community servers section
- [ ] Match the existing one-line entry format exactly (alphabetical placement)
- [ ] State Windows-only + PowerPoint requirement in the line

[Read the thread](https://github.com/trsdn/mcp-server-ppt/issues/108) · 2026-08-24 · open · 0 comments

### Submit to Cline MCP Marketplace

Part of #101.

Cline ships an in-editor MCP marketplace; entries are submitted as GitHub issues against `cline/mcp-marketplace`.

## Tasks

- [ ] Open a submission issue at https://github.com/cline/mcp-marketplace
- [ ] Provide: repo URL, 128x128 PNG logo, short description, install/run command
- [ ] Verify Cline's automated install test result — it will likely fail on a non-Windows runner, so call the platform constraint out in the submission body up front
- [ ] Confirm the entry appears in Cli

[Read the thread](https://github.com/trsdn/mcp-server-ppt/issues/106) · 2026-08-24 · open · 0 comments

### Submit to PulseMCP directory

Part of #101.

PulseMCP is a hand-reviewed directory with strong client coverage and one-click install snippets for Claude, Cursor and VS Code.

## Tasks

- [ ] Submit the server at https://www.pulsemcp.com (submission form)
- [ ] Supply: name, description, repo URL, NuGet install command (`dnx PptMcp.McpServer --yes`), icon
- [ ] Verify the generated install snippets are correct for our stdio transport
- [ ] Confirm the listing flags **Windows-only / PowerPoint required**

[Read the thread](https://github.com/trsdn/mcp-server-ppt/issues/102) · 2026-08-24 · open · 0 comments

### List on Glama.ai (add glama.json)

Part of #101.

Glama crawls public GitHub repos automatically, but a `glama.json` in the repo root lets us control how the listing renders and confirms maintainer ownership.

## Tasks

- [ ] Add `glama.json` to the repo root with maintainer info and metadata
- [ ] Verify the listing at https://glama.ai/mcp/servers after the next crawl
- [ ] Claim/verify ownership if Glama offers it

## Notes

- Schema reference: https://glama.ai/mcp/schema.json
- The description must state **Windows-only + Power

[Read the thread](https://github.com/trsdn/mcp-server-ppt/issues/105) · 2026-08-24 · open · 0 comments

### Tracking: expand MCP server discovery and distribution channels

Umbrella issue for making PptMcp discoverable beyond the channels we already publish to.

## Already covered

- Official MCP Registry (`src/PptMcp.McpServer/.mcp/server.json`, OIDC publish in `release-mcp-server.yml`)
- NuGet: `PptMcp.McpServer` and `PptMcp.CLI`
- VS Code Marketplace (`vscode-extension`, publisher `trsdn`)
- MCPB bundle for Claude Desktop (`mcpb/`)
- GitHub Releases
- Agent skills via `npx skills add trsdn/mcp-server-ppt`

## To do

Third-party directories:
- [ ] #105 Glama.ai l

[Read the thread](https://github.com/trsdn/mcp-server-ppt/issues/101) · 2026-08-24 · open · 0 comments

The remaining reports are on [the project's issue tracker](https://github.com/trsdn/mcp-server-ppt/issues).
