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 |
The remote MCP server
Section titled “The remote MCP server”https://deck.kadal.cc/mcpIt 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)”- Open Settings → Connectors and choose Add custom connector.
- Name it Kadal Deck and paste
https://deck.kadal.cc/mcpas the URL. Leave the advanced OAuth fields empty. - 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.
Claude Code
Section titled “Claude Code”claude mcp add --transport http kadal-deck https://deck.kadal.cc/mcpThen run /mcp inside Claude Code, pick kadal-deck and authenticate; the browser does the rest.
Cursor
Section titled “Cursor”In ~/.cursor/mcp.json (or .cursor/mcp.json in a project):
{ "mcpServers": { "kadal-deck": { "url": "https://deck.kadal.cc/mcp" } }}VS Code
Section titled “VS Code”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.
What it can do
Section titled “What it can do”| 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
Section titled “Publishing”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.
Permissions
Section titled “Permissions”| 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.
Disconnecting
Section titled “Disconnecting”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.
The local MCP server
Section titled “The local MCP server”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 Agent Skill
Section titled “The Agent Skill”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):
/plugin marketplace add kadalcc/deck/plugin install kadal-deck@kadal-deckFor other agents that read skills: npx skills add kadalcc/deck.