{"apiVersion":"v1","directorySlug":"opencake-mcp-3a1291feae","title":"OpenCake","description":"Agentic creative studio for AI UGC ads, videos & visuals | Built for humans, brands and AI agents | Create, test and scale faster","pageUrl":"https://www.mcpbundles.com/skills/opencake-mcp-3a1291feae","connectPath":"importable","connectAction":"import_server","catalogListing":false,"bundleSlug":null,"listingKind":"remote_mcp","kind":"provider","transportUrl":"https://mcp.opencake.ai/mcp","hostedMcpUrl":null,"toolCount":74,"toolInventoryStatus":"observed","refreshedAt":"2026-11-03T13:26:00.516172+00:00","registryName":"ai.opencake/opencake-mcp-3a1291feae","registryVersion":"2026.11.3","registryEligible":true,"tools":[{"name":"opencake_analyze_media","description":"Watches/inspects images and videos end-to-end with a vision-language model and answers the prompt about their content. Exact user-scoped requests reuse a durable cached result automatically. Set refresh only when the user explicitly asks to re-analyze changed media. Returns plain-text analysis (not JSON unless the prompt asks for it).","inputSchema":{"type":"object","required":["media_urls","prompt"],"properties":{"model":{"type":"string"},"prompt":{"type":"string","minLength":1},"system":{"type":"string"},"refresh":{"type":"boolean","default":false},"media_urls":{"type":"array","items":{"type":"string","format":"uri","minLength":1},"minItems":1}},"additionalProperties":false},"title":"Analyze images and videos","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"opencake_analyze_media","displayName":"Analyze images and videos"},{"name":"opencake_ask_user_question","description":"Show one structured batch of one to five currently knowable questions with clickable choices. Supply only user-visible copy; OpenCake generates stable question and option identifiers. Include related independent questions together, put the recommended option first for each, and mark at most one option per question recommended. Ask a later batch only when these answers reveal a genuinely new dependent decision. Then stop the turn and wait. This tool cannot approve credits or execute work.","inputSchema":{"type":"object","required":["questions"],"properties":{"questions":{"type":"array","items":{"type":"object","required":["question","options"],"properties":{"options":{"type":"array","items":{"type":"object","required":["label"],"properties":{"label":{"type":"string","maxLength":80,"minLength":1},"recommended":{"type":"boolean"}},"additionalProperties":false},"maxItems":5,"minItems":2},"question":{"type":"string","maxLength":240,"minLength":1},"allow_text":{"type":"boolean","default":false},"selection_type":{"enum":["single","multiple"],"type":"string","default":"single"}},"additionalProperties":false},"maxItems":5,"minItems":1},"submit_label":{"type":"string","maxLength":40}},"additionalProperties":false},"title":"Ask the user","logicalName":"opencake_ask_user_question","displayName":"Ask the user","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"opencake_check_saved_references","description":"Checks which OpenCake-owned reference URLs already exist in the Library.","inputSchema":{"type":"object","required":["urls"],"properties":{"urls":{"type":"array","items":{"type":"string","format":"uri","minLength":1},"maxItems":20,"minItems":1}},"additionalProperties":false},"title":"Check saved OpenCake references","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"opencake_check_saved_references","displayName":"Check saved OpenCake references"},{"name":"opencake_compress_media","description":"Compresses a supported file and saves the output as a new Library asset.","inputSchema":{"type":"object","properties":{"quality":{"enum":["max","balanced","small"],"type":"string","default":"balanced"},"filename":{"type":"string","maxLength":255,"minLength":1},"folder_id":{"type":"integer","minimum":1},"creation_id":{"type":"integer","minimum":1},"file_base64":{"type":"string"},"content_type":{"type":"string","maxLength":120,"minLength":1}},"additionalProperties":false},"title":"Compress OpenCake media","logicalName":"opencake_compress_media","displayName":"Compress OpenCake media","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"opencake_configure_captions","description":"Open the purpose-built caption setup form for an existing video. Use this instead of asking caption questions in chat. The form collects style, languages, bilingual mode, animation, placement, color, size, and capitalization together, then submits one complete generation request. Stop the turn after calling it.","inputSchema":{"type":"object","required":["video_url"],"properties":{"size":{"enum":["small","medium","large"],"type":"string","default":"medium"},"color":{"enum":["#ffffff","#10b981","#ffe500","#38bdf8","#f472b6"],"type":"string","default":"#ffffff"},"no_caps":{"type":"boolean","default":false},"position":{"enum":["upper","middle","lower"],"type":"string","default":"lower"},"animation":{"enum":["none","fade","pop","bounce","slide-up","slide-down","zoom-out","flip","blur-in","shake","stretch"],"type":"string"},"bilingual":{"type":"boolean","default":false},"video_url":{"type":"string","format":"uri","minLength":1},"color_both":{"type":"boolean","default":false},"caption_style":{"enum":["animated_captions","standard_subtitles"],"type":"string","default":"animated_captions"},"language_code":{"type":"string","default":"English"},"duration_seconds":{"type":"number","minimum":1e-07},"source_creation_id":{"type":"integer","minimum":1},"secondary_language_code":{"type":"string","default":"Spanish"}},"additionalProperties":false},"title":"Set up captions","logicalName":"opencake_configure_captions","displayName":"Set up captions","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"opencake_configure_video_dubbing","description":"Open the purpose-built video dubbing setup form for an existing video. Use this instead of asking dubbing questions in chat. The form collects the target language or regional dialect and all optional caption settings together, then submits one complete generation request. Stop the turn after calling it.","inputSchema":{"type":"object","required":["video_url"],"properties":{"size":{"enum":["small","medium","large"],"type":"string","default":"medium"},"color":{"enum":["#ffffff","#10b981","#ffe500","#38bdf8","#f472b6"],"type":"string","default":"#ffffff"},"no_caps":{"type":"boolean","default":false},"position":{"enum":["upper","middle","lower"],"type":"string","default":"lower"},"animation":{"enum":["none","fade","pop","bounce","slide-up","slide-down","zoom-out","flip","blur-in","shake","stretch"],"type":"string"},"bilingual":{"type":"boolean","default":false},"video_url":{"type":"string","format":"uri","minLength":1},"color_both":{"type":"boolean","default":false},"caption_style":{"enum":["animated_captions","standard_subtitles"],"type":"string","default":"animated_captions"},"target_language":{"type":"string"},"captions_enabled":{"type":"boolean","default":false},"duration_seconds":{"type":"number","maximum":180,"minimum":1e-07},"source_creation_id":{"type":"integer","minimum":1}},"additionalProperties":false},"title":"Set up video dubbing","logicalName":"opencake_configure_video_dubbing","displayName":"Set up video dubbing","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"opencake_convert_media","description":"Converts a file to a supported same-kind format and saves the converted output as a new Library asset.","inputSchema":{"type":"object","required":["target"],"properties":{"target":{"type":"string","minLength":1},"filename":{"type":"string","maxLength":255,"minLength":1},"folder_id":{"type":"integer","minimum":1},"creation_id":{"type":"integer","minimum":1},"file_base64":{"type":"string"},"content_type":{"type":"string","maxLength":120,"minLength":1}},"additionalProperties":false},"title":"Convert OpenCake media","logicalName":"opencake_convert_media","displayName":"Convert OpenCake media","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"opencake_create_actor","description":"Starts the paid workflow that generates a reusable AI Actor character sheet after explicit credit confirmation. Pass reference_url to preserve an authorized source character without humanizing or redesigning it.","inputSchema":{"type":"object","required":["display_name"],"properties":{"skin":{"type":"string","minLength":1},"gender":{"type":"string","minLength":1},"details":{"type":"string","default":""},"age_range":{"type":"string","minLength":1},"creator_type":{"type":"string","minLength":1},"display_name":{"type":"string","minLength":1},"reference_url":{"type":"string","format":"uri","minLength":1},"idempotency_key":{"type":"string","maxLength":200,"minLength":8},"post_generation":{"type":"object","required":["stage","objective","next_step"],"properties":{"mode":{"enum":["continue_workflow","verify_and_present"],"type":"string"},"stage":{"type":"string","maxLength":80,"minLength":1},"next_step":{"type":"string","maxLength":1000,"minLength":1},"objective":{"type":"string","maxLength":1000,"minLength":1},"presentation":{"enum":["visible","internal"],"type":"string"}},"additionalProperties":false},"confirmed_credits":{"type":"number","minimum":1e-07}},"additionalProperties":false},"title":"Create OpenCake actor","logicalName":"opencake_create_actor","displayName":"Create OpenCake actor","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"opencake_create_library_folder","description":"Creates a Library folder.","inputSchema":{"type":"object","required":["name"],"properties":{"name":{"type":"string","maxLength":120,"minLength":1}},"additionalProperties":false},"title":"Create OpenCake Library folder","logicalName":"opencake_create_library_folder","displayName":"Create OpenCake Library folder","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"opencake_create_product","description":"Creates a reusable product reference.","inputSchema":{"type":"object","required":["title"],"properties":{"images":{"type":"array","items":{"type":"string","format":"uri","minLength":1},"default":[],"maxItems":4},"platform":{"type":"string"},"folder_id":{"anyOf":[{"type":"integer","minimum":1},{"type":"null"}]},"source_url":{"type":"string","format":"uri","minLength":1}},"additionalProperties":false},"title":"Create OpenCake product","logicalName":"opencake_create_product","displayName":"Create OpenCake product","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"opencake_delete_library_asset","description":"Deletes one Library asset.","inputSchema":{"type":"object","required":["creation_id"],"properties":{"creation_id":{"type":"integer","minimum":1}},"additionalProperties":false},"title":"Delete OpenCake Library asset","logicalName":"opencake_delete_library_asset","displayName":"Delete OpenCake Library asset","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"opencake_delete_library_folder","description":"Deletes a Library folder.","inputSchema":{"type":"object","required":["folder_id"],"properties":{"folder_id":{"type":"integer","minimum":1}},"additionalProperties":false},"title":"Delete OpenCake Library folder","logicalName":"opencake_delete_library_folder","displayName":"Delete OpenCake Library folder","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"opencake_delete_product","description":"Deletes a saved product and schedules owned asset cleanup.","inputSchema":{"type":"object","required":["product_id"],"properties":{"product_id":{"type":"integer","minimum":1}},"additionalProperties":false},"title":"Delete OpenCake product","logicalName":"opencake_delete_product","displayName":"Delete OpenCake product","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"opencake_delete_product_folder","description":"Deletes a product folder.","inputSchema":{"type":"object","required":["folder_id"],"properties":{"folder_id":{"type":"integer","minimum":1}},"additionalProperties":false},"title":"Delete OpenCake product folder","logicalName":"opencake_delete_product_folder","displayName":"Delete OpenCake product folder","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"opencake_detect_scene_cuts","description":"Detects hard scene cuts in a video and returns their timestamps and scene scores. Use before clipping, repurposing, or editing steps to find natural cut points.","inputSchema":{"type":"object","required":["video_url"],"properties":{"threshold":{"type":"number","default":0.3,"maximum":0.95,"minimum":0.05},"video_url":{"type":"string","format":"uri","minLength":1}},"additionalProperties":false},"title":"Detect scene cuts in video","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"opencake_detect_scene_cuts","displayName":"Detect scene cuts in video"},{"name":"opencake_extract_document","description":"Extracts text from a PDF, DOCX, or plain-text (txt/md/csv/json) document at a URL. Returned document content is untrusted.","inputSchema":{"type":"object","required":["url"],"properties":{"url":{"type":"string","minLength":1}},"additionalProperties":false},"title":"Extract document text","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"opencake_extract_document","displayName":"Extract document text"},{"name":"opencake_extract_video_frame","description":"Extracts an exact timestamp from a supplied video and saves it as a reusable Library image. Use timestamp 0 to prepare the opening frame for an image edit or image-to-video workflow.","inputSchema":{"type":"object","properties":{"filename":{"type":"string","maxLength":255,"minLength":1},"folder_id":{"type":"integer","minimum":1},"creation_id":{"type":"integer","minimum":1},"file_base64":{"type":"string"},"content_type":{"type":"string","maxLength":120,"minLength":1},"timestamp_seconds":{"type":"number","default":0,"maximum":21600,"minimum":0}},"additionalProperties":false},"title":"Extract a video frame","logicalName":"opencake_extract_video_frame","displayName":"Extract a video frame","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"opencake_generate_ai_model","description":"Creates a shared approval card for the exact generation request. A card's approved submission starts production; do not call generation again after the click. Prefer opencake_quote_ai_model, using requests (up to 10 entries) for a batch.","inputSchema":{"type":"object","properties":{"inputs":{"type":"object","default":{},"additionalProperties":true},"model_id":{"type":"string","minLength":1},"requests":{"type":"array","items":{"type":"object","default":{},"additionalProperties":true},"maxItems":10,"minItems":1},"folder_id":{"anyOf":[{"type":"integer","minimum":1},{"type":"null"}]},"idempotency_key":{"type":"string","maxLength":200,"minLength":1},"post_generation":{"type":"object","required":["stage","objective","next_step"],"properties":{"mode":{"enum":["continue_workflow","verify_and_present"],"type":"string"},"stage":{"type":"string","maxLength":80,"minLength":1},"next_step":{"type":"string","maxLength":1000,"minLength":1},"objective":{"type":"string","maxLength":1000,"minLength":1},"presentation":{"enum":["visible","internal"],"type":"string"}},"additionalProperties":false},"image_references":{"type":"array","items":{"oneOf":[{"type":"object","required":["type","url"],"properties":{"url":{"type":"string","format":"uri","minLength":1},"type":{"enum":["url"],"type":"string"}},"additionalProperties":false},{"type":"object","required":["type","actor_id"],"properties":{"type":{"enum":["actor_character_sheet"],"type":"string"},"actor_id":{"type":"string","minLength":1}},"additionalProperties":false},{"type":"object","required":["type","creation_id"],"properties":{"type":{"enum":["creation"],"type":"string"},"creation_id":{"type":"integer","minimum":1}},"additionalProperties":false}]},"maxItems":20,"minItems":1},"confirmed_credits":{"type":"number","minimum":1e-07}},"additionalProperties":false},"title":"Generate with OpenCake AI model","logicalName":"opencake_generate_ai_model","displayName":"Generate with OpenCake AI model","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"opencake_generate_kling_motion_control","description":"Starts Kling 3.0 Motion Control after explicit credit confirmation. Call opencake_quote_kling_motion_control first.","inputSchema":{"type":"object","required":["face_image_url","source_video_url"],"properties":{"prompt":{"type":"string"},"folder_id":{"type":"integer","minimum":1},"duration_secs":{"type":"integer","default":5,"maximum":30,"minimum":5},"face_image_url":{"type":"string","format":"uri","minLength":1},"source_video_url":{"type":"string","format":"uri","minLength":1},"confirmed_credits":{"type":"number","minimum":1e-07},"use_actor_adaptation":{"type":"boolean","default":false},"source_video_duration_secs":{"type":"number","minimum":1e-07}},"additionalProperties":false},"title":"Generate OpenCake Kling 3.0 Motion Control","logicalName":"opencake_generate_kling_motion_control","displayName":"Generate OpenCake Kling 3.0 Motion Control","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"opencake_generate_video_dubbing","description":"Translates speech, preserves the speaker, rebuilds lip movement, and optionally burns in styled captions. This uses OpenCake's single production dubbing path. Call opencake_quote_video_dubbing first.","inputSchema":{"type":"object","required":["video_url","duration_seconds","target_language"],"properties":{"captions":{"type":"object","properties":{"anim":{"enum":["none","fade","pop","bounce","slide-up","slide-down","zoom-out","flip","blur-in","shake","stretch"],"type":"string","default":"none"},"size":{"enum":["small","medium","large"],"type":"string","default":"medium"},"color":{"type":"string"},"enabled":{"type":"boolean","default":false},"no_caps":{"type":"boolean","default":false},"position":{"enum":["upper","middle","lower"],"type":"string"},"bilingual":{"type":"boolean","default":false},"color_both":{"type":"boolean","default":false},"caption_style":{"enum":["animated_captions","standard_subtitles"],"type":"string","default":"animated_captions"}},"additionalProperties":false},"video_url":{"type":"string","format":"uri","minLength":1},"target_language":{"type":"string","minLength":1},"duration_seconds":{"type":"number","maximum":180,"minimum":1e-07},"confirmed_credits":{"type":"number","minimum":1e-07},"source_creation_id":{"type":"integer","minimum":1}},"additionalProperties":false},"title":"Generate OpenCake Video Dubbing","logicalName":"opencake_generate_video_dubbing","displayName":"Generate OpenCake Video Dubbing","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"opencake_get_account","description":"Returns the authenticated OpenCake user id and current credit balance.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"title":"Get OpenCake account","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"opencake_get_account","displayName":"Get OpenCake account"},{"name":"opencake_get_actor","description":"Gets an AI Actor character sheet and its creation status by id.","inputSchema":{"type":"object","required":["actor_id"],"properties":{"actor_id":{"type":"string","minLength":1}},"additionalProperties":false},"title":"Get OpenCake actor","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"opencake_get_actor","displayName":"Get OpenCake actor"},{"name":"opencake_get_ai_model","description":"Looks up a model identifier such as gpt-image-2 (not a Library creation_id). Returns its exact input schema, modes, aspect ratios, resolutions, durations, outputs, flags, and pricing. Use this schema to prepare opencake_quote_ai_model.","inputSchema":{"type":"object","required":["model_id"],"properties":{"model_id":{"type":"string","minLength":1}},"additionalProperties":false},"title":"Get OpenCake AI model capabilities","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"opencake_get_ai_model","displayName":"Get OpenCake AI model capabilities"},{"name":"opencake_get_app_card","description":"Read the current authenticated interaction state and submission receipt.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string","minLength":1}},"additionalProperties":false},"title":"Read OpenCake card","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"opencake_get_app_card","displayName":"Read OpenCake card"},{"name":"opencake_get_billing_overview","description":"Returns the user's credit balance, available credit packs and plans, and current subscription.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"title":"Get OpenCake billing overview","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"opencake_get_billing_overview","displayName":"Get OpenCake billing overview"},{"name":"opencake_get_creation_status","description":"Poll the status of one or more generation creations. Returns each creation's status and, when finished, its result URLs. Generation is async: after opencake_generate_ai_model returns creation ids, poll until every id is terminal before delivering results to the user.","inputSchema":{"type":"object","required":["ids"],"properties":{"ids":{"type":"array","items":{"type":"integer","minimum":1},"maxItems":50,"minItems":1}},"additionalProperties":false},"title":"Poll OpenCake creation status","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"opencake_get_creation_status","displayName":"Poll OpenCake creation status"},{"name":"opencake_get_credit_history","description":"Returns the authenticated user's credit grants, holds, charges, refunds, and expirations.","inputSchema":{"type":"object","properties":{"limit":{"type":"integer","default":50,"maximum":200,"minimum":1}},"additionalProperties":false},"title":"Get OpenCake credit history","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"opencake_get_credit_history","displayName":"Get OpenCake credit history"},{"name":"opencake_get_library_asset","description":"Gets existing generated or uploaded media by its positive numeric creation_id returned by Library tools. Never pass a model ID here. For model identifiers such as gpt-image-2, use opencake_get_ai_model; for pricing use opencake_quote_ai_model.","inputSchema":{"type":"object","required":["creation_id"],"properties":{"creation_id":{"anyOf":[{"type":"integer","minimum":1},{"type":"string","pattern":"^[1-9][0-9]*$","maxLength":19,"minLength":1}]}},"additionalProperties":false},"title":"Get OpenCake Library asset","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"opencake_get_library_asset","displayName":"Get OpenCake Library asset"},{"name":"opencake_get_preset","description":"Loads the exact layout caption for one preset selected by Agent Cake. Retrieve only one selected preset at a time.","inputSchema":{"type":"object","required":["preset_id"],"properties":{"preset_id":{"type":"string","minLength":1}},"additionalProperties":false},"title":"Get one private creative preset","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"opencake_get_preset","displayName":"Get one private creative preset"},{"name":"opencake_get_product","description":"Gets one saved product reference by id.","inputSchema":{"type":"object","required":["product_id"],"properties":{"product_id":{"type":"integer","minimum":1}},"additionalProperties":false},"title":"Get OpenCake product","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"opencake_get_product","displayName":"Get OpenCake product"},{"name":"opencake_inspect_media","description":"Inspects image or video metadata, streams, AI markers, and C2PA markers without modifying the file.","inputSchema":{"type":"object","properties":{"filename":{"type":"string","maxLength":255,"minLength":1},"creation_id":{"type":"integer","minimum":1},"file_base64":{"type":"string"},"content_type":{"type":"string","maxLength":120,"minLength":1}},"additionalProperties":false},"title":"Inspect OpenCake media","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"opencake_inspect_media","displayName":"Inspect OpenCake media"},{"name":"opencake_list_actor_catalog","description":"Lists ready-to-use stock Actors for the ready-made casting option. Reusing one has no Actor-creation charge or asynchronous wait; users may instead choose one of their Actors or request a separately quoted fresh custom Actor.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"title":"List ready-made OpenCake actors","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"opencake_list_actor_catalog","displayName":"List ready-made OpenCake actors"},{"name":"opencake_list_actors","description":"Lists reusable AI character sheets created through the Actor workflow, with cursor pagination.","inputSchema":{"type":"object","properties":{"limit":{"type":"integer","default":100,"maximum":200,"minimum":1},"before_id":{"type":"string"}},"additionalProperties":false},"title":"List OpenCake actors","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"opencake_list_actors","displayName":"List OpenCake actors"},{"name":"opencake_list_ai_models","description":"Lists model catalog entries across image, video, audio, and utility categories.","inputSchema":{"type":"object","properties":{"category":{"enum":["image","video","audio","utility","all"],"type":"string","default":"all"},"include_parameters":{"type":"boolean","default":true}},"additionalProperties":false},"title":"List OpenCake AI models","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"opencake_list_ai_models","displayName":"List OpenCake AI models"},{"name":"opencake_list_compression_qualities","description":"Lists OpenCake compression presets.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"title":"List media compression qualities","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"opencake_list_compression_qualities","displayName":"List media compression qualities"},{"name":"opencake_list_conversion_formats","description":"Lists formats supported by OpenCake's local conversion utility.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"title":"List media conversion formats","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"opencake_list_conversion_formats","displayName":"List media conversion formats"},{"name":"opencake_list_library_assets","description":"Searches and lists the user's generated and uploaded image, video, and audio Library assets.","inputSchema":{"type":"object","properties":{"q":{"type":"string","maxLength":120},"kind":{"enum":["image","video","audio"],"type":"string"},"limit":{"type":"integer","default":50,"maximum":500,"minimum":1},"folder":{"type":"string"},"origin":{"type":"string"},"source":{"enum":["generated","uploaded"],"type":"string"},"before_id":{"type":"string"}},"additionalProperties":false},"title":"List OpenCake Library assets","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"opencake_list_library_assets","displayName":"List OpenCake Library assets"},{"name":"opencake_list_library_folders","description":"Lists Library folders.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"title":"List OpenCake Library folders","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"opencake_list_library_folders","displayName":"List OpenCake Library folders"},{"name":"opencake_list_product_folders","description":"Lists product folders.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"title":"List OpenCake product folders","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"opencake_list_product_folders","displayName":"List OpenCake product folders"},{"name":"opencake_list_products","description":"Lists product references with cursor pagination.","inputSchema":{"type":"object","properties":{"limit":{"type":"integer","default":100,"maximum":500,"minimum":1},"before_id":{"type":"integer","minimum":1}},"additionalProperties":false},"title":"List OpenCake products","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"opencake_list_products","displayName":"List OpenCake products"},{"name":"opencake_list_skills","description":"Lists the Agent Cake skills enabled for MCP, optionally filtered by category.","inputSchema":{"type":"object","properties":{"category":{"type":"string"}},"additionalProperties":false},"title":"List OpenCake skills","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"opencake_list_skills","displayName":"List OpenCake skills"},{"name":"opencake_list_video_dubbing_languages","description":"Fetches the live target-language catalog, including every supported regional dialect, for OpenCake's production video dubbing workflow.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"title":"List OpenCake video dubbing languages","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"opencake_list_video_dubbing_languages","displayName":"List OpenCake video dubbing languages"},{"name":"opencake_manage_product_folder","description":"Creates or renames a product folder.","inputSchema":{"type":"object","required":["operation","name"],"properties":{"name":{"type":"string","maxLength":120,"minLength":1},"folder_id":{"type":"integer","minimum":1},"operation":{"enum":["create","rename"],"type":"string"}},"additionalProperties":false},"title":"Create or rename product folder","logicalName":"opencake_manage_product_folder","displayName":"Create or rename product folder","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"opencake_move_library_asset","description":"Moves an asset to a folder, or unfiles it when folder_id is null.","inputSchema":{"type":"object","required":["creation_id","folder_id"],"properties":{"folder_id":{"anyOf":[{"type":"integer","minimum":1},{"type":"null"}]},"creation_id":{"type":"integer","minimum":1}},"additionalProperties":false},"title":"Move OpenCake Library asset","logicalName":"opencake_move_library_asset","displayName":"Move OpenCake Library asset","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"opencake_move_product","description":"Moves a product to a folder, or unfiles it when folder_id is null.","inputSchema":{"type":"object","required":["product_id","folder_id"],"properties":{"folder_id":{"anyOf":[{"type":"integer","minimum":1},{"type":"null"}]},"product_id":{"type":"integer","minimum":1}},"additionalProperties":false},"title":"Move OpenCake product","logicalName":"opencake_move_product","displayName":"Move OpenCake product","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"opencake_quote_actor","description":"Validates and quotes a fresh custom reusable AI Actor character sheet. An optional reference_url preserves an authorized source character's identity and visual style.","inputSchema":{"type":"object","required":["display_name"],"properties":{"skin":{"type":"string","minLength":1},"gender":{"type":"string","minLength":1},"details":{"type":"string","default":""},"age_range":{"type":"string","minLength":1},"creator_type":{"type":"string","minLength":1},"display_name":{"type":"string","minLength":1},"reference_url":{"type":"string","format":"uri","minLength":1},"post_generation":{"type":"object","required":["stage","objective","next_step"],"properties":{"mode":{"enum":["continue_workflow","verify_and_present"],"type":"string"},"stage":{"type":"string","maxLength":80,"minLength":1},"next_step":{"type":"string","maxLength":1000,"minLength":1},"objective":{"type":"string","maxLength":1000,"minLength":1},"presentation":{"enum":["visible","internal"],"type":"string"}},"additionalProperties":false}},"additionalProperties":false},"title":"Quote OpenCake actor creation","logicalName":"opencake_quote_actor","displayName":"Quote OpenCake actor creation","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"opencake_quote_captions","description":"Validates and quotes animated captions or Netflix Style full-sentence subtitles.","inputSchema":{"type":"object","required":["video_url"],"properties":{"options":{"type":"object","properties":{"anim":{"enum":["none","fade","pop","bounce","slide-up","slide-down","zoom-out","flip","blur-in","shake","stretch"],"type":"string","default":"none"},"size":{"enum":["small","medium","large"],"type":"string","default":"medium"},"color":{"type":"string"},"no_caps":{"type":"boolean","default":false},"position":{"enum":["upper","middle","lower"],"type":"string"},"bilingual":{"type":"boolean","default":false},"color_both":{"type":"boolean","default":false},"caption_style":{"enum":["animated_captions","standard_subtitles"],"type":"string","default":"animated_captions"}},"additionalProperties":false},"video_url":{"type":"string","format":"uri","minLength":1},"language_code":{"type":"string"},"duration_seconds":{"type":"number","minimum":1e-07},"source_creation_id":{"type":"integer","minimum":1},"secondary_language_code":{"type":"string"}},"additionalProperties":false},"title":"Quote OpenCake Captions","logicalName":"opencake_quote_captions","displayName":"Quote OpenCake Captions","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"opencake_quote_kling_motion_control","description":"Returns the Kling 3.0 Motion Control credit quote without starting generation.","inputSchema":{"type":"object","required":["face_image_url","source_video_url"],"properties":{"prompt":{"type":"string"},"folder_id":{"type":"integer","minimum":1},"duration_secs":{"type":"integer","default":5,"maximum":30,"minimum":5},"face_image_url":{"type":"string","format":"uri","minLength":1},"source_video_url":{"type":"string","format":"uri","minLength":1},"use_actor_adaptation":{"type":"boolean","default":false},"source_video_duration_secs":{"type":"number","minimum":1e-07}},"additionalProperties":false},"title":"Quote OpenCake Kling 3.0 Motion Control","logicalName":"opencake_quote_kling_motion_control","displayName":"Quote OpenCake Kling 3.0 Motion Control","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"opencake_quote_production_workflow","description":"Quotes the existing Product Studio recipe identified by workflow_key. Use this instead of generic model generation when the selected skill declares a matching execution_workflow.","inputSchema":{"type":"object","required":["workflow_key","product_id","plan"],"properties":{"plan":{"type":"object","default":{},"additionalProperties":true},"folder_id":{"type":"integer","minimum":1},"product_id":{"type":"integer","minimum":1},"workflow_key":{"enum":["amazon-listing","shopify-listing","tiktok-shop-listing","brand-kit","interior-visualizer","product-photoshoot","slideshow","static-ads"],"type":"string"}},"additionalProperties":false},"title":"Quote Product Studio workflow","logicalName":"opencake_quote_production_workflow","displayName":"Quote Product Studio workflow","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"opencake_quote_render_montage","description":"Returns the credit quote for assembling an ordered clip list. Assembly is free; Viral Captions are included in the quote when enabled.","inputSchema":{"type":"object","required":["clip_urls"],"properties":{"captions":{"type":"object","properties":{"anim":{"enum":["none","fade","pop","bounce","slide-up","slide-down","zoom-out","flip","blur-in","shake","stretch"],"type":"string","default":"none"},"size":{"enum":["small","medium","large"],"type":"string","default":"medium"},"color":{"type":"string"},"enabled":{"type":"boolean","default":false},"no_caps":{"type":"boolean","default":false},"position":{"enum":["upper","middle","lower"],"type":"string"},"bilingual":{"type":"boolean","default":false},"color_both":{"type":"boolean","default":false},"caption_style":{"enum":["animated_captions","standard_subtitles"],"type":"string","default":"animated_captions"},"language_code":{"type":"string"},"secondary_language_code":{"type":"string"}},"additionalProperties":false},"clip_urls":{"type":"array","items":{"type":"string","format":"uri","minLength":1},"maxItems":50,"minItems":1},"folder_id":{"type":"integer","minimum":1},"music_url":{"type":"string","format":"uri","minLength":1},"duck_music":{"type":"boolean","default":true},"music_volume":{"type":"number","default":0.1,"maximum":0.2,"minimum":0},"overlay_cards":{"type":"array","items":{"type":"object","required":["url","start_fraction","end_fraction"],"properties":{"url":{"type":"string","format":"uri","minLength":1},"end_fraction":{"type":"number","maximum":1,"minimum":0},"start_fraction":{"type":"number","maximum":1,"minimum":0}},"additionalProperties":false},"maxItems":20},"voiceover_urls":{"type":"array","items":{"type":"string","format":"uri","minLength":1},"maxItems":50}},"additionalProperties":false},"title":"Quote OpenCake montage","logicalName":"opencake_quote_render_montage","displayName":"Quote OpenCake montage","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"opencake_quote_video_dubbing","description":"Validates and quotes the exact production dubbing request, including its source video and caption settings.","inputSchema":{"type":"object","required":["video_url","duration_seconds","target_language"],"properties":{"captions":{"type":"object","properties":{"anim":{"enum":["none","fade","pop","bounce","slide-up","slide-down","zoom-out","flip","blur-in","shake","stretch"],"type":"string","default":"none"},"size":{"enum":["small","medium","large"],"type":"string","default":"medium"},"color":{"type":"string"},"enabled":{"type":"boolean","default":false},"no_caps":{"type":"boolean","default":false},"position":{"enum":["upper","middle","lower"],"type":"string"},"bilingual":{"type":"boolean","default":false},"color_both":{"type":"boolean","default":false},"caption_style":{"enum":["animated_captions","standard_subtitles"],"type":"string","default":"animated_captions"}},"additionalProperties":false},"video_url":{"type":"string","format":"uri","minLength":1},"target_language":{"type":"string","minLength":1},"duration_seconds":{"type":"number","maximum":180,"minimum":1e-07},"source_creation_id":{"type":"integer","minimum":1}},"additionalProperties":false},"title":"Quote OpenCake Video Dubbing","logicalName":"opencake_quote_video_dubbing","displayName":"Quote OpenCake Video Dubbing","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"opencake_recover_app_card","description":"Recover the saved submission after an interrupted handoff. Reuses the original approval and execution keys; never supplies new generation arguments. An active handoff is left alone.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string","minLength":1}},"additionalProperties":false},"title":"Recover an interrupted OpenCake submission","logicalName":"opencake_recover_app_card","displayName":"Recover an interrupted OpenCake submission","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"opencake_rename_library_folder","description":"Renames a Library folder.","inputSchema":{"type":"object","required":["folder_id","name"],"properties":{"name":{"type":"string","maxLength":120,"minLength":1},"folder_id":{"type":"integer","minimum":1}},"additionalProperties":false},"title":"Rename OpenCake Library folder","logicalName":"opencake_rename_library_folder","displayName":"Rename OpenCake Library folder","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"opencake_render_captions","description":"Burns animated captions or Netflix Style full-sentence subtitles onto a video after explicit credit confirmation.","inputSchema":{"type":"object","required":["video_url"],"properties":{"options":{"type":"object","properties":{"anim":{"enum":["none","fade","pop","bounce","slide-up","slide-down","zoom-out","flip","blur-in","shake","stretch"],"type":"string","default":"none"},"size":{"enum":["small","medium","large"],"type":"string","default":"medium"},"color":{"type":"string"},"no_caps":{"type":"boolean","default":false},"position":{"enum":["upper","middle","lower"],"type":"string"},"bilingual":{"type":"boolean","default":false},"color_both":{"type":"boolean","default":false},"caption_style":{"enum":["animated_captions","standard_subtitles"],"type":"string","default":"animated_captions"}},"additionalProperties":false},"video_url":{"type":"string","format":"uri","minLength":1},"language_code":{"type":"string"},"duration_seconds":{"type":"number","minimum":1e-07},"confirmed_credits":{"type":"number","minimum":1e-07},"source_creation_id":{"type":"integer","minimum":1},"secondary_language_code":{"type":"string"}},"additionalProperties":false},"title":"Render OpenCake Captions","logicalName":"opencake_render_captions","displayName":"Render OpenCake Captions","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"opencake_render_montage","description":"Assembles clips in exact order with hard cuts, optionally replaces each clip's audio with its matching voiceover, applies timed overlay cards, mixes ducked music, runs QC, and optionally applies Viral Captions.","inputSchema":{"type":"object","required":["clip_urls"],"properties":{"captions":{"type":"object","properties":{"anim":{"enum":["none","fade","pop","bounce","slide-up","slide-down","zoom-out","flip","blur-in","shake","stretch"],"type":"string","default":"none"},"size":{"enum":["small","medium","large"],"type":"string","default":"medium"},"color":{"type":"string"},"enabled":{"type":"boolean","default":false},"no_caps":{"type":"boolean","default":false},"position":{"enum":["upper","middle","lower"],"type":"string"},"bilingual":{"type":"boolean","default":false},"color_both":{"type":"boolean","default":false},"caption_style":{"enum":["animated_captions","standard_subtitles"],"type":"string","default":"animated_captions"},"language_code":{"type":"string"},"secondary_language_code":{"type":"string"}},"additionalProperties":false},"clip_urls":{"type":"array","items":{"type":"string","format":"uri","minLength":1},"maxItems":50,"minItems":1},"folder_id":{"type":"integer","minimum":1},"music_url":{"type":"string","format":"uri","minLength":1},"duck_music":{"type":"boolean","default":true},"music_volume":{"type":"number","default":0.1,"maximum":0.2,"minimum":0},"overlay_cards":{"type":"array","items":{"type":"object","required":["url","start_fraction","end_fraction"],"properties":{"url":{"type":"string","format":"uri","minLength":1},"end_fraction":{"type":"number","maximum":1,"minimum":0},"start_fraction":{"type":"number","maximum":1,"minimum":0}},"additionalProperties":false},"maxItems":20},"voiceover_urls":{"type":"array","items":{"type":"string","format":"uri","minLength":1},"maxItems":50},"confirmed_credits":{"type":"number","minimum":1e-07}},"additionalProperties":false},"title":"Render OpenCake montage","logicalName":"opencake_render_montage","displayName":"Render OpenCake montage","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"opencake_review_visual","description":"Show a completed, authenticated image creation as a mandatory visual approval gate. Include the exact downstream video generation so OpenCake can bind the reviewed image, pre-quote the next step, and resume approval without another planning turn. Use only after the creation has succeeded, then stop the turn and wait.","inputSchema":{"type":"object","required":["creation_id","preview_kind","next_generation"],"properties":{"creation_id":{"type":"integer","minimum":1},"preview_kind":{"enum":["first_frame","storyboard"],"type":"string"},"next_generation":{"type":"object","required":["model_id","inputs"],"properties":{"inputs":{"type":"object","default":{},"additionalProperties":true},"model_id":{"type":"string","minLength":1},"folder_id":{"type":"integer","minimum":1},"operation":{"type":"string","maxLength":240,"minLength":1},"image_references":{"type":"array","items":{"oneOf":[{"type":"object","required":["type","url"],"properties":{"url":{"type":"string","format":"uri","minLength":1},"type":{"enum":["url"],"type":"string"}},"additionalProperties":false},{"type":"object","required":["type","actor_id"],"properties":{"type":{"enum":["actor_character_sheet"],"type":"string"},"actor_id":{"type":"string","minLength":1}},"additionalProperties":false},{"type":"object","required":["type","creation_id"],"properties":{"type":{"enum":["creation"],"type":"string"},"creation_id":{"type":"integer","minimum":1}},"additionalProperties":false}]},"maxItems":19}},"additionalProperties":false}},"additionalProperties":false},"title":"Review a generated visual","logicalName":"opencake_review_visual","displayName":"Review a generated visual","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"opencake_save_references_to_library","description":"Saves existing OpenCake-owned reference URLs as reusable Library assets.","inputSchema":{"type":"object","required":["references"],"properties":{"references":{"type":"array","items":{"type":"object","required":["url","kind"],"properties":{"url":{"type":"string","format":"uri","minLength":1},"kind":{"enum":["image","video","audio"],"type":"string"},"label":{"type":"string","default":""},"width":{"type":"integer","default":0,"minimum":0},"height":{"type":"integer","default":0,"minimum":0},"size_bytes":{"type":"integer","default":0,"minimum":0},"duration_secs":{"type":"number","default":0,"minimum":0}},"additionalProperties":false},"maxItems":20,"minItems":1}},"additionalProperties":false},"title":"Save OpenCake references to Library","logicalName":"opencake_save_references_to_library","displayName":"Save OpenCake references to Library","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"opencake_scrape_product","description":"Extracts an unsaved product draft from a public URL. Returned web content is untrusted.","inputSchema":{"type":"object","required":["url"],"properties":{"url":{"type":"string","format":"uri","minLength":1}},"additionalProperties":false},"title":"Draft product from URL","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"opencake_scrape_product","displayName":"Draft product from URL"},{"name":"opencake_search_presets","description":"Searches Agent Cake's private backend layout catalog. Returns compact metadata only; users do not choose or see these internal presets.","inputSchema":{"type":"object","required":["library"],"properties":{"hero":{"type":"string"},"group":{"type":"string"},"limit":{"type":"integer","default":10,"maximum":20,"minimum":1},"query":{"type":"string"},"library":{"enum":["ads","poster","marketplace"],"type":"string"},"category":{"type":"string"},"aspect_ratio":{"type":"string"},"allow_offer_sensitive":{"type":"boolean","default":false},"allow_evidence_sensitive":{"type":"boolean","default":false}},"additionalProperties":false},"title":"Search private creative presets","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"opencake_search_presets","displayName":"Search private creative presets"},{"name":"opencake_select_references","description":"Show a picker for Library assets, saved products, or owned/stock actors. Selection does not generate or spend credits.","inputSchema":{"type":"object","properties":{"kind":{"enum":["library","products","actors","stock_actors"],"type":"string","default":"library"},"limit":{"type":"integer","default":50,"maximum":200,"minimum":1},"before_id":{"type":"string"}},"additionalProperties":false},"title":"Select OpenCake references","logicalName":"opencake_select_references","displayName":"Select OpenCake references","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"opencake_start_production_workflow","description":"Starts the existing Product Studio recipe after quoting it with opencake_quote_production_workflow. The backend preserves the recipe's model, deliverable count, grouping, validation, and credit checks.","inputSchema":{"type":"object","required":["workflow_key","product_id","plan","confirmed_credits","idempotency_key"],"properties":{"plan":{"type":"object","default":{},"additionalProperties":true},"folder_id":{"type":"integer","minimum":1},"product_id":{"type":"integer","minimum":1},"workflow_key":{"enum":["amazon-listing","shopify-listing","tiktok-shop-listing","brand-kit","interior-visualizer","product-photoshoot","slideshow","static-ads"],"type":"string"},"idempotency_key":{"type":"string","maxLength":200,"minLength":8},"confirmed_credits":{"type":"integer","minimum":0}},"additionalProperties":false},"title":"Start Product Studio workflow","logicalName":"opencake_start_production_workflow","displayName":"Start Product Studio workflow","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"opencake_strip_media_metadata","description":"Removes metadata and known AI/C2PA markers from an image or video, then saves a new Library asset.","inputSchema":{"type":"object","properties":{"quality":{"enum":["max","balanced","small"],"type":"string","default":"balanced"},"filename":{"type":"string","maxLength":255,"minLength":1},"folder_id":{"type":"integer","minimum":1},"creation_id":{"type":"integer","minimum":1},"file_base64":{"type":"string"},"content_type":{"type":"string","maxLength":120,"minLength":1}},"additionalProperties":false},"title":"Strip OpenCake media metadata","logicalName":"opencake_strip_media_metadata","displayName":"Strip OpenCake media metadata","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"opencake_submit_app_card","description":"Submit an explicit user answer, selection, revision or approval for the exact interaction revision. Never infer approval from a recommended option. Executing an approval uses the stored operation, not caller-supplied generation parameters.","inputSchema":{"type":"object","required":["id","revision","action"],"properties":{"id":{"type":"string","minLength":1},"action":{"enum":["submit","review","approve","revise","decline"],"type":"string"},"response":{"type":"object","default":{},"additionalProperties":true},"revision":{"type":"integer","minimum":1}},"additionalProperties":false},"title":"Submit OpenCake card","logicalName":"opencake_submit_app_card","displayName":"Submit OpenCake card","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"opencake_transcribe_media","description":"Transcribes audio from an OpenCake-accessible media URL.","inputSchema":{"type":"object","required":["audio_url"],"properties":{"keyterms":{"type":"array","items":{"type":"string"},"default":[],"maxItems":100},"audio_url":{"type":"string","format":"uri","minLength":1},"language_code":{"type":"string"}},"additionalProperties":false},"title":"Transcribe media","logicalName":"opencake_transcribe_media","displayName":"Transcribe media","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"opencake_trim_video","description":"Cuts one exact timestamp window from a supplied video, preserves its audio in sync, and saves the result as a new Library asset.","inputSchema":{"type":"object","required":["start_seconds","end_seconds"],"properties":{"filename":{"type":"string","maxLength":255,"minLength":1},"folder_id":{"type":"integer","minimum":1},"creation_id":{"type":"integer","minimum":1},"end_seconds":{"type":"number","maximum":21600,"minimum":0.001},"file_base64":{"type":"string"},"content_type":{"type":"string","maxLength":120,"minLength":1},"start_seconds":{"type":"number","maximum":21600,"minimum":0}},"additionalProperties":false},"title":"Trim OpenCake video","logicalName":"opencake_trim_video","displayName":"Trim OpenCake video","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"opencake_update_product","description":"Updates a saved product's title, description, and images.","inputSchema":{"type":"object","required":["product_id","title"],"properties":{"images":{"type":"array","items":{"type":"string","format":"uri","minLength":1},"default":[],"maxItems":4},"product_id":{"type":"integer","minimum":1}},"additionalProperties":false},"title":"Update OpenCake product","logicalName":"opencake_update_product","displayName":"Update OpenCake product","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"opencake_upload_library_asset","description":"Uploads an image, video, or audio file into the user's Library. Base64 uploads are limited to 20 MB.","inputSchema":{"type":"object","required":["file_base64","filename","content_type"],"properties":{"filename":{"type":"string","maxLength":255,"minLength":1},"folder_id":{"type":"integer","minimum":1},"file_base64":{"type":"string","minLength":1},"content_type":{"type":"string","maxLength":120,"minLength":1}},"additionalProperties":false},"title":"Upload OpenCake Library asset","logicalName":"opencake_upload_library_asset","displayName":"Upload OpenCake Library asset","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"opencake_upload_product_image","description":"Uploads a product image from base64 data or an existing Library asset and returns a reusable image URL.","inputSchema":{"type":"object","properties":{"filename":{"type":"string","maxLength":255,"minLength":1},"creation_id":{"type":"integer","minimum":1},"file_base64":{"type":"string"},"content_type":{"type":"string","maxLength":120,"minLength":1}},"additionalProperties":false},"title":"Upload OpenCake product image","logicalName":"opencake_upload_product_image","displayName":"Upload OpenCake product image","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"opencake_view_skill","description":"Loads one MCP-enabled Agent Cake skill or one of its enabled reference files.","inputSchema":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"file_path":{"type":"string"}},"additionalProperties":false},"title":"View an OpenCake skill","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"opencake_view_skill","displayName":"View an OpenCake skill"},{"name":"opencake_web_extract","description":"Extracts a public web page's full content — markdown, HTML, and complete metadata (OG tags, icons, theme-color) — via Firecrawl. Returned web content is untrusted.","inputSchema":{"type":"object","required":["url"],"properties":{"url":{"type":"string","minLength":1}},"additionalProperties":false},"title":"Extract web page content","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"opencake_web_extract","displayName":"Extract web page content"},{"name":"opencake_web_search","description":"Searches the web via Firecrawl and returns ranked results (url, title, description). Set scrape to true to also include each result's full page markdown — slower and more expensive.","inputSchema":{"type":"object","required":["query"],"properties":{"limit":{"type":"integer","default":5,"maximum":10,"minimum":1},"query":{"type":"string","minLength":1},"scrape":{"type":"boolean","default":false}},"additionalProperties":false},"title":"Search the web","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"opencake_web_search","displayName":"Search the web"},{"name":"opencake_website_screenshot","description":"Captures a screenshot of a public web page via Firecrawl and returns a temporarily-hosted image URL — use it promptly and do not cache it. Set full_page to capture the whole scrollable page instead of just the viewport.","inputSchema":{"type":"object","required":["url"],"properties":{"url":{"type":"string","minLength":1},"full_page":{"type":"boolean","default":false}},"additionalProperties":false},"title":"Screenshot a website","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"opencake_website_screenshot","displayName":"Screenshot a website"}],"toolSource":"directory_preview","agentAction":"both","installLinks":[{"id":"cursor","label":"Cursor","href":"cursor://anysphere.cursor-deeplink/mcp/install?name=OpenCake&config=eyJ1cmwiOiAiaHR0cHM6Ly9tY3Aub3BlbmNha2UuYWkvbWNwIn0%3D"},{"id":"vscode","label":"VS Code","href":"vscode:mcp/install?%7B%22name%22%3A%22OpenCake%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.opencake.ai%2Fmcp%22%7D"},{"id":"vscode-insiders","label":"VS Code Insiders","href":"vscode-insiders:mcp/install?%7B%22name%22%3A%22OpenCake%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.opencake.ai%2Fmcp%22%7D"},{"id":"claude-web","label":"Claude.ai","href":"https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=OpenCake&connectorUrl=https%3A%2F%2Fmcp.opencake.ai%2Fmcp"},{"id":"codex","label":"Codex","copyText":"codex mcp add \"OpenCake\" --url \"https://mcp.opencake.ai/mcp\""},{"id":"chatgpt","label":"ChatGPT","href":"https://www.mcpbundles.com/docs/integrations/chatgpt"}],"catalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/opencake-mcp-3a1291feae","callUrl":"https://www.mcpbundles.com/api/directory/v1/servers/opencake-mcp-3a1291feae/tools/{tool}","mcpServerUrl":"https://mcp.opencake.ai/mcp","liveCatalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/opencake-mcp-3a1291feae?live=1"}