MCP needs deckcraft-cli on your computer. The browser editor on this site can’t be driven by an agent; to draft slides with AI in the browser, use the AI presentation maker.
Get the CLI
The 0.5.0 release ships deckcraft-cli for macOS as deckcraft-cli-0.5.0-macos-universal.zip, signed and notarized. On Windows, Linux and FreeBSD, build it from source with Rust:
git clone https://github.com/storytold/deckcraft
cd deckcraft
cargo build --release -p deckcraft-cliTwo ways to connect
- Headless:
deckcraft-cli mcpruns its own engine with no window. Add--sampleto start with the sample deck. Good for building decks from data in a script or an agent session. - Alongside you: start the desktop app with
deckcraft --control 7990, then rundeckcraft-cli mcp --connect 7990. The agent drives the open app, so you watch the slides change and can keep editing the same deck.
Set up with Claude Code
claude mcp add deckcraft -- /path/to/deckcraft-cli mcpOr add it to your agent’s MCP configuration (.mcp.json in a project for Claude Code), here in connected mode:
{
"mcpServers": {
"deckcraft": {
"command": "deckcraft-cli",
"args": ["mcp", "--connect", "7990"]
}
}
}What the agent gets
- Any command:
list_commands,run_commandandbatchreach all 200+ commands, the same ones behind the ribbon, with undo. - Files:
new_presentation,open_presentation,save_presentation(.deckcraft or .pptx) andexport(PDF slides, notes pages or handouts, PNG/JPEG, outline). - Inspection:
inspect_document,inspect_slideandrender_slide, which returns a slide as an image. - Building blocks:
add_slide,go_to_slide,add_shape,add_text_box,set_text,insert_picture,insert_table,insert_chart. - The interface itself (connected mode):
select,pointer,select_tool,key,type_text,screenshotandcall_appfor any control-protocol method.
Commands that come up often when building decks: slide.new with a layout, title and body; shape.insert with a preset and text; shape.connect; design.theme; transition.set; animation.set; and the chart.* and table.* families. Coordinates are slide points (1/72 inch); a 16:9 slide is 960 × 540.
Prompts to try
- “Make a 6-slide deck from
q3-results.csv: a title slide, a column chart of revenue by month, a table of the top five accounts, and a closing slide. Use a fade transition and save it asq3.pptx.” - “Open
pitch.pptx, render every slide and tell me which ones have too much text.” - “Export
training.deckcraftas handouts with 3 slides per page.”
Without MCP: the CLI on its own
deckcraft-cli info deck.pptx # structure as JSON
deckcraft-cli render deck.pptx --all out/ # every slide as PNG
deckcraft-cli convert deck.pptx deck.pdf # change format
deckcraft-cli commands format. # list commands
deckcraft-cli describe slide.new # one command's parameters
deckcraft-cli run --sample --cmd 'slide.new={"layout":"titleOnly","title":"Hello"}' --save hello.deckcraftFAQ
Can an AI agent control the browser version on this site?
No. The MCP server is part of deckcraft-cli and runs on your computer, either with its own headless engine or connected to the desktop app. Browsers can’t open the local port the app listens on, so the web build has no agent channel. In the browser, use the AI panel instead.
Which agents work with it?
Any MCP client that can launch a local stdio server: Claude Code, Claude Desktop, Cursor, VS Code agents and others. They all take the same command and arguments.
Does it open a network port?
The MCP server itself talks over stdin and stdout. Only the connected mode uses a port: the desktop app started with --control listens on 127.0.0.1, so only programs on your own computer can reach it.
Can the agent see the slides it makes?
Yes. render_slide returns a slide as an image the model can look at, and in connected mode screenshot captures the whole window, interface included.
Source: the DeckCraft README, MCP server docs and control protocol. Flags and tools can change between releases; check deckcraft-cli with no arguments for its usage.