# Kadal Deck MCP server

Source: https://glimind.com/server/mcp-registry%2Fcc.kadal%2Fdeck
Registry id: `mcp-registry/cc.kadal/deck`
Status: auth-required (checked 2026-10-27T02:15:01.126Z)

## Measurements (30 days)

- Uptime: 100%
- Checks: 210
- Outages (90 days): 0

## Install

```json
{
  "mcpServers": {
    "kadal-deck-mcp-server": {
      "type": "http",
      "url": "https://deck.kadal.cc/mcp"
    }
  }
}
```

Claude Code:

```sh
claude mcp add --transport http kadal-deck-mcp-server https://deck.kadal.cc/mcp
```

## Tools (17)

- `deck_build`: Build the deck into dist/ (a static site any host can serve). Run deck_check first.
- `deck_check`: Lint the deck: invalid YAML, unknown or mistyped frontmatter keys, unknown layouts/backgrounds/themes/transitions, MDX that does not compile (with file:line), J
- `deck_create`: Scaffold a new Kadal Deck folder from the starter (deck.mdx, deck.config.ts, src/, AGENTS.md) and install its dependencies. The folder must not exist or be empt
- `deck_export`: Export to PDF (default), PNG (one per printed page) and/or PPTX (images + notes) into export/. Needs Playwright + Chromium, and pptxgenjs for PPTX.
- `deck_frontmatter_schema`: The JSON Schema for deck frontmatter: $defs.headmatter for the YAML block at the top of deck.mdx (deck settings + first slide), $defs.slide for every other slid
- `deck_outline`: Every slide in order: index, column/row (h/v), id, title, layout, hidden, frontmatter, estimated click steps, whether it has notes, an excerpt, and its line ran
- `deck_preview`: Start (or reuse) the deck's dev server with live reload and return its URLs — the deck, the presenter view, the audience page — for a person to open. Edits made
- `deck_publish`: Build the deck and publish it to its Kadal Deck host (deck.kadal.cc by default) with a live room; returns the URL. Uses the login saved by `kadal-deck login` (o
- `deck_read_slide`: One slide's MDX body, frontmatter, speaker notes, and its exact source text with line numbers.
- `deck_reference`: Look up what a deck can use: built-in components (props, defaults, examples), layouts, backgrounds, themes, transitions, click effects, code-fence options, deck
- `deck_update_frontmatter`: Merge keys into the headmatter — the YAML at the top of deck.mdx that configures the deck (title, author, theme, transition, colorScheme, slideNumber, glossary,
- `notes_set`: Replace a slide's speaker notes (shown in the presenter view). Put [click] where each click's part begins so the notes follow the reveals. An empty string remov
- `slide_add`: Insert a new slide. `at` is the index it will have (default: the end); `vertical` puts it beneath the previous slide in the same column. `content` is the MDX bo
- `slide_move`: Move a slide so it ends up at index `to`; `vertical` stacks it beneath the slide before its new place.
- `slide_remove`: Delete one slide (its separator, frontmatter, body and notes). A stack's top slide hands its column to the slide beneath it.
- `slide_render`: Pictures of slides as PNG images, exactly as the deck draws them (headless Chromium on the deck's own dev server, kept running between calls). Use it after ever
- `slide_update`: Change one slide: `content` replaces its MDX body (existing speaker notes are kept unless the new content has its own <Notes> or keepNotes is false); `frontmatt

Measured by Glimind (https://glimind.com): MCP handshake + tool list only, no tool is ever called. CC BY 4.0.
