Skip to content

AI agents (MCP)

Kadal Deck speaks the Model Context Protocol (MCP), so an AI agent can work with your decks on your behalf. There are three pieces; use whichever fits where the agent runs.

Piece Where it runs What it’s for
Remote MCP server (this page) deck.kadal.cc — nothing to install your account: list and inspect decks, share links, settings, rollbacks, live rooms
Local MCP server your computer, npx -y @kadal/deck mcp a deck’s project: write and check slides, build, and publish
Agent Skill your agent teaches an agent to write good decks in Kadal Deck syntax
https://deck.kadal.cc/mcp

It signs in with OAuth: when you add it, your AI app opens deck.kadal.cc, you sign in (Google or GitHub, as on the dashboard), pick one workspace for the connection and choose whether it may change decks. The app never sees a password or an API token of yours.

Claude (claude.ai, Claude Desktop and mobile)

Section titled “Claude (claude.ai, Claude Desktop and mobile)”
  1. Open Settings → Connectors and choose Add custom connector.
  2. Name it Kadal Deck and paste https://deck.kadal.cc/mcp as the URL. Leave the advanced OAuth fields empty.
  3. Press Connect, sign in, pick the workspace and approve.

On Team and Enterprise plans an owner adds custom connectors under the organisation’s settings first.

Terminal window
claude mcp add --transport http kadal-deck https://deck.kadal.cc/mcp

Then run /mcp inside Claude Code, pick kadal-deck and authenticate; the browser does the rest.

In ~/.cursor/mcp.json (or .cursor/mcp.json in a project):

{
"mcpServers": {
"kadal-deck": { "url": "https://deck.kadal.cc/mcp" }
}
}

In .vscode/mcp.json, or through MCP: Add Server… in the command palette:

{
"servers": {
"kadal-deck": { "type": "http", "url": "https://deck.kadal.cc/mcp" }
}
}

Any other client that supports remote (Streamable HTTP) MCP servers with OAuth works the same way: give it the URL and it discovers the rest from https://deck.kadal.cc/.well-known/oauth-protected-resource/mcp. Clients register themselves, by dynamic client registration or a client metadata document.

Tool What it does
whoami the person and workspace the connection acts for, its permissions, the plan, its limits and usage
list_decks every deck in the workspace with its links, visibility and the version being served
get_deck one deck: view, presenter (/presenter), audience (/join) and print (?print-pdf) links and more
list_versions the deck’s published versions and which one is live
get_deck_stats analytics, as far as the plan includes them
get_live_room a talk in progress: the current slide, the audience, open polls and results, questions by votes
update_deck change the title, visibility (public, unlisted, passcode) and the viewing or presenter passcode
rollback_deck serve an earlier version again
create_share_link a short link that opens the deck at one slide
publish_deck the commands to publish (the server can’t build MDX — see below)
authoring_guide how to write a good deck, and the MDX syntax
deck_reference these docs, by topic or by search

And two prompts: Summarise my live room’s questions (the room’s questions with their votes, grouped and ranked, with draft answers) and Draft a talk outline (a plan and a first deck.mdx).

Some things to ask:

  • “Which of my decks are public, and when did each last change?”
  • “I’m presenting the launch deck now — what are people asking, and what should I answer first?”
  • “Make the board-update deck unlisted and give me a link to slide 4.”
  • “The last publish of the workshop deck broke something. Roll it back one version.”

Publishing turns a deck’s MDX into a site, which needs the deck’s files and Node, so the remote server doesn’t do it: publish_deck says so and gives the commands for your workspace. Publish from the project folder with the CLI — npx kadal-deck publish — or let an agent on your computer use the local MCP server below.

Permission Lets the agent
decks:read see the workspace’s decks, versions, analytics and live rooms
decks:write change titles, visibility and passcodes, roll back versions and create share links

Both are asked for by default; switch off Change decks on the approval page to make a connection read-only. A connection reaches the one workspace you picked, and only while you’re a member of it: every call checks again, so leaving or being removed from a workspace cuts its connections off at once. Plan limits apply exactly as they do on the dashboard. Deleting decks, billing and team changes stay on the dashboard.

Access tokens last an hour and renew themselves while the app is in use; a connection unused for 30 days expires.

The dashboard’s API tokens page lists your Connected apps — each app, its workspace, its permissions and when you connected it — with Revoke, which ends that connection immediately. Removing the connector in your AI app forgets it on that side too.

kadal-deck mcp (in @kadal/deck 0.2.0 and later) is a stdio MCP server that runs beside a deck project. Its 17 tools cover the whole loop: look up any layout, component or background in the engine’s catalog; scaffold a deck; outline it and read, add, edit, move or remove slides and their notes; check it for mistakes; render slides to images so the agent can see what it made; preview, build and export to PDF, PNG or PPTX; and publish (signed in through kadal-deck login, like the CLI). It only reads and writes inside the deck’s folder. Add it to a client as a command:

{
"mcpServers": {
"kadal-deck-local": {
"command": "npx",
"args": ["-y", "@kadal/deck", "mcp"]
}
}
}

or, in Claude Code, claude mcp add kadal-deck-local -- npx -y @kadal/deck mcp. The engine’s README has the full tool list.

The engine also ships an Agent Skill that teaches an agent the deck syntax, the components and how to structure a good talk — one idea per slide, clicks for pacing, notes for what you’ll say. In Claude Code, add the marketplace and install the plugin (it brings the skill and the local MCP server together):

Terminal window
/plugin marketplace add kadalcc/deck
/plugin install kadal-deck@kadal-deck

For other agents that read skills: npx skills add kadalcc/deck.