slidev-orchestrator-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@slidev-orchestrator-mcp list available presentations"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
slidev-orchestrator-mcp
MCP (TypeScript) server to orchestrate multiple Slidev presentations:
list the presentations under a root folder (
mainfolder/presentation1,mainfolder/presentation2, ...)create a new presentation (scaffold +
npm install)start / stop / list Slidev dev servers (automatic port allocation)
target a presentation: the server connects to that presentation's official Slidev MCP (
slidev mcp slides.md) and dynamically re-exposes its tools (prefixedslidev_*) viatools/list_changed.
Expected structure
mainfolder/
├── presentation1/
│ ├── slides.md <- required (this is what identifies a presentation)
│ └── package.json <- @slidev/cli as a local dependency (recommended)
└── presentation2/
└── slides.mdRelated MCP server: slideless-mcp
Installation
The package is published on npm as slidev-orchestrator-mcp,
so no local clone or build is required — just run it with npx.
Root folder configuration
Priority order:
CLI argument:
--dir /path/to/mainfolder(or-d, or the first positional argument)Environment variable:
SLIDEV_PRESENTATIONS_DIR
Optional: SLIDEV_BASE_PORT (default 3030) — first port tried for dev servers.
Integration
Claude Code
claude mcp add slidev-orchestrator -- npx -y slidev-orchestrator-mcp --dir /path/to/mainfolderor with the environment variable:
claude mcp add slidev-orchestrator -e SLIDEV_PRESENTATIONS_DIR=/path/to/mainfolder -- npx -y slidev-orchestrator-mcpOpenCode (opencode.json)
{
"mcp": {
"slidev-orchestrator": {
"type": "local",
"command": ["npx", "-y", "slidev-orchestrator-mcp"],
"environment": { "SLIDEV_PRESENTATIONS_DIR": "/path/to/mainfolder" }
}
}
}Claude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"slidev-orchestrator": {
"command": "npx",
"args": ["-y", "slidev-orchestrator-mcp", "--dir", "/path/to/mainfolder"]
}
}
}Exposed tools
Tool | Description |
| List presentations (title/theme read from frontmatter, dev server status, current target) |
| Scaffold |
| Start |
| Stop a presentation's dev server |
| List running dev servers |
| Target a presentation → spawns |
| Generic passthrough to the targeted Slidev MCP (fallback for clients that ignore |
Notes
Claude Code (>= 2.1.0) and OpenCode support
tools/list_changed: afterselect_presentation, theslidev_*tools appear directly. Claude Desktop ignores it: usecall_slidev_toolinstead.The presentation's local Slidev binary (
node_modules/.bin/slidev) is preferred; falls back tonpx -y @slidev/cli(the package is named@slidev/cli, notslidev).All child processes (dev servers + Slidev MCP) are cleanly killed on shutdown.
Development
To work on the server itself (not just use it):
git clone https://github.com/death-joke/slidev-orchestrator-mcp.git
cd slidev-orchestrator-mcp
npm install
npm run build
node dist/index.js --dir /path/to/mainfolderSee CLAUDE.md for the full architecture overview and contribution guidelines.
Available Tools
7 toolscall_slidev_toolA
Fallback passthrough: call a tool of the currently targeted presentation's official Slidev MCP by its original name. Useful for MCP clients that do not support dynamic tool list updates (tools/list_changed).
Inputs: tool (required), args.
create_presentationA
Scaffold a new Slidev presentation (folder + slides.md + package.json) in the root directory. Runs npm install unless install=false.
Inputs: name (required), theme, title, install.
list_presentationsA
List all Slidev presentations found in the presentations root directory (/app). A presentation is any sub-folder containing a slides.md.
Inputs: no named parameters.
select_presentationA
Target a presentation: connects to its official slidev mcp server and dynamically exposes its tools (prefixed slidev_*) for inspecting/editing the slides. Selecting a new presentation replaces the previous target.
Inputs: name (required).
server_statusA
List all currently running Slidev dev servers (name, port, URL, pid).
Inputs: no named parameters.
start_serverA
Start the Slidev dev server for a presentation. Returns the local URL. Ports are allocated automatically unless port is given.
Inputs: name (required), port.
stop_serverB
Stop the running Slidev dev server of a presentation.
Inputs: name (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 7 tools
Each tool targets a distinct action: listing presentations, creating presentations, starting/stopping servers, checking server status, selecting a presentation, and calling a slidev tool. No two tools have overlapping purposes.
Most tools follow a clear verb_noun pattern (list_presentations, create_presentation, start_server, stop_server, select_presentation, call_slidev_tool). The exception is server_status, which is noun_noun; renaming it to get_server_status or list_servers would make the naming fully consistent.
With 7 tools, the server is well-scoped for its purpose of orchestrating Slidev presentations and their dev servers. Each tool earns its place and the count is not overwhelming.
The server covers the full lifecycle of presentation scaffolding and server management (create, list, start, stop, status), and provides access to the official Slidev MCP for editing slides. No major gaps are apparent for the stated purpose.
Maintenance
Related MCP Connectors
Generate, render, and host Slidev presentations from markdown
Build it. Rehearse it. Own the room. The hosted MCP server for Kadal Deck (deck.kadal.cc), which has your back for the whole talk, from the first idea to the last applause. Connect once with OAuth and your AI agent can list and inspect your decks, read a talk in progress (current slide, who is watching, polls and questions by votes), check analytics, change titles, visibility and passcodes, roll back versions, create share links, and quick-edit and publish decks through the web builder, with conflict-safe publishing that never overwrites newer work. Pair it with the local server (npx @kadal/deck mcp) to write, check and build decks on your machine. Open source.
Create, read, update and publish hosted SlideWeave presentations written in SlideLang.
List, share, upload, and manage Slideless HTML presentations from any MCP host.
Related MCP Servers
- AlicenseBqualityBmaintenanceA flexible proxy server that aggregates multiple backend MCP servers into a single interface using STDIO or SSE transports. It supports dynamic server management via an HTTP API and utilizes namespacing to prevent tool conflicts across connected services.31MIT

slideless-mcpofficial
FlicenseNot gradedqualityDmaintenanceMCP server that wraps the Slideless HTTP API as tools for listing, sharing, uploading, and managing HTML presentations from any MCP host without installing the CLI.-- AlicenseNot gradedqualityDmaintenanceLocal-first MCP server & CLI for authoring Bento decks (single-file PPT) with AI agents and live browser preview. Enables programmatic creation, editing, validation, and presentation of Bento HTML decks.26 npm1MIT
- AlicenseNot gradedqualityCmaintenanceEnables managing multiple MCP service nodes over SSE or stdio and aggregating them into a single unified SSE endpoint, allowing compatible clients to access all integrated MCP tools through one address.Apache 2.0