{"serverId":"mcp-registry/com.ssemble/mcp-server","tools":[{"name":"create_short","fixed":{"name":"create_short","description":"Create AI-generated short-form video clips from a YouTube video or uploaded file. Returns a request ID instantly. Processing takes 5-30 minutes. Costs 1 credit.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["start","end"],"properties":{"end":{"type":"number","minimum":1,"description":"End time in seconds (> start, max 1200s window)"},"url":{"type":"string","description":"YouTube video URL"},"music":{"type":"boolean","default":false,"description":"Add background music"},"start":{"type":"number","minimum":0,"description":"Start time in seconds (>= 0)"},"layout":{"enum":["auto","fill","fit","square"],"type":"string","default":"auto","description":"Video framing layout"},"ctaText":{"type":"string","maxLength":200,"description":"CTA text (max 200 chars, required when ctaEnabled=true)"},"fileUrl":{"type":"string","format":"uri","description":"Public video file URL (alternative to url)"},"language":{"enum":["en","es","fr","de","it","pt","ru","ja","ko","zh","ar","hi","tr","pl","nl","sv","no","da","fi","cs","vi","id","fa","uk","af","ca","et","fo","gl","is","ms","sq","sw","tl","ro","sk","hr","sl","hu","lv","lt","bs","az","bg","mk","sr","mt","el","ne","mr","ka","hy","ur","he"],"type":"string","default":"en","description":"Spoken language (ISO 639-1)"},"memeHook":{"type":"boolean","default":false,"description":"Prepend a meme hook clip (2-5s attention grabber)"},"gameVideo":{"type":"boolean","default":false,"description":"Add split-screen gameplay overlay"},"hookTitle":{"type":"boolean","default":false,"description":"Add animated hook title at start"},"maxShorts":{"type":"integer","maximum":12,"minimum":1,"description":"Maximum number of shorts to create (1-12). Keeps the highest-scoring clips and never pads, so short videos may return fewer. Omit to get up to 12."},"musicName":{"type":"string","description":"Exact track name from list_music (case-sensitive)"},"outroText":{"type":"string","maxLength":80,"description":"Custom outro text (max 80 chars). Omit for the localized default (\"Please subscribe\"). Requires outroEnabled=true."},"ctaEnabled":{"type":"boolean","default":false,"description":"Show call-to-action text overlay"},"noClipping":{"type":"boolean","default":false,"description":"Skip AI clipping, process entire range as one clip"},"outroSting":{"type":"boolean","default":true,"description":"Play the short bell sound on the outro (default true). Requires outroEnabled=true."},"templateId":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Caption template ID from list_templates (24-char hex)"},"webhookUrl":{"type":"string","format":"uri","description":"Optional webhook URL for completion/failure notifications. Receives a POST with results when processing finishes."},"musicVolume":{"type":"number","default":10,"maximum":100,"minimum":0,"description":"Music volume 0-100"},"outroHandle":{"type":"string","maxLength":40,"description":"Channel handle shown on the outro card, e.g. \"@mychannel\" (max 40 chars). Requires outroEnabled=true."},"memeHookName":{"type":"string","description":"Exact meme hook name from list_meme_hooks (case-sensitive)"},"outroEnabled":{"type":"boolean","default":false,"description":"Append an end-screen outro card (bell animation + \"Please subscribe\" text) after each clip. Default false."},"outroSeconds":{"type":"integer","default":2,"maximum":3,"minimum":1,"description":"Outro duration in seconds (1-3, default 2). Requires outroEnabled=true."},"gameVideoName":{"type":"string","description":"Exact game video name from list_game_videos (case-sensitive)"},"outroImageUrl":{"type":"string","format":"uri","description":"Public image URL for a custom outro card instead of the stock bell card. Requires outroEnabled=true."},"blurBackground":{"type":"boolean","description":"Background behind the clip when the source does not fill the 9:16 canvas (mainly layout=fit): true = blurred copy of the video, false = solid color (backgroundColor, else the account's saved color, else the template color). Omit to use the account's saved editor preference (default: blurred)."},"backgroundColor":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$","description":"Solid background color as hex, e.g. \"#000000\". Only with blurBackground=false. Omit to use the account's saved background color, else the template color."},"captionLanguage":{"enum":["en","es","fr","de","it","pt","ru","ja","ko","zh","ar","hi","tr","pl","nl","sv","no","da","fi","cs","vi","id","fa","uk","af","ca","et","fo","gl","is","ms","sq","sw","tl","ro","sk","hr","sl","hu","lv","lt","bs","az","bg","mk","sr","mt","el","ne","mr","ka","hy","ur","he"],"type":"string","description":"Caption language if different from spoken"},"captionsEnabled":{"type":"boolean","default":true,"description":"Burn captions into the clips (default true). Set false for sources that already have captions."},"preferredLength":{"enum":["under30sec","under60sec","under90sec","under3min","under5min","under10min"],"type":"string","default":"under60sec","description":"Target clip duration"}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":1427,"tokensAfter":1427},{"name":"delete_request","fixed":{"name":"delete_request","description":"Permanently delete a short creation request and all generated videos. Credits are NOT refunded. This action is irreversible.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["requestId"],"properties":{"requestId":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"The request ID to delete (24-char hex). This action is irreversible and credits are NOT refunded."}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":137,"tokensAfter":137},{"name":"get_shorts","fixed":{"name":"get_shorts","description":"Retrieve all generated short clips for a completed request. Provide a request ID, or omit it to see your recent requests and pick one.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"requestId":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"The request ID from create_short (24-char hex). Omit to see your recent requests."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Get Shorts"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":128,"tokensAfter":128},{"name":"get_status","fixed":{"name":"get_status","description":"Check processing status of a short creation request. Provide a request ID, or omit it to see your recent requests and pick one.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"requestId":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"The request ID from create_short (24-char hex). Omit to see your recent requests."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":126,"tokensAfter":126},{"name":"list_game_videos","fixed":{"name":"list_game_videos","description":"List available gameplay videos for split-screen overlays (content top, game bottom). Use the exact gameVideoName when creating shorts.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"page":{"type":"number","default":1,"minimum":1,"description":"Page number"},"limit":{"type":"number","default":20,"maximum":100,"minimum":1,"description":"Items per page (1-100)"}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"List Game Videos"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":136,"tokensAfter":136},{"name":"list_meme_hooks","fixed":{"name":"list_meme_hooks","description":"List available meme hook clips (2-5 second attention grabbers prepended to shorts). Use the exact memeHookName when creating shorts.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"page":{"type":"number","default":1,"minimum":1,"description":"Page number"},"limit":{"type":"number","default":20,"maximum":100,"minimum":1,"description":"Items per page (1-100)"}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"List Meme Hooks"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":135,"tokensAfter":135},{"name":"list_music","fixed":{"name":"list_music","description":"List available background music tracks with names and durations. Use the exact musicName when creating shorts.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"page":{"type":"number","default":1,"minimum":1,"description":"Page number"},"limit":{"type":"number","default":20,"maximum":100,"minimum":1,"description":"Items per page (1-100)"}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"List Music"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":127,"tokensAfter":127},{"name":"list_posts","fixed":{"name":"list_posts","description":"List your scheduled and published social posts (YouTube, Instagram, TikTok) with status, public URL and publish time. Filter by status, platform, request, clip or time window; use date=published with since to find posts that went live after a given moment.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"date":{"enum":["scheduled","published"],"type":"string","description":"Which timestamp since/until filter and sort by. Use \"published\" with since to poll for newly live posts."},"page":{"type":"integer","default":1,"minimum":1,"description":"Page number"},"limit":{"type":"integer","default":50,"maximum":100,"minimum":1,"description":"Items per page (1-100)"},"since":{"type":"string","format":"date-time","description":"ISO 8601 lower bound. Applies to scheduledAt, or to publishedAt when date=published"},"until":{"type":"string","format":"date-time","description":"ISO 8601 upper bound (same field as since)"},"source":{"enum":["manual","automation"],"type":"string","description":"manual = scheduled by hand from the shorts list; automation = posted by channel automation"},"status":{"enum":["scheduled","processing","published","failed","canceled"],"type":"string","description":"Filter by post status: scheduled (queued), processing (uploading or waiting for the platform), published (live, has url), failed (has error), canceled"},"shortId":{"type":"string","format":"uuid","description":"Only posts made from this clip (short ID)"},"platform":{"enum":["youtube","instagram","tiktok"],"type":"string","description":"Filter by platform"},"requestId":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Only posts made from this request (24-char hex request ID)"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":502,"tokensAfter":502},{"name":"list_requests","fixed":{"name":"list_requests","description":"List all short creation requests with optional status filtering, pagination, and sorting.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"page":{"type":"number","default":1,"minimum":1,"description":"Page number"},"limit":{"type":"number","default":20,"maximum":100,"minimum":1,"description":"Items per page (1-100)"},"sortBy":{"enum":["createdAt","updatedAt"],"type":"string","default":"createdAt","description":"Sort field"},"status":{"enum":["queued","processing","completed","failed","cancelled"],"type":"string","description":"Filter by status"},"sortOrder":{"enum":["asc","desc"],"type":"string","default":"desc","description":"Sort direction"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":215,"tokensAfter":215},{"name":"list_templates","fixed":{"name":"list_templates","description":"List all available caption style templates with preview thumbnails, names, and IDs. Use the templateId when creating shorts.","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnlyHint":true},"title":"List Templates"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":60,"tokensAfter":60}],"toolsChanged":10,"tokensSaved":0,"todo":[],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}