Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CAROUSEL_OUTPUT_DIR | No | Base output directory where carousels are saved. | ~/Documents/carousels/ |
| CAROUSEL_TEMPLATES_DIR | No | Directory for custom brand kit JSONs. Skip it if you're fine with the built-in templates. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_templates | List available carousel design templates (built-in + user brand kits). When to call: Before creating a carousel, to check if the user has custom brand templates. If they do, suggest using their branded design instead of the default. Returns: Array of template objects with name, description, and builtin flag. |
| preview_slides | Convert content into a structured slide plan WITHOUT rendering. Returns editable JSON. When to call: When the user wants to review or edit slide content before rendering. Also use as the first step in the enhanced workflow (preview → enhance with Gemini → render). Workflow: Enhanced visuals
Returns: SlidePlan JSON with slides array, sourceTitle, summary. |
| render_slides | Render a slide plan into SVG + PDF (LinkedIn) or PNG (Instagram/Threads). When to call: After preview_slides when you've reviewed or enhanced the slide plan. Also accepts manually crafted slide plans. Supports Gemini-generated visuals: Any slide in the plan can include:
Tip: Run list_templates first to check for user brand kits. Returns: Output paths (SVG, PDF/PNG), template used, platform. |
| create_carousel | Full pipeline: content → slides → PDF/PNG in one call. Supports three input modes: Mode 1 (Content provided): Pass article text, markdown, or transcript in the content field. The tool extracts key points, generates slides, and produces output immediately. Mode 2 (URL provided): Pass a sourceUrl. The tool fetches the page, extracts article content, and runs the full pipeline. If the page is JavaScript-rendered and extraction fails, the tool returns fallback instructions to use firecrawl_scrape or web_fetch instead. Mode 3 (Topic only): Pass a topic without content or sourceUrl. The tool returns orchestration instructions with multiple research workflows: • Web Research: Use gemini_deep_research → pass result as content • YouTube Summary: Use supadata_transcript → summarize with gemini_chat → pass as content • Data-Driven: Use gemini_deep_research → preview_slides → generate_svg for charts → render_slides • Quick Draft: Use web_fetch to grab a page → pass as content Common workflows the user might request:
Platforms: linkedin (1080×1350 PDF), instagram (1080×1080 PNGs), threads (1080×1350 PNGs) After rendering: Consider using analyze_image (Gemini MCP) to review the output quality. |
| create_template | Create a custom brand template by overriding colors, typography, and layout from a base template. When to call: When the user wants their carousels to match their brand identity. Saves the template for future use. Tips:
Returns: Saved template path and confirmation. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |