Creating presentations is tedious. Designing slides, choosing layouts, formatting content, exporting, hosting, sharing. What if you could just describe what you want and get a link?
Slidev MCP is a source-available MCP server that connects any AI assistant to Slidev, the developer-friendly presentation framework. You describe your slides in natural language, the AI generates Slidev markdown, the server renders it into a hosted presentation, and you get a permanent URL. No login, no file management, no export step.
Presentations sit in an awkward gap between thinking and communicating. The content itself often takes minutes to outline, but the tooling overhead (choosing a template, fighting with layout engines, exporting to PDF, uploading somewhere) can take longer than the writing. MCP (Model Context Protocol) gives AI assistants the ability to call external tools, but there was no presentation tool in the ecosystem. I built one.
Connect your AI assistant to mcp.slidev-mcp.org/mcp and ask it to make a presentation. For Claude Code, that is a single command:
claude mcp add slidev-mcp --transport streamable-http https://mcp.slidev-mcp.org/mcp
From there, you describe what you want. The AI reads the bundled Slidev documentation, picks appropriate layouts and components, generates markdown, and calls the render_slides tool. Seconds later, you have a URL like https://slides.slidev-mcp.org/slides/abc123/ that works in any browser, ready to present.
You can iterate: ask for changes, and the same URL updates in place. Pick from 24 pre-installed themes or describe a style and let the AI choose. The slides stay hosted for 30 days after your session ends.
The system has four components orchestrated via Docker Compose:
MCP Server (Python/FastMCP). The entry point for AI clients. Exposes two MCP tools (render_slides, list_session_slides) and a set of resources (Slidev syntax guides, theme documentation, examples). The server validates input (theme allowlist, markdown size limits, UUID v4 format), manages sessions, and coordinates builds. Built with async Python using SQLAlchemy for persistence and httpx for internal HTTP calls.
Builder (Bun/TypeScript). An isolated HTTP service that does the actual rendering. On each build request, it copies a pre-installed theme project directory, patches the frontmatter, runs slidev build to produce static HTML with hash-based routing, and writes the output to a shared volume. Each theme has its own pre-bootstrapped node_modules, so builds take seconds rather than minutes.
PostgreSQL. Stores slide metadata and version history. Every update creates a new SlideVersion row, so the system maintains a full edit trail per presentation.
Nginx. Serves the rendered static slides from the shared volume at UUID-based paths. Origin isolation (slides served from a separate domain) prevents any embedded content from accessing the MCP server's cookies or state.
The design prioritizes security: the builder runs as a non-root user with no-new-privileges, themes are validated against an allowlist with regex pattern matching, lifecycle scripts are disabled in Bun, and Traefik enforces rate limiting at 60 requests per minute.
Beyond the two tools, the server exposes MCP resources that give AI assistants deep knowledge about Slidev. Resources cover syntax (slide separators, frontmatter, code blocks, animations), built-in components and layouts, per-theme documentation with examples, and a style guide for choosing themes. This means the AI does not just dump text onto slides. It uses theme-specific layouts, applies proper Slidev syntax for animations and transitions, and follows formatting conventions.
Slidev MCP works with any MCP client that supports streamable HTTP transport: Claude Code, Claude Desktop, claude.ai, Cursor, Windsurf, VS Code (Copilot), JetBrains IDEs, Zed, Opencode, Gemini CLI, and ChatGPT. Setup is typically one command or a few lines of JSON config. Full client guides are available at slidev-mcp.org.
The entire stack is source-available under the FSL-1.1-ALv2 license (converting to Apache 2.0 after two years). The repository includes production Docker Compose configurations with Let's Encrypt TLS via Traefik, automated garbage collection of expired slides, and database backup/restore scripts. A make install && make docker-dev-up && make serve gets a local development environment running.
Repository: github.com/joelbarmettlerUZH/slidev-mcp
Documentation: slidev-mcp.org
Slidev MCP is an open-source MCP server that enables AI assistants like Claude, ChatGPT, Cursor, and others to generate, render, and host Slidev presentations. Users describe what they want, the AI produces slides, and the server returns a shareable URL that works in any browser without login.
For Claude Code, run: claude mcp add slidev-mcp --transport streamable-http https://mcp.slidev-mcp.org/mcp. For Claude Desktop, add it as a custom connector. For Cursor, VS Code, and other IDEs, add the URL to your MCP JSON config. Any client supporting streamable HTTP works.
The MCP server (Python/FastMCP) receives markdown and a theme choice from the AI client, validates the input, and sends a build request to an isolated Bun-based builder service. The builder copies a pre-installed theme project, injects the markdown, runs Slidev's static build, and outputs HTML to a shared volume. Nginx serves the result at a unique UUID-based URL. PostgreSQL stores slide metadata and version history.
Slidev MCP ships with 24 pre-installed themes: 5 official (default, seriph, apple-basic, bricks, shibainu) and 19 community themes (academic, cobalt, dracula, geist, nord, penguin, unicorn, vibe, and more). Users can ask the AI to show a theme gallery or describe a style and let the AI choose.
Yes. Slidev MCP is fully open source and can be self-hosted via Docker Compose. The repository includes production-ready configurations with Let's Encrypt TLS, Traefik routing, rate limiting, and automated garbage collection of expired slides.
.
Copyright 2026 - Joel P. Barmettler