# Reported issues for MCP Server for PowerPoint by trsdn

Pod holds 20 of 77 GitHub reports that passed its relevance review. This can include external user reports, maintainer-confirmed bugs, and concrete feature gaps. Treat them as evidence to inspect, not a count of distinct defects.

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

## 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

### 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

### 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

### 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

### 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

### 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

### 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).
