ReelFarm MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| REELFARM_API_KEY | Yes | Your ReelFarm API key, starts with rf_ |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_accountA | Get account info including subscription tier, remaining credits, and billing cycle reset date. |
| generate_slideshowA | Generate a slideshow from a natural-language prompt. AI picks text, images, and styling. Rendering is async (~45s). Poll slideshow_status to track progress. Args: additional_context: Prompt controlling topic, slide count, text items, fonts, tone, etc. images: Optional list of image URLs for slide backgrounds (0-indexed: images[0] → slide 0). |
| create_slideshowA | Create a slideshow with full manual control over every slide's image, text, and styling. No AI generation — renders in ~10 seconds. Args: slides: Array of slide objects. Each slide has image_url or image_urls, text_items, etc. title: Slideshow title (default "API Slideshow"). aspect_ratio: "4:5" (default), "9:16", "1:1", or "16:9". text_position: "top", "center" (default), or "bottom". export_as_video: Export as .mp4 in addition to rendered images. duration: Seconds per slide in video (default 4). Only applies when export_as_video is true. is_bg_overlay_on: Dark overlay on body slides. is_bg_overlay_on_hook_image: Dark overlay on hook slide. background_opacity: Overlay opacity 0-100 (default 20). keep_original_aspect_ratio: Use each image's native aspect ratio. |
| slideshow_statusA | Check slideshow generation/rendering progress. Poll every 5-10 seconds. Status flow: draft → generating → rendering → completed (or failed). When a video export exists, also returns video_id and video_status. Args: slideshow_id: The slideshow ID from generate or create. |
| create_automationA | Create a recurring automation that generates and publishes slideshows to TikTok on a cron schedule. Args: tiktok_account_id: Target TikTok account ID (from list_tiktok_accounts). schedule: Array of cron objects, e.g. [{"cron": "0 14 * * *"}]. Pacific time. title: Descriptive name for this automation. product_id: Link to a product in the products table. slideshow_hooks: Hook/topic templates the AI rotates through. style: Natural-language prompt controlling text items, fonts, sizes, positions, tone. language: Language for generated content (default "English"). tiktok_post_settings: TikTok posting config (caption, visibility, auto_post, etc.). image_settings: Image and display config (aspect_ratio, overlays, collections, etc.). |
| list_automationsA | List all automations belonging to the authenticated user. |
| get_automationA | Get full details of a single automation. Args: automation_id: The automation UUID. |
| update_automationA | Update automation settings, or pause/unpause it. To pause: set action="pause". To unpause: set action="unpause". For config updates, set the fields you want to change. Args: automation_id: The automation UUID. action: "pause" or "unpause" (mutually exclusive with other fields). title: Update the title. slideshow_hooks: Replace the hooks list. style: Update the style prompt. language: Update the language. tiktok_account_id: Change target TikTok account. tiktok_post_settings: Update TikTok posting settings. product_id: Change linked product. image_settings: Update image/collection settings. |
| delete_automationA | Permanently delete an automation and all its scheduled jobs. Args: automation_id: The automation UUID. |
| run_automationA | Trigger a one-off slideshow generation using the automation's saved settings. Does not affect the cron schedule. To find the video, note the time before calling, then poll list_videos with automation_id and created_after filters. Args: automation_id: The automation UUID. hook: Override the hook/topic for this single run. mode: "export" (default, generates video) or "draft_only" (no video). |
| add_scheduleA | Add a new cron schedule to an automation. Args: automation_id: The automation UUID. cron: Cron expression in Pacific time, e.g. "0 14 * * *" for 2pm daily. |
| update_scheduleA | Update one or more schedule jobs on an automation. For a single update, provide job_id and cron. For batch operations, provide actions array with {type, job_id, cron} objects. Args: automation_id: The automation UUID. job_id: The job to update (single update mode). cron: New cron expression (single update mode). actions: Array of batch operations [{type: "update"|"delete", job_id, cron}]. |
| delete_scheduleA | Remove a single schedule job from an automation. Args: automation_id: The automation UUID. job_id: The job to remove. |
| list_videosA | List rendered videos with optional filters. Args: automation_id: Filter by automation. video_type: "slideshow", "ugc", or "greenscreen". status: "completed", "processing", or "failed". finished: "true" or "false". failed: "true" or "false". created_after: ISO 8601 timestamp. created_before: ISO 8601 timestamp. limit: Max results (default 20, max 100). offset: Pagination offset. |
| get_videoB | Get full details for a single video including slideshow images and TikTok publish status. Args: video_id: The video ID. |
| get_video_analyticsA | Get TikTok post analytics for a published video (views, likes, comments, shares, bookmarks). The video must have been published to TikTok. Args: video_id: The video ID. |
| publish_video_via_automationA | Publish a completed video to TikTok using the automation's saved settings. The video must be linked to an automation. For standalone publishing, use publish_to_tiktok instead. Args: video_id: The video ID (must be completed). post_mode: "DIRECT_POST" or "MEDIA_UPLOAD" (TikTok draft). Defaults to automation's setting. |
| publish_to_tiktokA | Publish a completed video to TikTok with all settings provided directly (no automation needed). Note: TikTok limits 6 publishes per 24 hours. Use MEDIA_UPLOAD (draft) to avoid this. Args: video_id: The video to publish (must be completed). tiktok_account_id: Target TikTok account. upload_type: "slides" (photo post, default) or "video" (.mp4). caption: Post title/caption (max 89 chars for slideshows). description: Description/hashtags (max 4000 chars). post_mode: "DIRECT_POST" (default) or "MEDIA_UPLOAD" (draft). visibility: "PUBLIC_TO_EVERYONE", "SELF_ONLY", "MUTUAL_FOLLOW_FRIENDS", "FOLLOWER_OF_CREATOR". allow_comments: Allow comments (default true). allow_duet: Allow duets (default true). allow_stitch: Allow stitches (default true). auto_music: Let TikTok add trending music (default true, slideshows only). disclose_video_content: Disclose video content. disclose_brand_organic: Disclose brand organic. disclose_branded_content: Disclose branded content. slideshow_image_urls: Override slideshow images with custom URLs. |
| list_tiktok_accountsA | List TikTok accounts connected via OAuth. |
| list_tiktok_postsA | List TikTok posts with engagement metrics and aggregated statistics. Args: timeframe: 7, 30, 90, or "all" (default 30). sort: "recent", "views", "likes", "shares", "comments", "bookmarks". tiktok_account_id: Filter by account. limit: Default 20, max 200. offset: Pagination offset. |
| list_collectionsA | List all image collections belonging to the authenticated user. |
| get_collection_imagesA | Get images in a collection, paginated. Args: collection_id: The collection ID. limit: Max results (default 100, max 100). offset: Pagination offset. |
| list_library_nichesA | List all available niches in the slideshow library with profile counts. |
| search_libraryA | Search real TikTok slideshow profiles for inspiration and competitive research. At least one filter is required. Args: q: Text search across slide content. niche: Filter by niche (e.g. "fitness"). product_medium: Filter by product type. region: Account region code (e.g. "US"). audience_region: Audience country code (e.g. "US"). sort: "followers" (default) or "recent". limit: Default 3, max 3. offset: Pagination offset. |
| get_library_profileB | Get full details of a slideshow library profile including all slideshow images. Args: profile_id: The profile ID. |
| search_pinterestA | Search Pinterest for high-resolution images to use in slideshows. Paginated up to 5 pages per search query. Args: q: Search query (e.g. "aesthetic coffee"). cursor: Pagination cursor from a previous response. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/AhmadElsaeedd/reelfarm-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server