Deckyard
The presentation engine for humans and AI agents

Deckyard is an open-source presentation system you host yourself, built around the idea that the interface should not have to be a screen. It has a full Model Context Protocol server, so an AI agent can create, iterate on, restructure and export a deck through the same API a human uses through the browser. The core is MIT licensed, roughly 141,000 lines of plain Node.js and vanilla ESM. No framework, no bundler.
Why build another one
There is no shortage of AI presentation tools, and I am not trying to compete with Gamma’s seventy million users. The gap Deckyard fills is narrower and, I think, more durable: organisations that cannot or will not put their material on someone else’s infrastructure, presenters who work live and need real control, and teams that want brand consistency enforced across an entire organisation rather than negotiated deck by deck.
Everything follows from that. Self-hosting is the default, not an enterprise tier. You bring your own language model, whichever one you want, or none. Themes are yours to define, the embed SDK is real, white-labelling is supported, and the whole thing is open source. None of the commercial alternatives will give you that combination, because for them it would be giving away the business.
MCP is the interface
There are two transports: stdio for local clients like Claude Desktop and
Cursor, and SSE over POST /mcp with a bearer token for remote agents,
webhooks and CI.
Twenty tools cover the full lifecycle: create, iterate, append, convert, compress, analyse, validate, preview, reorder, duplicate, theme. Six guided prompts sit in Claude Desktop’s slash menu for the common paths. In practice this means you can say “turn this report into a fifteen-minute talk, use our house theme, and tighten slide seven” and have it happen in the tool you were already working in.
The generation pipeline is deliberately not a bullet-point machine. It outlines the deck structure first, picking from thirty-eight typed slide layouts, then refines each slide with type-aware content: real KPI metrics, timeline entries, process steps. Then it validates for density, repetition and readability, and returns its reasoning for each layout choice along with alternatives. Brand colours and background images feed into those choices, so the AI works within the theme rather than against it.
Where it runs
docker compose up -d --build and a Caddyfile, essentially. The CIIIC instance
at slides.ciiic.nl is the real-world reference deployment, which is a useful
discipline: every rough edge shows up in my own working week.
The project has a short manifesto behind it, and the two lines I keep coming back to are there is no moat and bring your own LLM. If the model layer is a commodity, the thing worth owning is the infrastructure and the content, and those should belong to whoever made them.