mcpField
K
Kadal Deck

Kadal Deck

Remote
deck.kadal.ccProductivity1Updated today

About Kadal Deck

Kadal Deck is an MDX-based tool for creating and presenting slide decks, aimed at speakers who want to prepare talks and interact with audiences. Its MCP server lets agents edit, check, and render slides, while the project also supports exports and published decks with live audience rooms.

Key features

  1. 01Write slides in MDX
  2. 02Edit, check, and render decks
  3. 03Export PDF, PNG, and PPTX
  4. 04Publish live rooms for audiences
  5. 05Use presenter view and phone remote

Use cases

  1. 01Create and rehearse a talk
  2. 02Collect audience questions and votes by phone
  3. 03Export a presentation to PDF or PPTX
  4. 04Have an agent edit and preview slides

MCP support

The MCP server exposes tools for reference lookup, deck creation and checks, slide-by-slide editing, rendering and preview, building, exporting, and publishing. It operates in its starting directory and does not access files outside it unless `--allow-outside` is used.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://deck.kadal.cc/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

Tools

Details

From the project README

Kadal Deck

Write your talk in MDX. Present it in a browser. Let the room follow, vote and ask from their phones.

npm version npm downloads a month CI Licence: AGPL-3.0-or-later VS Code extension Sponsor Kadal Deck

The Kadal Deck tour in a browser: the cover, a slide of deck.mdx source stepping one highlight per click, code that steps line by line, a magic-move code morph, a hand-drawn diagram revealed region by region, a grid of animated backgrounds, eleven framework islands on one slide, and the join slide with its QR code
The tour, the engine's own feature deck: over a hundred slides, all written in MDX. Open it and press ?.

Get started · Docs · Live tour · Themes · Hosting · Changelog


Start in 30 seconds

You need Node 20.19 or later.

npm create @kadal/deck@latest my-talk
cd my-talk && npm install
npm run dev        # http://localhost:5173: edit deck.mdx and the slide you're on updates in place

A deck is one deck.mdx file: Markdown, split into slides at ---, with components when you need them.

---
title: Hello, room
theme: ocean
---

# Hello, room

---

## One point at a time

<Clicks>

- Slides split at `---`; a slide below this one starts at `----`
- Code steps line by line, and the notes follow your clicks

</Clicks>

---

<Poll id="lunch" question="Lunch?" options={["Dosa", "Biryani", "Both"]} />

When it's ready:

npx kadal-deck build      # dist/: a static site for any host, works offline
npx kadal-deck export     # PDF in export/ (add --png or --pptx)
npx kadal-deck publish    # a URL on deck.kadal.cc with a live room (free plan)

Already have a Slidev deck? npx kadal-deck import slidev slides.md converts it and writes a report of anything that didn't carry over.

What you get

Four slides from the tour: code with one highlighted line per click, a hand-drawn diagram beside a Mermaid chart and an Excalidraw file, eleven framework islands each counting how long it has been alive, and a grid of animated backgrounds

Writing (docs)MDX slides, 19 layouts with named slots, frontmatter per slide, src: includes, glossary terms the compiler links on first mention
Clicks and motion (docs)<Click>, <Clicks>, at="+2", notes that follow your clicks, 7 transitions (a different one in and out if you like), auto-animate, <Motion>
Code (docs)Shiki highlighting stepped line by line, magic move, Monaco editors, runnable JS/TS/Python, TwoSlash hovers, code groups, snippet imports
Maths, diagrams, sketches (docs)KaTeX at build time, Mermaid in the deck's colours, Excalidraw drawings revealed region by region
Looks (docs)16 themes in light and dark, 42 backgrounds (most of them animated), 200,000 icons through Iconify, Tailwind
Any framework (docs)React and web components built in; Vue, Svelte, Solid, Preact, Qwik, Angular, Fresh, Rust/WebAssembly and Python as islands, each loaded only when its slide appears
Presenting (docs)Presenter view with notes, timer and next slide; drawing, laser, spotlight, blackout, camera, recording; a share window for video calls; a phone remote; vim keys
The live room (docs)The audience follows on their phones: reactions, questions with upvotes, polls, word clouds, timed quizzes, a pace dial and a raised hand
Export (docs)PDF, PNG and PPTX, with or without each click step; a static build that works offline
The presenter view, and the audience's phone
The presenter view: the current slide with a hand-drawn diagram, speaker notes with numbered click markers and the current one highlighted, the next step, a timer, and buttons for drawing, pointer, spotlight, blackout, share window, camera, recording, phone remote and statsThe audience page on a phone, live: the presenter's current slide, reactions, tabs for pace, questions, polls and notes, and buttons for slower, just right, faster and raise a hand
Notes that highlight with each click, the next step, a timer with pacing and every tool on one screen. Press S in any deck.Scan the QR code: no app, no account. The slide stays in step with you, or roams ahead and catches up.

Themes

Sixteen themes, each in light and dark where it makes sense. Three are built in; the rest are packages you install and name in the headmatter (theme: ocean). Browse them all at deck.kadal.cc/themes.

Minimal theme
minimal · built in
RLA theme
rla · built in
Stack theme
stack · built in
Ocean theme
ocean
Brand theme
brand
Crayon theme
crayon
Folio theme
folio
Lecture theme
lecture
Neon theme
neon
Swiss theme
swiss
Terminal theme
terminal
Classic theme
classic
Seriph theme
seriph
Crisp theme
crisp
Bricks theme
bricks
Shibainu theme
shibainu

Classic, seriph, crisp, bricks and shibainu are ports of the official Slidev themes, MIT-licensed, with credit to their authors in each package. npm create @kadal/deck@latest -- --theme <name> starts a theme of your own; the contract is THEMES.md.

For AI agents

Kadal Deck is built to be written by an agent as well as by you: a skill that teaches the format, an MCP server that edits slides line by line and renders them so the agent can look at its work, and a CLI whose every command answers in JSON. Guide: AI agents.

/plugin marketplace add kadalcc/deck          # Claude Code: the skill and the MCP server together
/plugin install kadal-deck@kadal-deck
npx skills add kadalcc/deck                              # the skill alone, for any agent (skills/kadal-deck)
claude mcp add kadal-deck -- npx -y @kadal/deck mcp      # the MCP server alone

For Claude Desktop, Cursor and VS Code, point the client at npx -y @kadal/deck mcp. The server works in the folder it starts in (or --dir <path>) and never reads or writes outside it unless started with --allow-outside.

MCP tools
deck_reference, deck_frontmatter_schemaevery component, layout, background and option, from the engine's own catalog
deck_create, deck_outline, deck_read_slide, deck_checkscaffold, read the deck as structure, lint it
slide_add, slide_update, slide_remove, slide_move, deck_update_frontmatter, notes_setedits that change only that slide's lines, linted on the spot
slide_render, deck_previewPNGs of slides from a dev server kept running between calls, and a live URL
deck_build, deck_export, deck_publisha static site, PDF/PNG/PPTX, and a published deck

For scripts: kadal-deck check (exit 1 on errors), kadal-deck screenshot, kadal-deck info [topic], and --json on every command. Exit codes: 0 ok, 1 failed, 2 usage, 3 not signed in, 4 missing prerequisite. @kadal/deck/catalog is everything a deck can use as data, @kadal/deck/authoring reads, lints and edits a deck as text, and @kadal/deck/schema/frontmatter.json is the JSON Schema for frontmatter.

In your editor

  • VS Code extension (Marketplace): a live preview that follows your cursor, a slide outline you drag to reorder, IntelliSense for every setting and component, the deck's checks as problems, and formatting.
  • @kadal/prettier-plugin: Prettier for deck files, in any editor that runs Prettier. kadal-deck format runs the same formatter with no setup.
  • In the browser: press E in kadal-deck dev for a side editor on the slide you're on.

How it works

deck.mdx goes through the Vite plugin, one module per slide, into the Deck runtime, which joins the live room over a WebSocket; the room keeps the presenter view, the projector and the audience's phones in step

Each slide is its own module, so an edit re-renders one slide, not the deck. The drawing is an Excalidraw file, drawn with the same sketch DSL a slide's <Sketch> uses.

Hosted or self-hosted

Writing, presenting, the presenter view, export and a static build need nothing but this engine, and stay free. The live room needs a server holding a WebSocket per deck.

  • deck.kadal.cc: npx kadal-deck publish gives the deck a URL, a live room, analytics, passcodes, version history and teams, and quick edit on the web that kadal-deck pull merges back into your files slide by slide. There is a free plan, and the paid plans fund the engine.
  • Your own host: kadal-deck build output runs on any static host (kadal-deck ci writes the deploy files for GitHub Pages, Netlify, Vercel, Cloudflare or Docker). The room protocol is typed in @kadal/deck/protocol and documented endpoint by endpoint, and kadal-deck relay gives a static build the phone remote.

Packages

PackageVersion
@kadal/decknpmThe engine: MDX compiler and Vite plugin, runtime, components, themes, live client, export, the kadal-deck CLI and MCP server
@kadal/create-decknpmnpm create @kadal/deck@latest: a new deck, theme or addon
@kadal/deck-vue, -svelte, -solid, -preact, -qwik, -angular, -fresh, -wasm, -pythonnpmFramework renderers for islands
@kadal/theme-* (13 packages)npmThe themes above
@kadal/prettier-pluginnpmPrettier for deck files
Kadal Deck for VS CodeMarketplacePreview, outline, IntelliSense, checks and formatting
@kadal/deck-shellnot on npm yetA prebuilt page that runs any deck.mdx compiled in the browser, for hosts and editors

All @kadal/* packages version together and are published from this repository's release workflow through npm trusted publishing, with provenance on each npm page. The VS Code extension is published by its own workflow.

Documentation

Getting started · Writing slides · Components · Configuration · CLI · Publishing · Writing a theme · Coming from Slidev

The engine's full reference, with every component and option, is in packages/deck/README.md, and npx kadal-deck info prints it in the terminal.

Licence

AGPL-3.0-or-later. Presenting with Kadal Deck, self-hosting your own decks, and embedding a deck in a site you publish trigger nothing; you owe nobody anything. If you run a modified engine as a network service, its users must be able to get your modified source.

Building a hosted or proprietary product on the engine without publishing your changes? A commercial licence removes the AGPL obligations: write to [email protected]. Details are in LICENSING.md. The five ported themes are MIT, and third-party notices are in THIRD_PARTY_NOTICES.md.

Contributing

A bug report with a small deck.mdx that reproduces it is the most useful thing you can send, and pull requests are welcome. CONTRIBUTING.md covers the setup (Bun 1.3+), the tests and the island verifier. Questions and ideas go to Discussions. Please follow the code of conduct, and report security issues privately as SECURITY.md describes.

Sponsors

Sponsorships pay for time on the open-source engine: issues, docs, new islands and the features you ask for. Sponsor Kadal Deck on GitHub; the tiers and what each one gets are on deck.kadal.cc/sponsor, and backers are listed in BACKERS.md. Companies can sponsor by invoice.

Your logo here: be the first company to sponsor Kadal Deck.

Made in Chennai by Kadal · deck.kadal.cc · [email protected]

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.