06ketan/slideshot

06ketan/slideshot

от 06ketan
Конвертирует AI-сгенерированные HTML-карусели в PNG, WebP, PDF и PPTX. Работает как CLI, веб-приложение, MCP-сервер или REST API. Полезен для создания слайдов и презентаций из HTML. Поддерживает се...

slideshot

npm npm downloads npm mcp GitHub stars license MCP compatible MCP Registry Anthropic DXT Glama MCP server MCP Badge

slideshot MCP server card on Glama

Convert AI-generated HTML carousels into high-res PNG, WebP, PDF, and PPTX — via CLI, Web App, MCP Server, or REST API.

Web App · npm CLI · npm MCP · API Spec

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
create_slidesидемпотентный

Создаёт слайды. ВАЖНО: Используйте mode=default, если пользователь явно не выбрал token_saver. mode=default = ИИ пишет полный HTML (наилучшее качество). mode=token_saver = ИИ отправляет JSON, сервер использует базовые шаблоны. ТРЕБУЕТ discover_themes сначала И пользователь должен подтвердить структуру данных. После сохранения HTML этим инструментом вы ОБЯЗАНЫ показать htmlPath как артефакт предпросмотра кода. Затем ОСТАНОВИТЕСЬ и попросите пользователя подтвердить. НЕ вызывайте render_slides, пока пользователь явно не подтвердит.

Создаёт слайды. ВАЖНО: Используйте mode=default, если пользователь явно не выбрал token_saver. mode=default = ИИ пишет полный HTML (наилучшее качество). mode=token_saver = ИИ отправляет JSON, сервер использует базовые шаблоны. ТРЕБУЕТ discover_themes сначала И пользователь должен подтвердить структуру данных. После сохранения HTML этим инструментом вы ОБЯЗАНЫ показать htmlPath как артефакт предпросмотра кода. Затем ОСТАНОВИТЕСЬ и попросите пользователя подтвердить. НЕ вызывайте render_slides, пока пользователь явно не подтвердит.

Параметры

  • modeenumобязательный

    default = AI writes full HTML (more tokens, full control). token_saver = AI sends JSON, server assembles HTML (fewer tokens).

    defaulttoken_saver
  • themeenumобязательный

    Theme from discover_themes

    genericbrandedinstagram-carouselinfographicpitch-deckdark-moderneditorialbrowser-shellacademic-posterclinical-medicalsketch-handdrawn
  • orientationenum

    Preset or custom. Default: portrait

    portraitlandscapelinkedininstagrama4custom
  • widthnumber

    Custom width px (only with orientation=custom)

  • heightnumber

    Custom height px (only with orientation=custom)

  • htmlstring

    Full HTML document (mode=default only)

  • slidesarray

    Structured slide data (mode=token_saver only)

  • brandNamestring

    Brand name for branded themes

discover_themesтолько чтениеидемпотентный

ОБЯЗАТЕЛЬНЫЙ первый шаг – все остальные инструменты ОТКЛОНЯЮТ запросы, пока этот не вызван. Возвращает темы, предустановки ориентации, режимы использования токенов и форматы вывода. Используйте ТОЛЬКО встроенные подсказки выбора из массива "ask" – НЕ выводите темы в виде отдельного списка Markdown. НЕ спрашивайте, сколько слайдов (вы решаете на основе темы). После того как пользователь выберет параметры, покажите структуру данных предложенных слайдов и ДОЖДИТЕСЬ подтверждения перед вызовом create_slides.

ОБЯЗАТЕЛЬНЫЙ первый шаг – все остальные инструменты ОТКЛОНЯЮТ запросы, пока этот не вызван. Возвращает темы, предустановки ориентации, режимы использования токенов и форматы вывода. Используйте ТОЛЬКО встроенные подсказки выбора из массива "ask" – НЕ выводите темы в виде отдельного списка Markdown. НЕ спрашивайте, сколько слайдов (вы решаете на основе темы). После того как пользователь выберет параметры, покажите структуру данных предложенных слайдов и ДОЖДИТЕСЬ подтверждения перед вызовом create_slides.

Параметры

Без параметров.

edit_slides

Выполняет энергоэффективные частичные правки на ранее сгенерированной HTML-презентации. Используйте ЭТО ВМЕСТО полной перегенерации для небольших изменений — это экономит 60-90% токенов по сравнению с полной перезаписью. Операции: replace_slide (заменяет блок одного слайда по 1-индексированному slideIndex), patch_css (добавляет CSS-правила в <style>), swap_token (заменяет значение CSS-переменной, например {"--coral": "#FF0000"}), patch_class (добавляет/удаляет класс на конкретном слайде, например {"add": "dark"}). Читает из кэша или из htmlPath; сохраняет обновлённый HTML и возвращает новый htmlPath. После редактирования покажите htmlPath как превью-артефакт и ОСТАНОВИТЕСЬ — не вызывайте render_slides, пока пользователь не подтвердит.

Выполняет энергоэффективные частичные правки на ранее сгенерированной HTML-презентации. Используйте ЭТО ВМЕСТО полной перегенерации для небольших изменений — это экономит 60-90% токенов по сравнению с полной перезаписью. Операции: replace_slide (заменяет блок одного слайда по 1-индексированному slideIndex), patch_css (добавляет CSS-правила в <style>), swap_token (заменяет значение CSS-переменной, например {"--coral": "#FF0000"}), patch_class (добавляет/удаляет класс на конкретном слайде, например {"add": "dark"}). Читает из кэша или из htmlPath; сохраняет обновлённый HTML и возвращает новый htmlPath. После редактирования покажите htmlPath как превью-артефакт и ОСТАНОВИТЕСЬ — не вызывайте render_slides, пока пользователь не подтвердит.

Параметры

  • htmlPathstring

    Path to HTML to edit. Falls back to cached HTML from last create_slides call.

  • operationenumобязательный

    Edit operation: replace_slide swaps one slide block; patch_css appends CSS rules to <style>; swap_token replaces a CSS variable's value; patch_class adds/removes a class on a slide.

    replace_slidepatch_cssswap_tokenpatch_class
  • slideIndexinteger

    1-indexed slide position. Required for replace_slide and patch_class. Omit for global ops (patch_css, swap_token).

  • payloadanyобязательный

    For replace_slide: the new <div class="slide">...</div> HTML string. For patch_css: a CSS rules string. For swap_token: an object {tokenName: newValue}, e.g. {"--coral": "#FF0000"}. For patch_class: an object {add?: string, remove?: string}.

health_checkтолько чтениеидемпотентный

Проверяет, что Puppeteer/Chromium может запускаться. Используйте, когда рендеринг не удаётся.

Проверяет, что Puppeteer/Chromium может запускаться. Используйте, когда рендеринг не удаётся.

Параметры

Без параметров.

list_themesтолько чтениеидемпотентный

Идемпотентный, только для чтения, список всех доступных тем (8+). В отличие от `discover_themes`, этот инструмент НЕ запускает рабочий процесс создания слайдов — вызывайте его в любое время, когда пользователь в середине разговора спрашивает «какие темы есть?». Возвращает тот же каталог тем с уровнями (primary/secondary). Модели ДОЛЖНЫ показывать каждую полученную тему, никогда не сокращайте их.

Идемпотентный, только для чтения, список всех доступных тем (8+). В отличие от `discover_themes`, этот инструмент НЕ запускает рабочий процесс создания слайдов — вызывайте его в любое время, когда пользователь в середине разговора спрашивает «какие темы есть?». Возвращает тот же каталог тем с уровнями (primary/secondary). Модели ДОЛЖНЫ показывать каждую полученную тему, никогда не сокращайте их.

Параметры

Без параметров.

render_slidesидемпотентный

Выполняет финальный рендеринг в PDF, WebP, PNG, PPTX. Принимает строку HTML или путь к HTML-файлу (htmlPath). Поддерживает параметры: width, height, selector, scale, webpQuality, orientation, pptxMode, pptxFilename, slideRange. НИКОГДА не вызывайте render_slides в одном вызове с create_slides. Когда пользователь передаёт путь к существующему HTML-файлу, передайте его как htmlPath и вызывайте этот инструмент напрямую — discover_themes или create_slides не нужны. Для полного рабочего процесса создания слайдов сначала ТРЕБУЮТСЯ и discover_themes, и create_slides, и вызывайте ТОЛЬКО ПОСЛЕ того, как пользователь подтвердит предварительный просмотр. Возвращает пути к файлам на диске.

Выполняет финальный рендеринг в PDF, WebP, PNG, PPTX. Принимает строку HTML или путь к HTML-файлу (htmlPath). Поддерживает параметры: width, height, selector, scale, webpQuality, orientation, pptxMode, pptxFilename, slideRange. НИКОГДА не вызывайте render_slides в одном вызове с create_slides. Когда пользователь передаёт путь к существующему HTML-файлу, передайте его как htmlPath и вызывайте этот инструмент напрямую — discover_themes или create_slides не нужны. Для полного рабочего процесса создания слайдов сначала ТРЕБУЮТСЯ и discover_themes, и create_slides, и вызывайте ТОЛЬКО ПОСЛЕ того, как пользователь подтвердит предварительный просмотр. Возвращает пути к файлам на диске.

Параметры

  • htmlPathstring

    Path to saved HTML file (from create_slides). Falls back to cached HTML.

  • htmlstring

    HTML string (prefer htmlPath to save tokens)

  • selectorstring

    Slide selector (default: .slide)

  • widthnumber

    Width px (default: 540)

  • heightnumber

    Height px (default: 675)

  • scalenumber

    Device scale 1-6 (default: 4)

  • formatsstring[]

    Output formats (default: [pdf])

  • webpQualitynumber

    WebP quality 0-100 (default: 95)

  • outDirstring

    Output directory override

  • pdfFilenamestring

    Custom PDF filename

  • pptxFilenamestring

    Custom PPTX filename

  • slideRangearray

    Render slides N-M, 1-indexed

  • orientationenum

    portrait=540x675, landscape=1920x1080

    portraitlandscape
  • pptxModeenum

    Default: image (pixel-perfect, preserves design, NOT editable). 'native' is opt-in for text-only export (selectable text but design is NOT preserved — looks broken). For true editable PPTX with shapes/colors, use a different tool.

    nativeimage

Другие проверенные MCP-сервера

antv/mcp-server-chart

antv/mcp-server-chart

официальный

MCP-сервер на базе AntV, который через инструменты модели создаёт более 26 видов графиков и карт. Интегрируется с Claude, VSCode и другими AI-клиентами, полезен для визуализации данных и анализа пр...

TypeScript4243
apify/mcp-server-rag-web-browser

apify/mcp-server-rag-web-browser

официальный

MCP сервер подключает AI агентов к вебу через RAG Web Browser Actor. Выполняет поиск в Google, извлекает страницы и возвращает чистый Markdown. Идеально для RAG пайплайнов и LLM, которым нужны свежие данные из интернета.

JavaScript208
caol64/wenyan-mcp

caol64/wenyan-mcp

文颜 MCP Server — 基于 MCP 协议的排版发布工具,专为 AI 写作到微信公众号场景设计。直接在聊天框内完成 Markdown 转微信富文本、上传图片、存草稿,无需切换编辑器。适合需要快速发布高质量公众号文章的作者和团队。

JavaScript1273
ChronulusAI/chronulus-mcp

ChronulusAI/chronulus-mcp

официальный

Сервер Chronulus для MCP подключает Claude к агентам прогнозирования Chronulus AI. Через чат вы получаете предсказания и прогнозы на основе данных Chronulus. Инструмент для аналитиков и исследовате...

Python111
vectorize-io/vectorize-mcp-server

vectorize-io/vectorize-mcp-server

официальный

MCP-сервер для интеграции с Vectorize: выполняет векторный поиск по документам, извлекает текст из любых файлов в Markdown и запускает Deep Research. Полезен разработчикам AI-приложений, работающих...

JavaScript109
crystaldba/postgres-mcp

crystaldba/postgres-mcp

MCP сервер для Postgres, который помогает AI-агентам и разработчикам повышать производительность: диагностика здоровья БД, тюнинг индексов, explain plans и безопасное выполнение SQL. Ускоряет разра...

Python3081
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин