About agentic-carousel
agentic-carousel is a Node.js package for developers and AI agents to generate carousel decks from outlines. It provides structured JSON, printable HTML, validation presets for social platforms, and an MCP server; it does not publish slides or create image files.
Key features
- 01Create decks from text outlines or slide objects
- 02Add hook and call-to-action slides
- 03Validate Instagram, LinkedIn, and TikTok text limits
- 04Render escaped text as self-contained HTML
- 05Export a list of expected output files
Use cases
- 01Generate a carousel draft from a content outline
- 02Check slide text against platform-specific limits
- 03Render a deck as printable HTML
- 04Expose carousel operations to an AI agent
MCP support
The MCP server exposes tools to create, validate, and render carousels, export an output plan, and retrieve a cost report.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
5Saved tool list · updated 2w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| topic | string | Yes | |
| slides | any | Yes | |
| platform | enum | No | instagram | linkedin | tiktok |
Details
From the project READMEagentic-carousel
agentic-carousel is an open-source carousel deck generator for Node.js applications and AI agents, with JSON output, printable HTML, and social-platform text presets.
Install
npm install agentic-carousel
Requires Node.js 18 or later. Includes TypeScript declarations and two direct runtime dependencies.
Create your first deck
Save this example as carousel.mjs, then run node carousel.mjs.
import { writeFileSync } from "node:fs";
import { createCarousel, validateCarousel, renderCarouselHtml } from "agentic-carousel";
const deck = createCarousel("Better handoffs", "Give context|Name an owner");
writeFileSync("carousel-deck.json", JSON.stringify(deck, null, 2));
writeFileSync("carousel.html", renderCarouselHtml(deck));
console.log(deck.slides.length, validateCarousel(deck).valid);
Expect 4 true. Open carousel.html in a browser to see four 1080 × 1350 slides.
No credentials, model calls, or network requests are required.
Features and coverage
- Accept newline-separated or pipe-separated outlines, or arrays of title/body objects.
- Add a hook and a call-to-action slide around the supplied content.
- Require disclosure text on the final slide; SDK options can customize it.
- Render escaped text into self-contained HTML with inline CSS.
- List expected JSON, HTML, and PNG filenames with
exportPlan; it writes no files.
| Text preset | Status | Title limit | Body limit |
|---|---|---|---|
| Local validation only | 80 characters | 220 characters | |
| Local validation only | 120 characters | 300 characters | |
| TikTok | Local validation only | 70 characters | 180 characters |
The code defines three presets. These are package rules, without live platform verification or publishing integrations.
Runtime surfaces
npx agentic-carousel carousel create --topic "Better handoffs" --slides "Give context|Name an owner"
npx agentic-carousel carousel validate --file carousel-deck.json --platform linkedin
npx agentic-carousel carousel render --file carousel-deck.json > carousel.html
npx agentic-carousel costs
npx agentic-carousel mcp
The CLI has five operational commands, plus --help and --version. The carousel prefix is optional.
Create accepts --platform instagram|linkedin|tiktok and prints { deck, plan }; it does not save either object.
The Model Context Protocol (MCP) server exposes five tools: create_carousel, validate_carousel, render_carousel_html, export_carousel_plan, and get_cost_report.
The agentic-carousel-mcp binary starts the same server.
The Worker you deploy has GET /health, POST /create, and POST /validate; create uses the default Instagram preset.
Behavior limits
Decks contain 2–10 slides, including the generated hook and final slide; outlines can contain at most eight content slides.
All presets use the same HTML size. Text presets do not guarantee platform acceptance or visual fit.
The package creates no PNG files or PDF files and does not upload or publish slides.
The CLI accepts --live, but generation stays local. There is no remote generation mode.
Carousel operations do not record cost units. The shared SDK also exports generic text summary and routing helpers.
Links and status
Version 0.1.0 APIs can change. Public case studies are not yet published.
Run npm run build, npm run typecheck, and npm test before contributing.
License
MIT.
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.