About slideshot
slideshot converts HTML slide carousels into image, PDF, and PPTX files for people creating social posts or presentations. It offers a CLI, web app, REST API, and MCP server, with seven prompt themes and rendering controls.
Key features
- 01Render HTML to PNG, WebP, PDF, or PPTX
- 02CLI, web app, REST API, and MCP server
- 03Seven slide prompt themes
- 04Configure slide selector, dimensions, and scale
Use cases
- 01Export HTML carousels for LinkedIn posts
- 02Render slides for a presentation deck
- 03Preview HTML and export from the web app
MCP support
The slideshot-mcp server exposes tools to create slides, render HTML, retrieve theme prompts, and check rendering dependencies. It connects to MCP hosts over stdio.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
6Saved tool list · updated 2w ago
This tool takes no parameters.
Details
From the project READMEslideshot
Convert AI-generated HTML carousels into high-res PNG, WebP, PDF, and PPTX — via CLI, Web App, MCP Server (Cursor MCP, Claude MCP, OpenCode MCP), or REST API.
Web App · npm CLI · npm MCP · API Spec
Wrong install?
The MCP package name is slideshot-mcp on npm (canonical Glama listing). Use npx -y slideshot-mcp — not unrelated html-to-slides or third-party scoped copies from generic searches.
Works with (MCP)
Discovery-oriented table — verify each host’s current MCP docs before upgrading.
Open source–oriented hosts
| Host | Documentation | Typical wire-up |
|---|---|---|
| OpenCode | OpenCode MCP servers | See OpenCode below |
| Continue | Continue | Add stdio MCP pointing at npx / slideshot-mcp per Continue docs |
| Zed | Zed | Stdio MCP per Zed |
| Cline | Cline | Extension MCP docs |
| Goose | Goose | MCP extensions per Goose |
Large commercial stacks
| Host | Documentation | Typical wire-up |
|---|---|---|
| Cursor | Cursor MCP | .cursor/mcp.json — see MCP Server |
| Claude (Desktop / Code) | Claude Desktop, Claude Code | Claude Desktop JSON or claude mcp add |
| GitHub Copilot | Copilot | MCP in VS Code where enabled |
| ChatGPT | OpenAI | Prefer REST (/api/openapi.json) where MCP is unavailable |
| Google Gemini | Gemini | Gemini IDE / CLI MCP when supported — else REST |
Architecture
slideshot/
packages/
cli/ ← Core Puppeteer rendering engine + CLI
mcp-server/ ← MCP stdio server for AI tools
webapp/ ← Next.js web app with live preview
prompts/
generic.md ← Clean minimal
branded.md ← Ketan Slides design system
instagram-carousel.md ← Bold vibrant IG style
infographic.md ← Data-heavy charts
pitch-deck.md ← Professional presentations
dark-modern.md ← Neon glassmorphism
editorial.md ← Magazine serif
Quick Start
CLI
npx slideshot ./my-carousel.html --formats png,webp,pdf --scale 4
Options:
| Flag | Default | Description |
|---|---|---|
-s, --selector | .slide | CSS selector for slide elements |
-W, --width | 540 | Slide width (CSS px) |
-H, --height | 675 | Slide height (CSS px) |
--scale | 4 | Device scale (4x = 2160x2700) |
-f, --formats | png,webp,pdf | Output formats (png, webp, pdf, pptx) |
-q, --quality | 95 | WebP quality (0-100) |
-o, --out | ./slides | Output directory |
Web App
Live: slideshot.vercel.app
Or run locally:
cd packages/webapp && npm install && npm run dev
Open http://localhost:3000 — paste HTML, preview, export.
MCP Server
Add to Cursor, Claude Desktop, Claude Code, or any stdio MCP host. Published as slideshot-mcp on npm.
Cursor / Claude Desktop (mcpServers):
{
"mcpServers": {
"slideshot": {
"command": "npx",
"args": ["-y", "slideshot-mcp"]
}
}
}
Optional pin: "args": ["-y", "[email protected]"] (replace with current npm version).
OpenCode
~/.config/opencode/opencode.json:
{
"mcp": {
"slideshot": {
"type": "local",
"command": ["npx", "-y", "slideshot-mcp"],
"enabled": true
}
}
}
Tools:
create_slides— guided creation workflow with 7 themes and output presetsrender_html_to_images— render HTML to PNG/WebP/PDF/PPTXget_slide_prompt— get AI prompt template for any theme varianthealth_check— verify Puppeteer/Chromium availability
Prompts (7 themes):
generic-slides— clean minimalbranded-slides— Ketan Slides design systeminstagram-carousel-slides— bold vibrant IG styleinfographic-slides— data-heavy charts and statspitch-deck-slides— professional presentationsdark-modern-slides— neon glassmorphismeditorial-slides— magazine serif with gold accents
REST API (ChatGPT Actions / OpenWebUI)
The web app exposes an OpenAPI-compatible REST API at https://slideshot.vercel.app.
Endpoints:
| Method | Path | Description |
|---|---|---|
POST | /api/render | Render HTML slides to PNG/WebP/PDF (returns ZIP) |
GET | /api/prompt?variant=generic | Get AI prompt template |
GET | /api/openapi.json | OpenAPI 3.1.0 spec |
Platform support:
| Platform | Method | Setup |
|---|---|---|
| Cursor | MCP | npx slideshot-mcp in .cursor/mcp.json |
| Claude Desktop | MCP | npx slideshot-mcp in config |
| OpenCode | MCP | opencode.json mcp.slideshot → ["npx","-y","slideshot-mcp"] |
| Continue | MCP | stdio → npx / slideshot-mcp per Continue docs |
| ChatGPT | OpenAPI Action | Import /api/openapi.json |
| OpenWebUI | OpenAPI Tool | Import /api/openapi.json |
AI Prompt Templates
7 prompt variants in prompts/ — copy-paste or use via get_slide_prompt tool:
| Variant | File | Style |
|---|---|---|
| Generic | prompts/generic.md | Clean minimal, Inter font |
| Branded | prompts/branded.md | Space Mono, teal/coral accents |
prompts/instagram-carousel.md | Bold gradients, Poppins | |
| Infographic | prompts/infographic.md | DM Sans, stat cards |
| Pitch Deck | prompts/pitch-deck.md | Professional, KPI cards |
| Dark Modern | prompts/dark-modern.md | Neon, glassmorphism |
| Editorial | prompts/editorial.md | Playfair Display, gold |
Build All
npm install # from root — installs all workspaces
npm run build # builds cli → mcp-server
cd packages/webapp && npm run build # builds webapp separately
Links
| Surface | URL |
|---|---|
| Web App | slideshot.vercel.app |
| npm CLI | npmjs.com/package/slideshot |
| npm MCP | npmjs.com/package/slideshot-mcp |
| GitHub | github.com/06ketan/slideshot |
| API Spec | slideshot.vercel.app/api/openapi.json |
Related MCPs
- medium-ops — Medium CLI + MCP (PyPI).
- substack-ops — Substack CLI + MCP (PyPI).
License
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.