Deckwright
Inspect PowerPoint slide state, timelines, Morph links, and package findings.
Install
Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).
dw-mcpDocumentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
Deckwright
Deckwright is a Rust toolkit for building editable PowerPoint slides and inspecting the animation data inside .pptx files. It can create a deck from a blank template, replace slides in an existing package, run structural checks, and answer questions such as “what is visible on slide 2 after the first click?” through a CLI or an MCP server.
The public Morph demo builds three editable slides with an explicit Morph match, a click reveal, and a motion path. Watch the 26-second PowerPoint demo to see the transition, a selected native shape, and a real timing query. The presentation authoring skill gives agents a workflow for using these APIs.
Get started
Install a Rust toolchain, then install the CLI and MCP server:
cargo install dw-cli --version 0.1.1 --locked
cargo install dw-mcp --version 0.1.1 --locked
Release archives provide prebuilt dw and dw-mcp binaries for Windows, Linux, and macOS.
To build and inspect the example deck, run these commands from a Deckwright checkout:
cargo run --locked -p deckwright --example morph_demo -- demo.pptx
dw check demo.pptx --json
dw query morph demo.pptx --from 1 --to 2 --json
dw query state demo.pptx --slide 2 --at-ms 400 --clicks-ms 0 --json
Choose a new output filename for each build; Deckwright refuses to overwrite an existing .pptx. Slide numbers are one based. Query times and click times are milliseconds since slide entry; --clicks-ms is the complete click history up to --at-ms.
What works today
| Task | Entry point |
|---|---|
| Build editable slides with shapes, text, pictures, tables, charts, and timing in the supported model | deckwright Rust crate; see the Morph demo source |
Open a .pptx, inspect its parts, preserve unchanged parts, and write a new package | Package; dw inspect and dw roundtrip |
| Check supported package, slide, timing, and bounds rules | dw check |
| Inspect slide state, timeline, and explicit Morph pairs | dw query state, dw query timeline, dw query morph |
| Give an agent the same checks and queries over stdio | dw-mcp; see agent integration |
The CLI contract defines query input and output. Reports represent the timing and geometry Deckwright understands; unsupported or ambiguous behavior is reported as unknown. Morph pairing currently covers unique explicit !!name matches. A passing check, successful query, or static render does not establish PowerPoint animation playback, font fit, or visual fidelity. Verify those in PowerPoint for any delivered deck.
Choose a workflow
- Create a presentation with an agent
- Connect an agent to the MCP server
- Compare Deckwright and python-pptx
- Run the neutral Morph demo
- Read the benchmark method and results
Project scope
Deckwright began as a reconstruction of a 25-slide thesis presentation. The implementation plan records its fidelity and performance targets. The thesis source and extracted media are private and excluded from Git; the public demo uses generated neutral content. Preserve source wording, screenshots, photos, and app UI when editing a supplied deck.
The reference inspection benchmark measured 205.32 ms p95 and 78.75 MiB peak RSS on its documented WSL host; see the measurement PR for the revision and workload. Build, edit, and query budgets in the plan are targets, not measured results. The full thesis reconstruction and PowerPoint playback acceptance remain separate gates.
Development
cargo test --workspace --locked
See AGENTS.md for repository guidance and the oracle notes for PowerPoint verification limits.
Frequently asked questions
What is Deckwright?
Inspect PowerPoint slide state, timelines, Morph links, and package findings.
How do I install Deckwright?
Follow the installation steps in its documentation, shown on this page and in its repository.
Does Deckwright need an API key?
Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.
Is Deckwright open source?
Yes. Its code is on GitHub under the MIT license.
Who maintains Deckwright?
It is published by JoaoCodificacoes. AI.tn lists it but does not maintain or endorse it.
From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.