Technical spec.
Built in the open.
MCP configuration, syntax reference, and the architecture under the hood — all the technical detail engineers need to integrate, extend, or self-host deckhost.
npm i -g deckhost
Model Context Protocol (MCP)
Connect deckhost as an MCP server to Claude Desktop or Claude Code so the AI can read, edit, animate, and deploy presentation files directly inside the chat conversation.
Automated setup route
One command. Auto-detects Claude Desktop & Claude Code, writes the config, and registers the server.
deckhost install-mcp
Or configure manually
{
"mcpServers": {
"deckhost": {
"command": "node",
"args": [
"/Users/you/deckhost/mcp-server/index.js"
]
}
}
}
{
"mcpServers": {
"deckhost": {
"command": "node",
"args": [
"C:\Users\you\deckhost\mcp-server\index.js"
]
}
}
}
Restart Claude Desktop after writing the file. Run deckhost mcp --status to verify the connection.
The full grammar at a glance
Tool surface, syntax dictionary, and import-compat map — everything you can call, write, or migrate.
Structural execution endpoints exposed to MCP clients.
| Tool | Category | Purpose |
|---|---|---|
create_presentation
|
Author | Create a new presentation from a prompt or template. |
read_markdown
|
Author | Read an existing presentation file. |
write_markdown
|
Author | Create or update a presentation file. |
serve
|
Runtime | Start the dev server with live preview & hot reload. |
build
|
Runtime | Build static HTML for production deployment. |
publish
|
Runtime | Publish a presentation to deckhost.com cloud spaces. |
get_syntax_help
|
Meta | Return the full deckhost syntax reference inline. |
Dynamic movement fragments, canvas overrides, and inline emphasis primitives.
^^^
Fade up
vvv
Fade down
--->
Fade right
<---
Fade left
+++
Grow
...
Shrink
~~~
Strikethrough
>>
Basic fade-in
>>red
Highlight (red)
>>green
Highlight (green)
>>blue
Highlight (blue)
**>>red**…**>>**
Inline bold-style highlight
::: #hex
Solid color background
::: linear-gradient(...)
CSS gradient (any direction/stops)
::: https://image.png
Image URL background
::: /path/local.png
Local image path
::: opacity:0.3
Image opacity overlay
$x$ / $$x$$
Inline / block LaTeX (KaTeX)
text[^1]
Footnotes (slide-scoped)
Term\n: Def
Definition lists
*[ABBR]: def
Slide-scoped abbreviation tooltips
... as a text-shrink animation. Use the single-character … (U+2026) for ellipsis text.
Automatic conversion of legacy Marp directives on import.
Already have presentations built with Marp?
deckhost detects marp: true
in the YAML frontmatter and maps common Marp directives to deckhost equivalents on import.
No rewriting — just drop your file in and it renders with the full deckhost engine: animations,
themes, hosted publishing, AI integration.
| Marp directive | deckhost equivalent |
|---|---|
marp: true (frontmatter) |
Triggers compatibility mode |
backgroundColor / _backgroundColor |
::: #hex |
backgroundImage / _backgroundImage |
::: https://... + ::: opacity:N |
theme: default / gaia |
Mapped to closest deckhost preset |
paginate: true |
Built-in slide counter (always on) |
--- (slide separator) |
Same separator semantics preserved |
What's under the hood
Three layers, each independently swappable: the renderer, the local CLI, and the canonical language spec.
Presentation Core
Custom virtual renderer. Browser-side, zero-build for end users.
-
•
React 19 Custom slide renderer
-
•
Framer Motion Slide transitions & fragment dynamics
-
•
KaTeX Scientific math execution
-
•
Highlight.js Syntax color wrappers
-
•
Tailwind CSS v4 Styling pipeline
-
•
Vite 7 Bundler & HMR dev server
CLI Backend Environment
Local-first. Asynchronous task workflows with file watching.
-
•
Node.js ≥ 18 Runtime baseline
-
•
chokidar Cross-platform file watching
-
•
MCP server Bidirectional Claude integration
-
•
Marp preprocessor Legacy frontmatter conversion
-
•
Static HTML output Self-host on any CDN
Language API Endpoint
Active JSON system definition. Canonical source of truth for the grammar.
GET /api/v1/spec.json- •Versioned schema (semver)
- •Every fragment, directive, & flag enumerated
- •Consumed by IDE plugins & AI integrations
How deckhost compares
Head-to-head with the leading markdown-based slide tools.
| Slidev | Marp | 🚀 deckhost | |
|---|---|---|---|
| Framework | Vue 3 | Vanilla | React 19 |
| Hosted publishing | ❌ | ❌ | deckhost.com |
| AI integration (MCP) | ❌ | ❌ | Built-in |
| Fragment animations | Basic | ❌ | 12+ types |
| LaTeX math | Plugin | Plugin | Built-in (KaTeX) |
| One-command publish | ❌ | ❌ | deckhost publish |
| Marp import | ❌ | N/A | Auto-detected |
| Cross-slide editing API | Limited | ❌ | MCP read/write |
Spec facts
The numbers and footprint detail engineers usually need before adopting.
Want to skip deckhost.com entirely?
The hosted service is a convenience — not a requirement. deckhost build generates self-contained
static HTML you can deploy anywhere. Netlify, GitHub Pages, S3, your own nginx box, an
intranet share — the output works offline and has zero runtime dependencies.
# Generate static HTML you can host anywhere
deckhost build
# Output: ./dist/ (index.html + assets/, no runtime deps)
ls dist/
Build with us.
Issues, PRs, plugins, and forks all welcome. AGPL-3.0 licensed — what we build together stays open.