{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_6wtt6gqzcdn6","handle":"aicut","url":"https://wellknown.network/agents/aicut","links":{"self":"https://wellknown.network/agents/aicut/record.json","html":"https://wellknown.network/agents/aicut","markdown":"https://wellknown.network/agents/aicut/record.md","api":"https://wellknown.network/api/v1/agents/aicut","status":"https://wellknown.network/api/v1/agents/aicut/status","claim":"https://wellknown.network/agents/aicut/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/aicut/claim.json","badge":"https://wellknown.network/agents/aicut/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/aicut/history","tools":"https://wellknown.network/api/v1/agents/aicut/tools"},"ard":{"identifier":"urn:air:mcp.aicut.pro:server:aicut","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"aicut","summary":"Generate AI videos, images, audio and staged AI Video Story episodes, and publish them to social.","description":"Generate AI videos, images, audio and staged AI Video Story episodes, and publish them to social.","publisher":{"name":"pro.aicut","url":null},"homepage":"https://www.aicut.pro/mcp","repository":"https://github.com/aicut-pro/aicut-mcp","version":"1.3.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://mcp.aicut.pro/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-09-01T17:57:19.992555Z","publishedAt":"2026-09-01T17:57:19.992555Z","registryName":"pro.aicut/aicut"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"content.social","name":"Social Media","confidence":1,"provenance":"derived"},{"slug":"media.image-generation","name":"Image Generation","confidence":1,"provenance":"derived"},{"slug":"media.video-generation","name":"Video Generation","confidence":1,"provenance":"derived"},{"slug":"media.music","name":"Music & Audio","confidence":0.583,"provenance":"derived"},{"slug":"media.speech-synthesis","name":"Speech Synthesis","confidence":0.554,"provenance":"derived"},{"slug":"dev.docs-lookup","name":"Documentation Lookup","confidence":0.54,"provenance":"derived"},{"slug":"media.video-editing","name":"Video Editing","confidence":0.525,"provenance":"derived"},{"slug":"dev.terminal","name":"Terminal & Shell","confidence":0.525,"provenance":"derived"}],"categories":["content","dev","media"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 6h ago.","lastOkAt":"2026-10-10T12:28:32.598Z","lastProbedAt":"2026-10-10T12:28:32.598Z","statusComputedAt":"2026-10-10T12:30:37.141Z","reliability30d":{"probes":112,"successRate":1,"p50Ms":151,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":109,"ok":109,"authBoundaryOk":0,"serviceOk":109,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-10T12:28:32.598Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":119,"error":null,"detail":{"tools":[{"name":"get_balance","description":"Returns the signed-in aicut account's token balance and plan tier. WHEN: before the first priced ask of a session, when the user asks what they have left, or af"},{"name":"list_models","description":"Returns the AI video, image and audio models this API can generate with: each model's exact parameters (names, allowed values, limits, defaults), the media inpu"},{"name":"get_recipe","description":"Returns a step-by-step recipe as text: `story-episode` (an AI Video Story episode, end to end), `starter-video`, `starter-image`, `starter-audio` (a first gener"},{"name":"generate_video","description":"Starts an AI video generation on the signed-in aicut account, puts the aicut card in front of the user and returns the new job's id immediately. It does NOT wai"},{"name":"get_video","description":"Returns the current state of one video generation: a SINGLE, IMMEDIATE read that waits for nothing. WHEN: only when you need one job's raw fields now (what it c"},{"name":"delete_video","description":"Deletes ONE video from the signed-in account's library: any of its own videos, in any state (finished, failed or still generating), exactly like the delete butt"},{"name":"list_videos","description":"Returns the signed-in account's videos, newest first, one page at a time (pass `cursor` from the previous `next_cursor` while `has_more` is true). WHEN: the use"},{"name":"upscale_image","description":"Increases an existing image's resolution and returns the new job's id immediately (it does NOT wait). Same image, more pixels. WHEN: the user asks to upscale, e"},{"name":"edit_video","description":"Takes a video and a description of what to change and generates the SAME clip with those changes applied (different characters, clothes, setting) while the came"},{"name":"upscale_video","description":"Increases an existing video's resolution (2x, 3x or 4x) and returns the new job's id immediately. It does NOT wait for the result and does not change the conten"},{"name":"extend_video","description":"Generates a NEW segment that continues an existing video from its final frame and returns the new job's id immediately; the result is the original clip with the"},{"name":"motion_control","description":"Takes a picture of a character and a reference video and generates a video of THAT character performing the reference's motion (a dance, a walk, a gesture). Ret"},{"name":"generate_lipsync","description":"Takes a picture of a person and an audio file and generates a video of THAT person speaking or singing the audio, lip-synced. Returns the new job's id immediate"},{"name":"upload_media_widget","description":"OPENS A FILE PICKER RIGHT HERE, in this conversation: the user presses a button, chooses a video OR PHOTO from their own computer and watches it upload, and the"},{"name":"upload_media","description":"Puts a VIDEO OR IMAGE FILE FROM THE USER'S OWN MACHINE onto their aicut account so the generation tools can use it (every other tool takes a URL). It returns an"},{"name":"confirm_upload","description":"Checks the file uploaded to an `upload_media` target and makes it usable. Returns the media `url` to pass to other tools, the file's size, its `kind` (`video` o"},{"name":"generate_image","description":"Generates an AI image on the signed-in aicut account and puts the aicut card in front of the user. It waits for the image server-side for as long as one request"},{"name":"get_image","description":"Returns the current state of one image generation: a SINGLE, IMMEDIATE read that waits for nothing. WHEN: only when you need one job's raw fields now (what it c"},{"name":"list_images","description":"Returns the signed-in account's images, newest first, one page at a time (pass `cursor` from the previous `next_cursor` while `has_more` is true). WHEN: the use"},{"name":"generate_audio","description":"Starts an audio generation on the signed-in aicut account, puts the aicut card in front of the user and returns the new job's id immediately. It does NOT wait f"},{"name":"get_audio","description":"Returns the current state of one audio generation: a SINGLE, IMMEDIATE read that waits for nothing. WHEN: only when you need one job's raw fields now (what it c"},{"name":"list_audio","description":"Returns the signed-in account's audio generations, newest first, one page at a time (pass `cursor` from the previous `next_cursor` while `has_more` is true). WH"},{"name":"list_voices","description":"The WHOLE voice catalogue: every voice aicut can speak with, across ElevenLabs (platform stock AND this account's cloned and custom voices) and OpenAI. Free, in"},{"name":"wait_for_generation","description":"Waits up to 15 seconds for an aicut generation to reach a terminal state, WITHOUT opening a card, and returns the compact status. SEVERAL ITEMS: quote each, ask"},{"name":"show_generation","description":"Shows an EARLIER aicut generation to the user again, in the aicut card: the video, image or audio itself, with what it cost and when it was made. WHEN: the user"},{"name":"analyze_video","description":"Starts an AI analysis of an existing video and returns the new analysis's id immediately (it does NOT wait). It reads the video and describes it in detail (what"},{"name":"get_analysis","description":"Returns the current state of one video analysis on the signed-in account, and its result once finished. WHEN: after `analyze_video`; poll every 5-10 seconds unt"},{"name":"list_analyses","description":"Returns the signed-in account's video analyses, newest first, one page at a time (pass `cursor` from the previous `next_cursor` while `has_more` is true). WHEN:"},{"name":"list_characters","description":"Returns the characters saved on this aicut account, newest first, one page at a time: `kind: \"uploaded\"` entries the user made from their own photos and `kind: "},{"name":"list_series","description":"Lists aicut's AI Video Story series (niches): episodic short-video formats that generate a whole multi-scene episode from one idea. BROWSING IS `browse_series`'"},{"name":"list_series_ideas","description":"Returns ONE series' CURATED preset ideas (the authored cards the webapp shows on its idea step). Free, instant, creates nothing. THIS IS NOT THE DEFAULT WAY TO "},{"name":"list_niches","description":"Lists aicut's trend-template niches: one-shot video formats made from a few answers (and sometimes a picture), each at one price. AI Video Story series are `lis"},{"name":"generate_from_niche","description":"Runs ONE niche on the signed-in account: starts the video, puts the aicut card in front of the user and returns the new job's id immediately. It does NOT wait f"},{"name":"browse_series","description":"PUTS THE SERIES CATALOGUE ON SCREEN as a grid of previews the user can look at and pick from, right in this conversation: each tile shows that series' 9:16 stil"},{"name":"list_trends","description":"Lists the AI-generated short-form videos aicut tracks as TRENDS: real TikTok videos, each in a published trend cluster (a niche: object-head drama, fruit drama,"},{"name":"get_recreate_brief","description":"For making a NEW, original video in a trend's format, never a copy of it, its script or its characters: returns ONE trend video's public row, the NICHE it belon"},{"name":"generate_cast","description":"Writes the CAST for an AI Video Story series (named characters, each with a role and a one-line description) as a DRAFT for the user to read. FREE: it spends no"},{"name":"generate_cast_portraits","description":"BUYS the portraits for a cast draft: one image generation per member that still needs a face, at the chosen image model's rate, then saves every member to the u"},{"name":"regenerate_cast_portrait","description":"Redraws ONE cast member's portrait (the same character, a new image) and attaches it to that member: ONE image generation, not a new cast. WHEN: the user dislik"},{"name":"describe_cast_member","description":"CHANGES ONE cast member into a different character: you pass a new one-line visual description, aicut rewrites the member's stored look from it and draws ONE ne"},{"name":"generate_story_video","description":"Starts an AI Video Story EPISODE (stage 1 of 3): the engine writes the multi-scene episode from your idea, draws the OPENING PICTURE OF EVERY SCENE, and PARKS f"},{"name":"regenerate_story_frame","description":"Redraws ONE scene's opening picture of an episode parked at frames review (`story.stage: \"frames_review\"`), from the scene's own text, cast and continuity refer"},{"name":"change_story_scene","description":"CHANGES WHAT HAPPENS IN ONE SCENE of an episode parked at frames review and redraws its opening picture from the change. You pass a PLAIN SENTENCE ('the kid sho"},{"name":"remove_story_scene","description":"REMOVES one scene from an AI Video Story episode parked at frames review. The scene's VIDEO is never generated or charged, so the fire quote and charge drop by "},{"name":"fire_story_video","description":"FIRES a parked AI Video Story episode (stage 2 of 3): generates every kept scene's VIDEO from its reviewed picture. The paid step after review; nothing renders "},{"name":"render_story_video","description":"RENDERS an AI Video Story episode into its final delivered file (stage 3 of 3), after the scene videos are done. It is composed SERVER-side from the stored epis"},{"name":"generate_fake_text_video","description":"CREATES a fake-text video: a phone chat conversation that types itself out over a gameplay or green-screen background, every line read aloud in the voice you pi"},{"name":"generate_image_story","description":"CREATES an AI image story: a narrated script turned into a sequence of AI-generated images, read aloud with captions over it. Suited to facts, history, horror, "},{"name":"list_image_story_styles","description":"Lists aicut's authored image-story STYLES: named looks (a character, a rendering treatment, an art direction) that every scene of the video is drawn in. Free, i"},{"name":"list_social_accounts","description":"Returns the social accounts this aicut user has connected for publishing, with the id `prepare_post` takes, plus `connect_url`. WHEN: before any posting attempt"},{"name":"prepare_post","description":"Stages a post of one of this account's finished videos to one of its connected TikTok, YouTube or Instagram accounts and returns the post id `publish_post` take"},{"name":"publish_post","description":"Sends a post staged by `prepare_post`, or schedules it. Irreversible: the post goes out under the user's own name and cannot be taken down from aicut. It is for"},{"name":"get_post_status","description":"Returns what the PLATFORM says happened to a post, plus `post_id` once it is live and `fail_reason` when it is not. Statuses: `prepared` (staged, nothing sent),"},{"name":"review_post","description":"OPENS THE PUBLISH CARD RIGHT HERE for a post `prepare_post` has already staged: the user watches the actual video, sees the destination account, edits the capti"}],"toolCount":54,"toolsHash":"b9e177c2aa301bea1b8895849e3a84996a97eb32647d6319a2f5237e123035ab","serverName":"aicut","capabilities":["tools","resources","prompts"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T05:29:30.286Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":280,"error":null,"detail":{"tools":[{"name":"get_balance","description":"Returns the signed-in aicut account's token balance and plan tier. WHEN: before the first priced ask of a session, when the user asks what they have left, or af"},{"name":"list_models","description":"Returns the AI video, image and audio models this API can generate with: each model's exact parameters (names, allowed values, limits, defaults), the media inpu"},{"name":"get_recipe","description":"Returns a step-by-step recipe as text: `story-episode` (an AI Video Story episode, end to end), `starter-video`, `starter-image`, `starter-audio` (a first gener"},{"name":"generate_video","description":"Starts an AI video generation on the signed-in aicut account, puts the aicut card in front of the user and returns the new job's id immediately. It does NOT wai"},{"name":"get_video","description":"Returns the current state of one video generation: a SINGLE, IMMEDIATE read that waits for nothing. WHEN: only when you need one job's raw fields now (what it c"},{"name":"delete_video","description":"Deletes ONE video from the signed-in account's library: any of its own videos, in any state (finished, failed or still generating), exactly like the delete butt"},{"name":"list_videos","description":"Returns the signed-in account's videos, newest first, one page at a time (pass `cursor` from the previous `next_cursor` while `has_more` is true). WHEN: the use"},{"name":"upscale_image","description":"Increases an existing image's resolution and returns the new job's id immediately (it does NOT wait). Same image, more pixels. WHEN: the user asks to upscale, e"},{"name":"edit_video","description":"Takes a video and a description of what to change and generates the SAME clip with those changes applied (different characters, clothes, setting) while the came"},{"name":"upscale_video","description":"Increases an existing video's resolution (2x, 3x or 4x) and returns the new job's id immediately. It does NOT wait for the result and does not change the conten"},{"name":"extend_video","description":"Generates a NEW segment that continues an existing video from its final frame and returns the new job's id immediately; the result is the original clip with the"},{"name":"motion_control","description":"Takes a picture of a character and a reference video and generates a video of THAT character performing the reference's motion (a dance, a walk, a gesture). Ret"},{"name":"generate_lipsync","description":"Takes a picture of a person and an audio file and generates a video of THAT person speaking or singing the audio, lip-synced. Returns the new job's id immediate"},{"name":"upload_media_widget","description":"OPENS A FILE PICKER RIGHT HERE, in this conversation: the user presses a button, chooses a video OR PHOTO from their own computer and watches it upload, and the"},{"name":"upload_media","description":"Puts a VIDEO OR IMAGE FILE FROM THE USER'S OWN MACHINE onto their aicut account so the generation tools can use it (every other tool takes a URL). It returns an"},{"name":"confirm_upload","description":"Checks the file uploaded to an `upload_media` target and makes it usable. Returns the media `url` to pass to other tools, the file's size, its `kind` (`video` o"},{"name":"generate_image","description":"Generates an AI image on the signed-in aicut account and puts the aicut card in front of the user. It waits for the image server-side for as long as one request"},{"name":"get_image","description":"Returns the current state of one image generation: a SINGLE, IMMEDIATE read that waits for nothing. WHEN: only when you need one job's raw fields now (what it c"},{"name":"list_images","description":"Returns the signed-in account's images, newest first, one page at a time (pass `cursor` from the previous `next_cursor` while `has_more` is true). WHEN: the use"},{"name":"generate_audio","description":"Starts an audio generation on the signed-in aicut account, puts the aicut card in front of the user and returns the new job's id immediately. It does NOT wait f"},{"name":"get_audio","description":"Returns the current state of one audio generation: a SINGLE, IMMEDIATE read that waits for nothing. WHEN: only when you need one job's raw fields now (what it c"},{"name":"list_audio","description":"Returns the signed-in account's audio generations, newest first, one page at a time (pass `cursor` from the previous `next_cursor` while `has_more` is true). WH"},{"name":"list_voices","description":"The WHOLE voice catalogue: every voice aicut can speak with, across ElevenLabs (platform stock AND this account's cloned and custom voices) and OpenAI. Free, in"},{"name":"wait_for_generation","description":"Waits up to 15 seconds for an aicut generation to reach a terminal state, WITHOUT opening a card, and returns the compact status. SEVERAL ITEMS: quote each, ask"},{"name":"show_generation","description":"Shows an EARLIER aicut generation to the user again, in the aicut card: the video, image or audio itself, with what it cost and when it was made. WHEN: the user"},{"name":"analyze_video","description":"Starts an AI analysis of an existing video and returns the new analysis's id immediately (it does NOT wait). It reads the video and describes it in detail (what"},{"name":"get_analysis","description":"Returns the current state of one video analysis on the signed-in account, and its result once finished. WHEN: after `analyze_video`; poll every 5-10 seconds unt"},{"name":"list_analyses","description":"Returns the signed-in account's video analyses, newest first, one page at a time (pass `cursor` from the previous `next_cursor` while `has_more` is true). WHEN:"},{"name":"list_characters","description":"Returns the characters saved on this aicut account, newest first, one page at a time: `kind: \"uploaded\"` entries the user made from their own photos and `kind: "},{"name":"list_series","description":"Lists aicut's AI Video Story series (niches): episodic short-video formats that generate a whole multi-scene episode from one idea. BROWSING IS `browse_series`'"},{"name":"list_series_ideas","description":"Returns ONE series' CURATED preset ideas (the authored cards the webapp shows on its idea step). Free, instant, creates nothing. THIS IS NOT THE DEFAULT WAY TO "},{"name":"list_niches","description":"Lists aicut's trend-template niches: one-shot video formats made from a few answers (and sometimes a picture), each at one price. AI Video Story series are `lis"},{"name":"generate_from_niche","description":"Runs ONE niche on the signed-in account: starts the video, puts the aicut card in front of the user and returns the new job's id immediately. It does NOT wait f"},{"name":"browse_series","description":"PUTS THE SERIES CATALOGUE ON SCREEN as a grid of previews the user can look at and pick from, right in this conversation: each tile shows that series' 9:16 stil"},{"name":"list_trends","description":"Lists the AI-generated short-form videos aicut tracks as TRENDS: real TikTok videos, each in a published trend cluster (a niche: object-head drama, fruit drama,"},{"name":"get_recreate_brief","description":"For making a NEW, original video in a trend's format, never a copy of it, its script or its characters: returns ONE trend video's public row, the NICHE it belon"},{"name":"generate_cast","description":"Writes the CAST for an AI Video Story series (named characters, each with a role and a one-line description) as a DRAFT for the user to read. FREE: it spends no"},{"name":"generate_cast_portraits","description":"BUYS the portraits for a cast draft: one image generation per member that still needs a face, at the chosen image model's rate, then saves every member to the u"},{"name":"regenerate_cast_portrait","description":"Redraws ONE cast member's portrait (the same character, a new image) and attaches it to that member: ONE image generation, not a new cast. WHEN: the user dislik"},{"name":"describe_cast_member","description":"CHANGES ONE cast member into a different character: you pass a new one-line visual description, aicut rewrites the member's stored look from it and draws ONE ne"},{"name":"generate_story_video","description":"Starts an AI Video Story EPISODE (stage 1 of 3): the engine writes the multi-scene episode from your idea, draws the OPENING PICTURE OF EVERY SCENE, and PARKS f"},{"name":"regenerate_story_frame","description":"Redraws ONE scene's opening picture of an episode parked at frames review (`story.stage: \"frames_review\"`), from the scene's own text, cast and continuity refer"},{"name":"change_story_scene","description":"CHANGES WHAT HAPPENS IN ONE SCENE of an episode parked at frames review and redraws its opening picture from the change. You pass a PLAIN SENTENCE ('the kid sho"},{"name":"remove_story_scene","description":"REMOVES one scene from an AI Video Story episode parked at frames review. The scene's VIDEO is never generated or charged, so the fire quote and charge drop by "},{"name":"fire_story_video","description":"FIRES a parked AI Video Story episode (stage 2 of 3): generates every kept scene's VIDEO from its reviewed picture. The paid step after review; nothing renders "},{"name":"render_story_video","description":"RENDERS an AI Video Story episode into its final delivered file (stage 3 of 3), after the scene videos are done. It is composed SERVER-side from the stored epis"},{"name":"generate_fake_text_video","description":"CREATES a fake-text video: a phone chat conversation that types itself out over a gameplay or green-screen background, every line read aloud in the voice you pi"},{"name":"generate_image_story","description":"CREATES an AI image story: a narrated script turned into a sequence of AI-generated images, read aloud with captions over it. Suited to facts, history, horror, "},{"name":"list_image_story_styles","description":"Lists aicut's authored image-story STYLES: named looks (a character, a rendering treatment, an art direction) that every scene of the video is drawn in. Free, i"},{"name":"list_social_accounts","description":"Returns the social accounts this aicut user has connected for publishing, with the id `prepare_post` takes, plus `connect_url`. WHEN: before any posting attempt"},{"name":"prepare_post","description":"Stages a post of one of this account's finished videos to one of its connected TikTok, YouTube or Instagram accounts and returns the post id `publish_post` take"},{"name":"publish_post","description":"Sends a post staged by `prepare_post`, or schedules it. Irreversible: the post goes out under the user's own name and cannot be taken down from aicut. It is for"},{"name":"get_post_status","description":"Returns what the PLATFORM says happened to a post, plus `post_id` once it is live and `fail_reason` when it is not. Statuses: `prepared` (staged, nothing sent),"},{"name":"review_post","description":"OPENS THE PUBLISH CARD RIGHT HERE for a post `prepare_post` has already staged: the user watches the actual video, sees the destination account, edits the capti"}],"toolCount":54,"toolsHash":"b9e177c2aa301bea1b8895849e3a84996a97eb32647d6319a2f5237e123035ab","serverName":"aicut","capabilities":["tools","resources","prompts"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T23:30:33.914Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":139,"error":null,"detail":{"tools":[{"name":"get_balance","description":"Returns the signed-in aicut account's token balance and plan tier. WHEN: before the first priced ask of a session, when the user asks what they have left, or af"},{"name":"list_models","description":"Returns the AI video, image and audio models this API can generate with: each model's exact parameters (names, allowed values, limits, defaults), the media inpu"},{"name":"get_recipe","description":"Returns a step-by-step recipe as text: `story-episode` (an AI Video Story episode, end to end), `starter-video`, `starter-image`, `starter-audio` (a first gener"},{"name":"generate_video","description":"Starts an AI video generation on the signed-in aicut account, puts the aicut card in front of the user and returns the new job's id immediately. It does NOT wai"},{"name":"get_video","description":"Returns the current state of one video generation: a SINGLE, IMMEDIATE read that waits for nothing. WHEN: only when you need one job's raw fields now (what it c"},{"name":"delete_video","description":"Deletes ONE video from the signed-in account's library: any of its own videos, in any state (finished, failed or still generating), exactly like the delete butt"},{"name":"list_videos","description":"Returns the signed-in account's videos, newest first, one page at a time (pass `cursor` from the previous `next_cursor` while `has_more` is true). WHEN: the use"},{"name":"upscale_image","description":"Increases an existing image's resolution and returns the new job's id immediately (it does NOT wait). Same image, more pixels. WHEN: the user asks to upscale, e"},{"name":"edit_video","description":"Takes a video and a description of what to change and generates the SAME clip with those changes applied (different characters, clothes, setting) while the came"},{"name":"upscale_video","description":"Increases an existing video's resolution (2x, 3x or 4x) and returns the new job's id immediately. It does NOT wait for the result and does not change the conten"},{"name":"extend_video","description":"Generates a NEW segment that continues an existing video from its final frame and returns the new job's id immediately; the result is the original clip with the"},{"name":"motion_control","description":"Takes a picture of a character and a reference video and generates a video of THAT character performing the reference's motion (a dance, a walk, a gesture). Ret"},{"name":"generate_lipsync","description":"Takes a picture of a person and an audio file and generates a video of THAT person speaking or singing the audio, lip-synced. Returns the new job's id immediate"},{"name":"upload_media_widget","description":"OPENS A FILE PICKER RIGHT HERE, in this conversation: the user presses a button, chooses a video OR PHOTO from their own computer and watches it upload, and the"},{"name":"upload_media","description":"Puts a VIDEO OR IMAGE FILE FROM THE USER'S OWN MACHINE onto their aicut account so the generation tools can use it (every other tool takes a URL). It returns an"},{"name":"confirm_upload","description":"Checks the file uploaded to an `upload_media` target and makes it usable. Returns the media `url` to pass to other tools, the file's size, its `kind` (`video` o"},{"name":"generate_image","description":"Generates an AI image on the signed-in aicut account and puts the aicut card in front of the user. It waits for the image server-side for as long as one request"},{"name":"get_image","description":"Returns the current state of one image generation: a SINGLE, IMMEDIATE read that waits for nothing. WHEN: only when you need one job's raw fields now (what it c"},{"name":"list_images","description":"Returns the signed-in account's images, newest first, one page at a time (pass `cursor` from the previous `next_cursor` while `has_more` is true). WHEN: the use"},{"name":"generate_audio","description":"Starts an audio generation on the signed-in aicut account, puts the aicut card in front of the user and returns the new job's id immediately. It does NOT wait f"},{"name":"get_audio","description":"Returns the current state of one audio generation: a SINGLE, IMMEDIATE read that waits for nothing. WHEN: only when you need one job's raw fields now (what it c"},{"name":"list_audio","description":"Returns the signed-in account's audio generations, newest first, one page at a time (pass `cursor` from the previous `next_cursor` while `has_more` is true). WH"},{"name":"list_voices","description":"The WHOLE voice catalogue: every voice aicut can speak with, across ElevenLabs (platform stock AND this account's cloned and custom voices) and OpenAI. Free, in"},{"name":"wait_for_generation","description":"Waits up to 15 seconds for an aicut generation to reach a terminal state, WITHOUT opening a card, and returns the compact status. SEVERAL ITEMS: quote each, ask"},{"name":"show_generation","description":"Shows an EARLIER aicut generation to the user again, in the aicut card: the video, image or audio itself, with what it cost and when it was made. WHEN: the user"},{"name":"analyze_video","description":"Starts an AI analysis of an existing video and returns the new analysis's id immediately (it does NOT wait). It reads the video and describes it in detail (what"},{"name":"get_analysis","description":"Returns the current state of one video analysis on the signed-in account, and its result once finished. WHEN: after `analyze_video`; poll every 5-10 seconds unt"},{"name":"list_analyses","description":"Returns the signed-in account's video analyses, newest first, one page at a time (pass `cursor` from the previous `next_cursor` while `has_more` is true). WHEN:"},{"name":"list_characters","description":"Returns the characters saved on this aicut account, newest first, one page at a time: `kind: \"uploaded\"` entries the user made from their own photos and `kind: "},{"name":"list_series","description":"Lists aicut's AI Video Story series (niches): episodic short-video formats that generate a whole multi-scene episode from one idea. BROWSING IS `browse_series`'"},{"name":"list_series_ideas","description":"Returns ONE series' CURATED preset ideas (the authored cards the webapp shows on its idea step). Free, instant, creates nothing. THIS IS NOT THE DEFAULT WAY TO "},{"name":"list_niches","description":"Lists aicut's trend-template niches: one-shot video formats made from a few answers (and sometimes a picture), each at one price. AI Video Story series are `lis"},{"name":"generate_from_niche","description":"Runs ONE niche on the signed-in account: starts the video, puts the aicut card in front of the user and returns the new job's id immediately. It does NOT wait f"},{"name":"browse_series","description":"PUTS THE SERIES CATALOGUE ON SCREEN as a grid of previews the user can look at and pick from, right in this conversation: each tile shows that series' 9:16 stil"},{"name":"list_trends","description":"Lists the AI-generated short-form videos aicut tracks as TRENDS: real TikTok videos, each in a published trend cluster (a niche: object-head drama, fruit drama,"},{"name":"get_recreate_brief","description":"For making a NEW, original video in a trend's format, never a copy of it, its script or its characters: returns ONE trend video's public row, the NICHE it belon"},{"name":"generate_cast","description":"Writes the CAST for an AI Video Story series (named characters, each with a role and a one-line description) as a DRAFT for the user to read. FREE: it spends no"},{"name":"generate_cast_portraits","description":"BUYS the portraits for a cast draft: one image generation per member that still needs a face, at the chosen image model's rate, then saves every member to the u"},{"name":"regenerate_cast_portrait","description":"Redraws ONE cast member's portrait (the same character, a new image) and attaches it to that member: ONE image generation, not a new cast. WHEN: the user dislik"},{"name":"describe_cast_member","description":"CHANGES ONE cast member into a different character: you pass a new one-line visual description, aicut rewrites the member's stored look from it and draws ONE ne"},{"name":"generate_story_video","description":"Starts an AI Video Story EPISODE (stage 1 of 3): the engine writes the multi-scene episode from your idea, draws the OPENING PICTURE OF EVERY SCENE, and PARKS f"},{"name":"regenerate_story_frame","description":"Redraws ONE scene's opening picture of an episode parked at frames review (`story.stage: \"frames_review\"`), from the scene's own text, cast and continuity refer"},{"name":"change_story_scene","description":"CHANGES WHAT HAPPENS IN ONE SCENE of an episode parked at frames review and redraws its opening picture from the change. You pass a PLAIN SENTENCE ('the kid sho"},{"name":"remove_story_scene","description":"REMOVES one scene from an AI Video Story episode parked at frames review. The scene's VIDEO is never generated or charged, so the fire quote and charge drop by "},{"name":"fire_story_video","description":"FIRES a parked AI Video Story episode (stage 2 of 3): generates every kept scene's VIDEO from its reviewed picture. The paid step after review; nothing renders "},{"name":"render_story_video","description":"RENDERS an AI Video Story episode into its final delivered file (stage 3 of 3), after the scene videos are done. It is composed SERVER-side from the stored epis"},{"name":"generate_fake_text_video","description":"CREATES a fake-text video: a phone chat conversation that types itself out over a gameplay or green-screen background, every line read aloud in the voice you pi"},{"name":"generate_image_story","description":"CREATES an AI image story: a narrated script turned into a sequence of AI-generated images, read aloud with captions over it. Suited to facts, history, horror, "},{"name":"list_image_story_styles","description":"Lists aicut's authored image-story STYLES: named looks (a character, a rendering treatment, an art direction) that every scene of the video is drawn in. Free, i"},{"name":"list_social_accounts","description":"Returns the social accounts this aicut user has connected for publishing, with the id `prepare_post` takes, plus `connect_url`. WHEN: before any posting attempt"},{"name":"prepare_post","description":"Stages a post of one of this account's finished videos to one of its connected TikTok, YouTube or Instagram accounts and returns the post id `publish_post` take"},{"name":"publish_post","description":"Sends a post staged by `prepare_post`, or schedules it. Irreversible: the post goes out under the user's own name and cannot be taken down from aicut. It is for"},{"name":"get_post_status","description":"Returns what the PLATFORM says happened to a post, plus `post_id` once it is live and `fail_reason` when it is not. Statuses: `prepared` (staged, nothing sent),"},{"name":"review_post","description":"OPENS THE PUBLISH CARD RIGHT HERE for a post `prepare_post` has already staged: the user watches the actual video, sees the destination account, edits the capti"}],"toolCount":54,"toolsHash":"b9e177c2aa301bea1b8895849e3a84996a97eb32647d6319a2f5237e123035ab","serverName":"aicut","capabilities":["tools","resources","prompts"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T17:27:45.480Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":187,"error":null,"detail":{"tools":[{"name":"get_balance","description":"Returns the signed-in aicut account's token balance and plan tier. WHEN: before the first priced ask of a session, when the user asks what they have left, or af"},{"name":"list_models","description":"Returns the AI video, image and audio models this API can generate with: each model's exact parameters (names, allowed values, limits, defaults), the media inpu"},{"name":"get_recipe","description":"Returns a step-by-step recipe as text: `story-episode` (an AI Video Story episode, end to end), `starter-video`, `starter-image`, `starter-audio` (a first gener"},{"name":"generate_video","description":"Starts an AI video generation on the signed-in aicut account, puts the aicut card in front of the user and returns the new job's id immediately. It does NOT wai"},{"name":"get_video","description":"Returns the current state of one video generation: a SINGLE, IMMEDIATE read that waits for nothing. WHEN: only when you need one job's raw fields now (what it c"},{"name":"delete_video","description":"Deletes ONE video from the signed-in account's library: any of its own videos, in any state (finished, failed or still generating), exactly like the delete butt"},{"name":"list_videos","description":"Returns the signed-in account's videos, newest first, one page at a time (pass `cursor` from the previous `next_cursor` while `has_more` is true). WHEN: the use"},{"name":"upscale_image","description":"Increases an existing image's resolution and returns the new job's id immediately (it does NOT wait). Same image, more pixels. WHEN: the user asks to upscale, e"},{"name":"edit_video","description":"Takes a video and a description of what to change and generates the SAME clip with those changes applied (different characters, clothes, setting) while the came"},{"name":"upscale_video","description":"Increases an existing video's resolution (2x, 3x or 4x) and returns the new job's id immediately. It does NOT wait for the result and does not change the conten"},{"name":"extend_video","description":"Generates a NEW segment that continues an existing video from its final frame and returns the new job's id immediately; the result is the original clip with the"},{"name":"motion_control","description":"Takes a picture of a character and a reference video and generates a video of THAT character performing the reference's motion (a dance, a walk, a gesture). Ret"},{"name":"generate_lipsync","description":"Takes a picture of a person and an audio file and generates a video of THAT person speaking or singing the audio, lip-synced. Returns the new job's id immediate"},{"name":"upload_media_widget","description":"OPENS A FILE PICKER RIGHT HERE, in this conversation: the user presses a button, chooses a video OR PHOTO from their own computer and watches it upload, and the"},{"name":"upload_media","description":"Puts a VIDEO OR IMAGE FILE FROM THE USER'S OWN MACHINE onto their aicut account so the generation tools can use it (every other tool takes a URL). It returns an"},{"name":"confirm_upload","description":"Checks the file uploaded to an `upload_media` target and makes it usable. Returns the media `url` to pass to other tools, the file's size, its `kind` (`video` o"},{"name":"generate_image","description":"Generates an AI image on the signed-in aicut account and puts the aicut card in front of the user. It waits for the image server-side for as long as one request"},{"name":"get_image","description":"Returns the current state of one image generation: a SINGLE, IMMEDIATE read that waits for nothing. WHEN: only when you need one job's raw fields now (what it c"},{"name":"list_images","description":"Returns the signed-in account's images, newest first, one page at a time (pass `cursor` from the previous `next_cursor` while `has_more` is true). WHEN: the use"},{"name":"generate_audio","description":"Starts an audio generation on the signed-in aicut account, puts the aicut card in front of the user and returns the new job's id immediately. It does NOT wait f"},{"name":"get_audio","description":"Returns the current state of one audio generation: a SINGLE, IMMEDIATE read that waits for nothing. WHEN: only when you need one job's raw fields now (what it c"},{"name":"list_audio","description":"Returns the signed-in account's audio generations, newest first, one page at a time (pass `cursor` from the previous `next_cursor` while `has_more` is true). WH"},{"name":"list_voices","description":"The WHOLE voice catalogue: every voice aicut can speak with, across ElevenLabs (platform stock AND this account's cloned and custom voices) and OpenAI. Free, in"},{"name":"wait_for_generation","description":"Waits up to 15 seconds for an aicut generation to reach a terminal state, WITHOUT opening a card, and returns the compact status. SEVERAL ITEMS: quote each, ask"},{"name":"show_generation","description":"Shows an EARLIER aicut generation to the user again, in the aicut card: the video, image or audio itself, with what it cost and when it was made. WHEN: the user"},{"name":"analyze_video","description":"Starts an AI analysis of an existing video and returns the new analysis's id immediately (it does NOT wait). It reads the video and describes it in detail (what"},{"name":"get_analysis","description":"Returns the current state of one video analysis on the signed-in account, and its result once finished. WHEN: after `analyze_video`; poll every 5-10 seconds unt"},{"name":"list_analyses","description":"Returns the signed-in account's video analyses, newest first, one page at a time (pass `cursor` from the previous `next_cursor` while `has_more` is true). WHEN:"},{"name":"list_characters","description":"Returns the characters saved on this aicut account, newest first, one page at a time: `kind: \"uploaded\"` entries the user made from their own photos and `kind: "},{"name":"list_series","description":"Lists aicut's AI Video Story series (niches): episodic short-video formats that generate a whole multi-scene episode from one idea. BROWSING IS `browse_series`'"},{"name":"list_series_ideas","description":"Returns ONE series' CURATED preset ideas (the authored cards the webapp shows on its idea step). Free, instant, creates nothing. THIS IS NOT THE DEFAULT WAY TO "},{"name":"list_niches","description":"Lists aicut's trend-template niches: one-shot video formats made from a few answers (and sometimes a picture), each at one price. AI Video Story series are `lis"},{"name":"generate_from_niche","description":"Runs ONE niche on the signed-in account: starts the video, puts the aicut card in front of the user and returns the new job's id immediately. It does NOT wait f"},{"name":"browse_series","description":"PUTS THE SERIES CATALOGUE ON SCREEN as a grid of previews the user can look at and pick from, right in this conversation: each tile shows that series' 9:16 stil"},{"name":"list_trends","description":"Lists the AI-generated short-form videos aicut tracks as TRENDS: real TikTok videos, each in a published trend cluster (a niche: object-head drama, fruit drama,"},{"name":"get_recreate_brief","description":"For making a NEW, original video in a trend's format, never a copy of it, its script or its characters: returns ONE trend video's public row, the NICHE it belon"},{"name":"generate_cast","description":"Writes the CAST for an AI Video Story series (named characters, each with a role and a one-line description) as a DRAFT for the user to read. FREE: it spends no"},{"name":"generate_cast_portraits","description":"BUYS the portraits for a cast draft: one image generation per member that still needs a face, at the chosen image model's rate, then saves every member to the u"},{"name":"regenerate_cast_portrait","description":"Redraws ONE cast member's portrait (the same character, a new image) and attaches it to that member: ONE image generation, not a new cast. WHEN: the user dislik"},{"name":"describe_cast_member","description":"CHANGES ONE cast member into a different character: you pass a new one-line visual description, aicut rewrites the member's stored look from it and draws ONE ne"},{"name":"generate_story_video","description":"Starts an AI Video Story EPISODE (stage 1 of 3): the engine writes the multi-scene episode from your idea, draws the OPENING PICTURE OF EVERY SCENE, and PARKS f"},{"name":"regenerate_story_frame","description":"Redraws ONE scene's opening picture of an episode parked at frames review (`story.stage: \"frames_review\"`), from the scene's own text, cast and continuity refer"},{"name":"change_story_scene","description":"CHANGES WHAT HAPPENS IN ONE SCENE of an episode parked at frames review and redraws its opening picture from the change. You pass a PLAIN SENTENCE ('the kid sho"},{"name":"remove_story_scene","description":"REMOVES one scene from an AI Video Story episode parked at frames review. The scene's VIDEO is never generated or charged, so the fire quote and charge drop by "},{"name":"fire_story_video","description":"FIRES a parked AI Video Story episode (stage 2 of 3): generates every kept scene's VIDEO from its reviewed picture. The paid step after review; nothing renders "},{"name":"render_story_video","description":"RENDERS an AI Video Story episode into its final delivered file (stage 3 of 3), after the scene videos are done. It is composed SERVER-side from the stored epis"},{"name":"generate_fake_text_video","description":"CREATES a fake-text video: a phone chat conversation that types itself out over a gameplay or green-screen background, every line read aloud in the voice you pi"},{"name":"generate_image_story","description":"CREATES an AI image story: a narrated script turned into a sequence of AI-generated images, read aloud with captions over it. Suited to facts, history, horror, "},{"name":"list_image_story_styles","description":"Lists aicut's authored image-story STYLES: named looks (a character, a rendering treatment, an art direction) that every scene of the video is drawn in. Free, i"},{"name":"list_social_accounts","description":"Returns the social accounts this aicut user has connected for publishing, with the id `prepare_post` takes, plus `connect_url`. WHEN: before any posting attempt"},{"name":"prepare_post","description":"Stages a post of one of this account's finished videos to one of its connected TikTok, YouTube or Instagram accounts and returns the post id `publish_post` take"},{"name":"publish_post","description":"Sends a post staged by `prepare_post`, or schedules it. Irreversible: the post goes out under the user's own name and cannot be taken down from aicut. It is for"},{"name":"get_post_status","description":"Returns what the PLATFORM says happened to a post, plus `post_id` once it is live and `fail_reason` when it is not. Statuses: `prepared` (staged, nothing sent),"},{"name":"review_post","description":"OPENS THE PUBLISH CARD RIGHT HERE for a post `prepare_post` has already staged: the user watches the actual video, sees the destination account, edits the capti"}],"toolCount":54,"toolsHash":"b9e177c2aa301bea1b8895849e3a84996a97eb32647d6319a2f5237e123035ab","serverName":"aicut","capabilities":["tools","resources","prompts"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T10:22:45.488Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":136,"error":null,"detail":{"tools":[{"name":"get_balance","description":"Returns the signed-in aicut account's token balance and plan tier. WHEN: before the first priced ask of a session, when the user asks what they have left, or af"},{"name":"list_models","description":"Returns the AI video, image and audio models this API can generate with: each model's exact parameters (names, allowed values, limits, defaults), the media inpu"},{"name":"get_recipe","description":"Returns a step-by-step recipe as text: `story-episode` (an AI Video Story episode, end to end), `starter-video`, `starter-image`, `starter-audio` (a first gener"},{"name":"generate_video","description":"Starts an AI video generation on the signed-in aicut account, puts the aicut card in front of the user and returns the new job's id immediately. It does NOT wai"},{"name":"get_video","description":"Returns the current state of one video generation: a SINGLE, IMMEDIATE read that waits for nothing. WHEN: only when you need one job's raw fields now (what it c"},{"name":"delete_video","description":"Deletes ONE video from the signed-in account's library: any of its own videos, in any state (finished, failed or still generating), exactly like the delete butt"},{"name":"list_videos","description":"Returns the signed-in account's videos, newest first, one page at a time (pass `cursor` from the previous `next_cursor` while `has_more` is true). WHEN: the use"},{"name":"upscale_image","description":"Increases an existing image's resolution and returns the new job's id immediately (it does NOT wait). Same image, more pixels. WHEN: the user asks to upscale, e"},{"name":"edit_video","description":"Takes a video and a description of what to change and generates the SAME clip with those changes applied (different characters, clothes, setting) while the came"},{"name":"upscale_video","description":"Increases an existing video's resolution (2x, 3x or 4x) and returns the new job's id immediately. It does NOT wait for the result and does not change the conten"},{"name":"extend_video","description":"Generates a NEW segment that continues an existing video from its final frame and returns the new job's id immediately; the result is the original clip with the"},{"name":"motion_control","description":"Takes a picture of a character and a reference video and generates a video of THAT character performing the reference's motion (a dance, a walk, a gesture). Ret"},{"name":"generate_lipsync","description":"Takes a picture of a person and an audio file and generates a video of THAT person speaking or singing the audio, lip-synced. Returns the new job's id immediate"},{"name":"upload_media_widget","description":"OPENS A FILE PICKER RIGHT HERE, in this conversation: the user presses a button, chooses a video OR PHOTO from their own computer and watches it upload, and the"},{"name":"upload_media","description":"Puts a VIDEO OR IMAGE FILE FROM THE USER'S OWN MACHINE onto their aicut account so the generation tools can use it (every other tool takes a URL). It returns an"},{"name":"confirm_upload","description":"Checks the file uploaded to an `upload_media` target and makes it usable. Returns the media `url` to pass to other tools, the file's size, its `kind` (`video` o"},{"name":"generate_image","description":"Generates an AI image on the signed-in aicut account and puts the aicut card in front of the user. It waits for the image server-side for as long as one request"},{"name":"get_image","description":"Returns the current state of one image generation: a SINGLE, IMMEDIATE read that waits for nothing. WHEN: only when you need one job's raw fields now (what it c"},{"name":"list_images","description":"Returns the signed-in account's images, newest first, one page at a time (pass `cursor` from the previous `next_cursor` while `has_more` is true). WHEN: the use"},{"name":"generate_audio","description":"Starts an audio generation on the signed-in aicut account, puts the aicut card in front of the user and returns the new job's id immediately. It does NOT wait f"},{"name":"get_audio","description":"Returns the current state of one audio generation: a SINGLE, IMMEDIATE read that waits for nothing. WHEN: only when you need one job's raw fields now (what it c"},{"name":"list_audio","description":"Returns the signed-in account's audio generations, newest first, one page at a time (pass `cursor` from the previous `next_cursor` while `has_more` is true). WH"},{"name":"list_voices","description":"The WHOLE voice catalogue: every voice aicut can speak with, across ElevenLabs (platform stock AND this account's cloned and custom voices) and OpenAI. Free, in"},{"name":"wait_for_generation","description":"Waits up to 15 seconds for an aicut generation to reach a terminal state, WITHOUT opening a card, and returns the compact status. SEVERAL ITEMS: quote each, ask"},{"name":"show_generation","description":"Shows an EARLIER aicut generation to the user again, in the aicut card: the video, image or audio itself, with what it cost and when it was made. WHEN: the user"},{"name":"analyze_video","description":"Starts an AI analysis of an existing video and returns the new analysis's id immediately (it does NOT wait). It reads the video and describes it in detail (what"},{"name":"get_analysis","description":"Returns the current state of one video analysis on the signed-in account, and its result once finished. WHEN: after `analyze_video`; poll every 5-10 seconds unt"},{"name":"list_analyses","description":"Returns the signed-in account's video analyses, newest first, one page at a time (pass `cursor` from the previous `next_cursor` while `has_more` is true). WHEN:"},{"name":"list_characters","description":"Returns the characters saved on this aicut account, newest first, one page at a time: `kind: \"uploaded\"` entries the user made from their own photos and `kind: "},{"name":"list_series","description":"Lists aicut's AI Video Story series (niches): episodic short-video formats that generate a whole multi-scene episode from one idea. BROWSING IS `browse_series`'"},{"name":"list_series_ideas","description":"Returns ONE series' CURATED preset ideas (the authored cards the webapp shows on its idea step). Free, instant, creates nothing. THIS IS NOT THE DEFAULT WAY TO "},{"name":"list_niches","description":"Lists aicut's trend-template niches: one-shot video formats made from a few answers (and sometimes a picture), each at one price. AI Video Story series are `lis"},{"name":"generate_from_niche","description":"Runs ONE niche on the signed-in account: starts the video, puts the aicut card in front of the user and returns the new job's id immediately. It does NOT wait f"},{"name":"browse_series","description":"PUTS THE SERIES CATALOGUE ON SCREEN as a grid of previews the user can look at and pick from, right in this conversation: each tile shows that series' 9:16 stil"},{"name":"list_trends","description":"Lists the AI-generated short-form videos aicut tracks as TRENDS: real TikTok videos, each in a published trend cluster (a niche: object-head drama, fruit drama,"},{"name":"get_recreate_brief","description":"For making a NEW, original video in a trend's format, never a copy of it, its script or its characters: returns ONE trend video's public row, the NICHE it belon"},{"name":"generate_cast","description":"Writes the CAST for an AI Video Story series (named characters, each with a role and a one-line description) as a DRAFT for the user to read. FREE: it spends no"},{"name":"generate_cast_portraits","description":"BUYS the portraits for a cast draft: one image generation per member that still needs a face, at the chosen image model's rate, then saves every member to the u"},{"name":"regenerate_cast_portrait","description":"Redraws ONE cast member's portrait (the same character, a new image) and attaches it to that member: ONE image generation, not a new cast. WHEN: the user dislik"},{"name":"describe_cast_member","description":"CHANGES ONE cast member into a different character: you pass a new one-line visual description, aicut rewrites the member's stored look from it and draws ONE ne"},{"name":"generate_story_video","description":"Starts an AI Video Story EPISODE (stage 1 of 3): the engine writes the multi-scene episode from your idea, draws the OPENING PICTURE OF EVERY SCENE, and PARKS f"},{"name":"regenerate_story_frame","description":"Redraws ONE scene's opening picture of an episode parked at frames review (`story.stage: \"frames_review\"`), from the scene's own text, cast and continuity refer"},{"name":"change_story_scene","description":"CHANGES WHAT HAPPENS IN ONE SCENE of an episode parked at frames review and redraws its opening picture from the change. You pass a PLAIN SENTENCE ('the kid sho"},{"name":"remove_story_scene","description":"REMOVES one scene from an AI Video Story episode parked at frames review. The scene's VIDEO is never generated or charged, so the fire quote and charge drop by "},{"name":"fire_story_video","description":"FIRES a parked AI Video Story episode (stage 2 of 3): generates every kept scene's VIDEO from its reviewed picture. The paid step after review; nothing renders "},{"name":"render_story_video","description":"RENDERS an AI Video Story episode into its final delivered file (stage 3 of 3), after the scene videos are done. It is composed SERVER-side from the stored epis"},{"name":"generate_fake_text_video","description":"CREATES a fake-text video: a phone chat conversation that types itself out over a gameplay or green-screen background, every line read aloud in the voice you pi"},{"name":"generate_image_story","description":"CREATES an AI image story: a narrated script turned into a sequence of AI-generated images, read aloud with captions over it. Suited to facts, history, horror, "},{"name":"list_image_story_styles","description":"Lists aicut's authored image-story STYLES: named looks (a character, a rendering treatment, an art direction) that every scene of the video is drawn in. Free, i"},{"name":"list_social_accounts","description":"Returns the social accounts this aicut user has connected for publishing, with the id `prepare_post` takes, plus `connect_url`. WHEN: before any posting attempt"},{"name":"prepare_post","description":"Stages a post of one of this account's finished videos to one of its connected TikTok, YouTube or Instagram accounts and returns the post id `publish_post` take"},{"name":"publish_post","description":"Sends a post staged by `prepare_post`, or schedules it. Irreversible: the post goes out under the user's own name and cannot be taken down from aicut. It is for"},{"name":"get_post_status","description":"Returns what the PLATFORM says happened to a post, plus `post_id` once it is live and `fail_reason` when it is not. Statuses: `prepared` (staged, nothing sent),"},{"name":"review_post","description":"OPENS THE PUBLISH CARD RIGHT HERE for a post `prepare_post` has already staged: the user watches the actual video, sees the destination account, edits the capti"}],"toolCount":54,"toolsHash":"b9e177c2aa301bea1b8895849e3a84996a97eb32647d6319a2f5237e123035ab","serverName":"aicut","capabilities":["tools","resources","prompts"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T03:22:53.713Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":180,"error":null,"detail":{"tools":[{"name":"get_balance","description":"Returns the signed-in aicut account's token balance and plan tier. WHEN: before the first priced ask of a session, when the user asks what they have left, or af"},{"name":"list_models","description":"Returns the AI video, image and audio models this API can generate with: each model's exact parameters (names, allowed values, limits, defaults), the media inpu"},{"name":"get_recipe","description":"Returns a step-by-step recipe as text: `story-episode` (an AI Video Story episode, end to end), `starter-video`, `starter-image`, `starter-audio` (a first gener"},{"name":"generate_video","description":"Starts an AI video generation on the signed-in aicut account, puts the aicut card in front of the user and returns the new job's id immediately. It does NOT wai"},{"name":"get_video","description":"Returns the current state of one video generation: a SINGLE, IMMEDIATE read that waits for nothing. WHEN: only when you need one job's raw fields now (what it c"},{"name":"delete_video","description":"Deletes ONE video from the signed-in account's library: any of its own videos, in any state (finished, failed or still generating), exactly like the delete butt"},{"name":"list_videos","description":"Returns the signed-in account's videos, newest first, one page at a time (pass `cursor` from the previous `next_cursor` while `has_more` is true). WHEN: the use"},{"name":"upscale_image","description":"Increases an existing image's resolution and returns the new job's id immediately (it does NOT wait). Same image, more pixels. WHEN: the user asks to upscale, e"},{"name":"edit_video","description":"Takes a video and a description of what to change and generates the SAME clip with those changes applied (different characters, clothes, setting) while the came"},{"name":"upscale_video","description":"Increases an existing video's resolution (2x, 3x or 4x) and returns the new job's id immediately. It does NOT wait for the result and does not change the conten"},{"name":"extend_video","description":"Generates a NEW segment that continues an existing video from its final frame and returns the new job's id immediately; the result is the original clip with the"},{"name":"motion_control","description":"Takes a picture of a character and a reference video and generates a video of THAT character performing the reference's motion (a dance, a walk, a gesture). Ret"},{"name":"generate_lipsync","description":"Takes a picture of a person and an audio file and generates a video of THAT person speaking or singing the audio, lip-synced. Returns the new job's id immediate"},{"name":"upload_media_widget","description":"OPENS A FILE PICKER RIGHT HERE, in this conversation: the user presses a button, chooses a video OR PHOTO from their own computer and watches it upload, and the"},{"name":"upload_media","description":"Puts a VIDEO OR IMAGE FILE FROM THE USER'S OWN MACHINE onto their aicut account so the generation tools can use it (every other tool takes a URL). It returns an"},{"name":"confirm_upload","description":"Checks the file uploaded to an `upload_media` target and makes it usable. Returns the media `url` to pass to other tools, the file's size, its `kind` (`video` o"},{"name":"generate_image","description":"Generates an AI image on the signed-in aicut account and puts the aicut card in front of the user. It waits for the image server-side for as long as one request"},{"name":"get_image","description":"Returns the current state of one image generation: a SINGLE, IMMEDIATE read that waits for nothing. WHEN: only when you need one job's raw fields now (what it c"},{"name":"list_images","description":"Returns the signed-in account's images, newest first, one page at a time (pass `cursor` from the previous `next_cursor` while `has_more` is true). WHEN: the use"},{"name":"generate_audio","description":"Starts an audio generation on the signed-in aicut account, puts the aicut card in front of the user and returns the new job's id immediately. It does NOT wait f"},{"name":"get_audio","description":"Returns the current state of one audio generation: a SINGLE, IMMEDIATE read that waits for nothing. WHEN: only when you need one job's raw fields now (what it c"},{"name":"list_audio","description":"Returns the signed-in account's audio generations, newest first, one page at a time (pass `cursor` from the previous `next_cursor` while `has_more` is true). WH"},{"name":"list_voices","description":"The WHOLE voice catalogue: every voice aicut can speak with, across ElevenLabs (platform stock AND this account's cloned and custom voices) and OpenAI. Free, in"},{"name":"wait_for_generation","description":"Waits up to 15 seconds for an aicut generation to reach a terminal state, WITHOUT opening a card, and returns the compact status. SEVERAL ITEMS: quote each, ask"},{"name":"show_generation","description":"Shows an EARLIER aicut generation to the user again, in the aicut card: the video, image or audio itself, with what it cost and when it was made. WHEN: the user"},{"name":"analyze_video","description":"Starts an AI analysis of an existing video and returns the new analysis's id immediately (it does NOT wait). It reads the video and describes it in detail (what"},{"name":"get_analysis","description":"Returns the current state of one video analysis on the signed-in account, and its result once finished. WHEN: after `analyze_video`; poll every 5-10 seconds unt"},{"name":"list_analyses","description":"Returns the signed-in account's video analyses, newest first, one page at a time (pass `cursor` from the previous `next_cursor` while `has_more` is true). WHEN:"},{"name":"list_characters","description":"Returns the characters saved on this aicut account, newest first, one page at a time: `kind: \"uploaded\"` entries the user made from their own photos and `kind: "},{"name":"list_series","description":"Lists aicut's AI Video Story series (niches): episodic short-video formats that generate a whole multi-scene episode from one idea. BROWSING IS `browse_series`'"},{"name":"list_series_ideas","description":"Returns ONE series' CURATED preset ideas (the authored cards the webapp shows on its idea step). Free, instant, creates nothing. THIS IS NOT THE DEFAULT WAY TO "},{"name":"list_niches","description":"Lists aicut's trend-template niches: one-shot video formats made from a few answers (and sometimes a picture), each at one price. AI Video Story series are `lis"},{"name":"generate_from_niche","description":"Runs ONE niche on the signed-in account: starts the video, puts the aicut card in front of the user and returns the new job's id immediately. It does NOT wait f"},{"name":"browse_series","description":"PUTS THE SERIES CATALOGUE ON SCREEN as a grid of previews the user can look at and pick from, right in this conversation: each tile shows that series' 9:16 stil"},{"name":"list_trends","description":"Lists the AI-generated short-form videos aicut tracks as TRENDS: real TikTok videos, each in a published trend cluster (a niche: object-head drama, fruit drama,"},{"name":"get_recreate_brief","description":"For making a NEW, original video in a trend's format, never a copy of it, its script or its characters: returns ONE trend video's public row, the NICHE it belon"},{"name":"generate_cast","description":"Writes the CAST for an AI Video Story series (named characters, each with a role and a one-line description) as a DRAFT for the user to read. FREE: it spends no"},{"name":"generate_cast_portraits","description":"BUYS the portraits for a cast draft: one image generation per member that still needs a face, at the chosen image model's rate, then saves every member to the u"},{"name":"regenerate_cast_portrait","description":"Redraws ONE cast member's portrait (the same character, a new image) and attaches it to that member: ONE image generation, not a new cast. WHEN: the user dislik"},{"name":"describe_cast_member","description":"CHANGES ONE cast member into a different character: you pass a new one-line visual description, aicut rewrites the member's stored look from it and draws ONE ne"},{"name":"generate_story_video","description":"Starts an AI Video Story EPISODE (stage 1 of 3): the engine writes the multi-scene episode from your idea, draws the OPENING PICTURE OF EVERY SCENE, and PARKS f"},{"name":"regenerate_story_frame","description":"Redraws ONE scene's opening picture of an episode parked at frames review (`story.stage: \"frames_review\"`), from the scene's own text, cast and continuity refer"},{"name":"change_story_scene","description":"CHANGES WHAT HAPPENS IN ONE SCENE of an episode parked at frames review and redraws its opening picture from the change. You pass a PLAIN SENTENCE ('the kid sho"},{"name":"remove_story_scene","description":"REMOVES one scene from an AI Video Story episode parked at frames review. The scene's VIDEO is never generated or charged, so the fire quote and charge drop by "},{"name":"fire_story_video","description":"FIRES a parked AI Video Story episode (stage 2 of 3): generates every kept scene's VIDEO from its reviewed picture. The paid step after review; nothing renders "},{"name":"render_story_video","description":"RENDERS an AI Video Story episode into its final delivered file (stage 3 of 3), after the scene videos are done. It is composed SERVER-side from the stored epis"},{"name":"generate_fake_text_video","description":"CREATES a fake-text video: a phone chat conversation that types itself out over a gameplay or green-screen background, every line read aloud in the voice you pi"},{"name":"generate_image_story","description":"CREATES an AI image story: a narrated script turned into a sequence of AI-generated images, read aloud with captions over it. Suited to facts, history, horror, "},{"name":"list_image_story_styles","description":"Lists aicut's authored image-story STYLES: named looks (a character, a rendering treatment, an art direction) that every scene of the video is drawn in. Free, i"},{"name":"list_social_accounts","description":"Returns the social accounts this aicut user has connected for publishing, with the id `prepare_post` takes, plus `connect_url`. WHEN: before any posting attempt"},{"name":"prepare_post","description":"Stages a post of one of this account's finished videos to one of its connected TikTok, YouTube or Instagram accounts and returns the post id `publish_post` take"},{"name":"publish_post","description":"Sends a post staged by `prepare_post`, or schedules it. Irreversible: the post goes out under the user's own name and cannot be taken down from aicut. It is for"},{"name":"get_post_status","description":"Returns what the PLATFORM says happened to a post, plus `post_id` once it is live and `fail_reason` when it is not. Statuses: `prepared` (staged, nothing sent),"},{"name":"review_post","description":"OPENS THE PUBLISH CARD RIGHT HERE for a post `prepare_post` has already staged: the user watches the actual video, sees the destination account, edits the capti"}],"toolCount":54,"toolsHash":"b9e177c2aa301bea1b8895849e3a84996a97eb32647d6319a2f5237e123035ab","serverName":"aicut","capabilities":["tools","resources","prompts"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T20:24:38.840Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":126,"error":null,"detail":{"tools":[{"name":"get_balance","description":"Returns the signed-in aicut account's token balance and plan tier. WHEN: before the first priced ask of a session, when the user asks what they have left, or af"},{"name":"list_models","description":"Returns the AI video, image and audio models this API can generate with: each model's exact parameters (names, allowed values, limits, defaults), the media inpu"},{"name":"get_recipe","description":"Returns a step-by-step recipe as text: `story-episode` (an AI Video Story episode, end to end), `starter-video`, `starter-image`, `starter-audio` (a first gener"},{"name":"generate_video","description":"Starts an AI video generation on the signed-in aicut account, puts the aicut card in front of the user and returns the new job's id immediately. It does NOT wai"},{"name":"get_video","description":"Returns the current state of one video generation: a SINGLE, IMMEDIATE read that waits for nothing. WHEN: only when you need one job's raw fields now (what it c"},{"name":"delete_video","description":"Deletes ONE video from the signed-in account's library: any of its own videos, in any state (finished, failed or still generating), exactly like the delete butt"},{"name":"list_videos","description":"Returns the signed-in account's videos, newest first, one page at a time (pass `cursor` from the previous `next_cursor` while `has_more` is true). WHEN: the use"},{"name":"upscale_image","description":"Increases an existing image's resolution and returns the new job's id immediately (it does NOT wait). Same image, more pixels. WHEN: the user asks to upscale, e"},{"name":"edit_video","description":"Takes a video and a description of what to change and generates the SAME clip with those changes applied (different characters, clothes, setting) while the came"},{"name":"upscale_video","description":"Increases an existing video's resolution (2x, 3x or 4x) and returns the new job's id immediately. It does NOT wait for the result and does not change the conten"},{"name":"extend_video","description":"Generates a NEW segment that continues an existing video from its final frame and returns the new job's id immediately; the result is the original clip with the"},{"name":"motion_control","description":"Takes a picture of a character and a reference video and generates a video of THAT character performing the reference's motion (a dance, a walk, a gesture). Ret"},{"name":"generate_lipsync","description":"Takes a picture of a person and an audio file and generates a video of THAT person speaking or singing the audio, lip-synced. Returns the new job's id immediate"},{"name":"upload_media_widget","description":"OPENS A FILE PICKER RIGHT HERE, in this conversation: the user presses a button, chooses a video OR PHOTO from their own computer and watches it upload, and the"},{"name":"upload_media","description":"Puts a VIDEO OR IMAGE FILE FROM THE USER'S OWN MACHINE onto their aicut account so the generation tools can use it (every other tool takes a URL). It returns an"},{"name":"confirm_upload","description":"Checks the file uploaded to an `upload_media` target and makes it usable. Returns the media `url` to pass to other tools, the file's size, its `kind` (`video` o"},{"name":"generate_image","description":"Generates an AI image on the signed-in aicut account and puts the aicut card in front of the user. It waits for the image server-side for as long as one request"},{"name":"get_image","description":"Returns the current state of one image generation: a SINGLE, IMMEDIATE read that waits for nothing. WHEN: only when you need one job's raw fields now (what it c"},{"name":"list_images","description":"Returns the signed-in account's images, newest first, one page at a time (pass `cursor` from the previous `next_cursor` while `has_more` is true). WHEN: the use"},{"name":"generate_audio","description":"Starts an audio generation on the signed-in aicut account, puts the aicut card in front of the user and returns the new job's id immediately. It does NOT wait f"},{"name":"get_audio","description":"Returns the current state of one audio generation: a SINGLE, IMMEDIATE read that waits for nothing. WHEN: only when you need one job's raw fields now (what it c"},{"name":"list_audio","description":"Returns the signed-in account's audio generations, newest first, one page at a time (pass `cursor` from the previous `next_cursor` while `has_more` is true). WH"},{"name":"list_voices","description":"The WHOLE voice catalogue: every voice aicut can speak with, across ElevenLabs (platform stock AND this account's cloned and custom voices) and OpenAI. Free, in"},{"name":"wait_for_generation","description":"Waits up to 15 seconds for an aicut generation to reach a terminal state, WITHOUT opening a card, and returns the compact status. SEVERAL ITEMS: quote each, ask"},{"name":"show_generation","description":"Shows an EARLIER aicut generation to the user again, in the aicut card: the video, image or audio itself, with what it cost and when it was made. WHEN: the user"},{"name":"analyze_video","description":"Starts an AI analysis of an existing video and returns the new analysis's id immediately (it does NOT wait). It reads the video and describes it in detail (what"},{"name":"get_analysis","description":"Returns the current state of one video analysis on the signed-in account, and its result once finished. WHEN: after `analyze_video`; poll every 5-10 seconds unt"},{"name":"list_analyses","description":"Returns the signed-in account's video analyses, newest first, one page at a time (pass `cursor` from the previous `next_cursor` while `has_more` is true). WHEN:"},{"name":"list_characters","description":"Returns the characters saved on this aicut account, newest first, one page at a time: `kind: \"uploaded\"` entries the user made from their own photos and `kind: "},{"name":"list_series","description":"Lists aicut's AI Video Story series (niches): episodic short-video formats that generate a whole multi-scene episode from one idea. BROWSING IS `browse_series`'"},{"name":"list_series_ideas","description":"Returns ONE series' CURATED preset ideas (the authored cards the webapp shows on its idea step). Free, instant, creates nothing. THIS IS NOT THE DEFAULT WAY TO "},{"name":"list_niches","description":"Lists aicut's trend-template niches: one-shot video formats made from a few answers (and sometimes a picture), each at one price. AI Video Story series are `lis"},{"name":"generate_from_niche","description":"Runs ONE niche on the signed-in account: starts the video, puts the aicut card in front of the user and returns the new job's id immediately. It does NOT wait f"},{"name":"browse_series","description":"PUTS THE SERIES CATALOGUE ON SCREEN as a grid of previews the user can look at and pick from, right in this conversation: each tile shows that series' 9:16 stil"},{"name":"list_trends","description":"Lists the AI-generated short-form videos aicut tracks as TRENDS: real TikTok videos, each in a published trend cluster (a niche: object-head drama, fruit drama,"},{"name":"get_recreate_brief","description":"For making a NEW, original video in a trend's format, never a copy of it, its script or its characters: returns ONE trend video's public row, the NICHE it belon"},{"name":"generate_cast","description":"Writes the CAST for an AI Video Story series (named characters, each with a role and a one-line description) as a DRAFT for the user to read. FREE: it spends no"},{"name":"generate_cast_portraits","description":"BUYS the portraits for a cast draft: one image generation per member that still needs a face, at the chosen image model's rate, then saves every member to the u"},{"name":"regenerate_cast_portrait","description":"Redraws ONE cast member's portrait (the same character, a new image) and attaches it to that member: ONE image generation, not a new cast. WHEN: the user dislik"},{"name":"describe_cast_member","description":"CHANGES ONE cast member into a different character: you pass a new one-line visual description, aicut rewrites the member's stored look from it and draws ONE ne"},{"name":"generate_story_video","description":"Starts an AI Video Story EPISODE (stage 1 of 3): the engine writes the multi-scene episode from your idea, draws the OPENING PICTURE OF EVERY SCENE, and PARKS f"},{"name":"regenerate_story_frame","description":"Redraws ONE scene's opening picture of an episode parked at frames review (`story.stage: \"frames_review\"`), from the scene's own text, cast and continuity refer"},{"name":"change_story_scene","description":"CHANGES WHAT HAPPENS IN ONE SCENE of an episode parked at frames review and redraws its opening picture from the change. You pass a PLAIN SENTENCE ('the kid sho"},{"name":"remove_story_scene","description":"REMOVES one scene from an AI Video Story episode parked at frames review. The scene's VIDEO is never generated or charged, so the fire quote and charge drop by "},{"name":"fire_story_video","description":"FIRES a parked AI Video Story episode (stage 2 of 3): generates every kept scene's VIDEO from its reviewed picture. The paid step after review; nothing renders "},{"name":"render_story_video","description":"RENDERS an AI Video Story episode into its final delivered file (stage 3 of 3), after the scene videos are done. It is composed SERVER-side from the stored epis"},{"name":"generate_fake_text_video","description":"CREATES a fake-text video: a phone chat conversation that types itself out over a gameplay or green-screen background, every line read aloud in the voice you pi"},{"name":"generate_image_story","description":"CREATES an AI image story: a narrated script turned into a sequence of AI-generated images, read aloud with captions over it. Suited to facts, history, horror, "},{"name":"list_image_story_styles","description":"Lists aicut's authored image-story STYLES: named looks (a character, a rendering treatment, an art direction) that every scene of the video is drawn in. Free, i"},{"name":"list_social_accounts","description":"Returns the social accounts this aicut user has connected for publishing, with the id `prepare_post` takes, plus `connect_url`. WHEN: before any posting attempt"},{"name":"prepare_post","description":"Stages a post of one of this account's finished videos to one of its connected TikTok, YouTube or Instagram accounts and returns the post id `publish_post` take"},{"name":"publish_post","description":"Sends a post staged by `prepare_post`, or schedules it. Irreversible: the post goes out under the user's own name and cannot be taken down from aicut. It is for"},{"name":"get_post_status","description":"Returns what the PLATFORM says happened to a post, plus `post_id` once it is live and `fail_reason` when it is not. Statuses: `prepared` (staged, nothing sent),"},{"name":"review_post","description":"OPENS THE PUBLISH CARD RIGHT HERE for a post `prepare_post` has already staged: the user watches the actual video, sees the destination account, edits the capti"}],"toolCount":54,"toolsHash":"b9e177c2aa301bea1b8895849e3a84996a97eb32647d6319a2f5237e123035ab","serverName":"aicut","capabilities":["tools","resources","prompts"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T14:22:02.298Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":199,"error":null,"detail":{"tools":[{"name":"get_balance","description":"Returns the signed-in aicut account's token balance and plan tier. WHEN: before the first priced ask of a session, when the user asks what they have left, or af"},{"name":"list_models","description":"Returns the AI video, image and audio models this API can generate with: each model's exact parameters (names, allowed values, limits, defaults), the media inpu"},{"name":"get_recipe","description":"Returns a step-by-step recipe as text: `story-episode` (an AI Video Story episode, end to end), `starter-video`, `starter-image`, `starter-audio` (a first gener"},{"name":"generate_video","description":"Starts an AI video generation on the signed-in aicut account, puts the aicut card in front of the user and returns the new job's id immediately. It does NOT wai"},{"name":"get_video","description":"Returns the current state of one video generation: a SINGLE, IMMEDIATE read that waits for nothing. WHEN: only when you need one job's raw fields now (what it c"},{"name":"delete_video","description":"Deletes ONE video from the signed-in account's library: any of its own videos, in any state (finished, failed or still generating), exactly like the delete butt"},{"name":"list_videos","description":"Returns the signed-in account's videos, newest first, one page at a time (pass `cursor` from the previous `next_cursor` while `has_more` is true). WHEN: the use"},{"name":"upscale_image","description":"Increases an existing image's resolution and returns the new job's id immediately (it does NOT wait). Same image, more pixels. WHEN: the user asks to upscale, e"},{"name":"edit_video","description":"Takes a video and a description of what to change and generates the SAME clip with those changes applied (different characters, clothes, setting) while the came"},{"name":"upscale_video","description":"Increases an existing video's resolution (2x, 3x or 4x) and returns the new job's id immediately. It does NOT wait for the result and does not change the conten"},{"name":"extend_video","description":"Generates a NEW segment that continues an existing video from its final frame and returns the new job's id immediately; the result is the original clip with the"},{"name":"motion_control","description":"Takes a picture of a character and a reference video and generates a video of THAT character performing the reference's motion (a dance, a walk, a gesture). Ret"},{"name":"generate_lipsync","description":"Takes a picture of a person and an audio file and generates a video of THAT person speaking or singing the audio, lip-synced. Returns the new job's id immediate"},{"name":"upload_media_widget","description":"OPENS A FILE PICKER RIGHT HERE, in this conversation: the user presses a button, chooses a video OR PHOTO from their own computer and watches it upload, and the"},{"name":"upload_media","description":"Puts a VIDEO OR IMAGE FILE FROM THE USER'S OWN MACHINE onto their aicut account so the generation tools can use it (every other tool takes a URL). It returns an"},{"name":"confirm_upload","description":"Checks the file uploaded to an `upload_media` target and makes it usable. Returns the media `url` to pass to other tools, the file's size, its `kind` (`video` o"},{"name":"generate_image","description":"Generates an AI image on the signed-in aicut account and puts the aicut card in front of the user. It waits for the image server-side for as long as one request"},{"name":"get_image","description":"Returns the current state of one image generation: a SINGLE, IMMEDIATE read that waits for nothing. WHEN: only when you need one job's raw fields now (what it c"},{"name":"list_images","description":"Returns the signed-in account's images, newest first, one page at a time (pass `cursor` from the previous `next_cursor` while `has_more` is true). WHEN: the use"},{"name":"generate_audio","description":"Starts an audio generation on the signed-in aicut account, puts the aicut card in front of the user and returns the new job's id immediately. It does NOT wait f"},{"name":"get_audio","description":"Returns the current state of one audio generation: a SINGLE, IMMEDIATE read that waits for nothing. WHEN: only when you need one job's raw fields now (what it c"},{"name":"list_audio","description":"Returns the signed-in account's audio generations, newest first, one page at a time (pass `cursor` from the previous `next_cursor` while `has_more` is true). WH"},{"name":"list_voices","description":"The WHOLE voice catalogue: every voice aicut can speak with, across ElevenLabs (platform stock AND this account's cloned and custom voices) and OpenAI. Free, in"},{"name":"wait_for_generation","description":"Waits up to 15 seconds for an aicut generation to reach a terminal state, WITHOUT opening a card, and returns the compact status. SEVERAL ITEMS: quote each, ask"},{"name":"show_generation","description":"Shows an EARLIER aicut generation to the user again, in the aicut card: the video, image or audio itself, with what it cost and when it was made. WHEN: the user"},{"name":"analyze_video","description":"Starts an AI analysis of an existing video and returns the new analysis's id immediately (it does NOT wait). It reads the video and describes it in detail (what"},{"name":"get_analysis","description":"Returns the current state of one video analysis on the signed-in account, and its result once finished. WHEN: after `analyze_video`; poll every 5-10 seconds unt"},{"name":"list_analyses","description":"Returns the signed-in account's video analyses, newest first, one page at a time (pass `cursor` from the previous `next_cursor` while `has_more` is true). WHEN:"},{"name":"list_characters","description":"Returns the characters saved on this aicut account, newest first, one page at a time: `kind: \"uploaded\"` entries the user made from their own photos and `kind: "},{"name":"list_series","description":"Lists aicut's AI Video Story series (niches): episodic short-video formats that generate a whole multi-scene episode from one idea. BROWSING IS `browse_series`'"},{"name":"list_series_ideas","description":"Returns ONE series' CURATED preset ideas (the authored cards the webapp shows on its idea step). Free, instant, creates nothing. THIS IS NOT THE DEFAULT WAY TO "},{"name":"list_niches","description":"Lists aicut's trend-template niches: one-shot video formats made from a few answers (and sometimes a picture), each at one price. AI Video Story series are `lis"},{"name":"generate_from_niche","description":"Runs ONE niche on the signed-in account: starts the video, puts the aicut card in front of the user and returns the new job's id immediately. It does NOT wait f"},{"name":"browse_series","description":"PUTS THE SERIES CATALOGUE ON SCREEN as a grid of previews the user can look at and pick from, right in this conversation: each tile shows that series' 9:16 stil"},{"name":"list_trends","description":"Lists the AI-generated short-form videos aicut tracks as TRENDS: real TikTok videos, each in a published trend cluster (a niche: object-head drama, fruit drama,"},{"name":"get_recreate_brief","description":"For making a NEW, original video in a trend's format, never a copy of it, its script or its characters: returns ONE trend video's public row, the NICHE it belon"},{"name":"generate_cast","description":"Writes the CAST for an AI Video Story series (named characters, each with a role and a one-line description) as a DRAFT for the user to read. FREE: it spends no"},{"name":"generate_cast_portraits","description":"BUYS the portraits for a cast draft: one image generation per member that still needs a face, at the chosen image model's rate, then saves every member to the u"},{"name":"regenerate_cast_portrait","description":"Redraws ONE cast member's portrait (the same character, a new image) and attaches it to that member: ONE image generation, not a new cast. WHEN: the user dislik"},{"name":"describe_cast_member","description":"CHANGES ONE cast member into a different character: you pass a new one-line visual description, aicut rewrites the member's stored look from it and draws ONE ne"},{"name":"generate_story_video","description":"Starts an AI Video Story EPISODE (stage 1 of 3): the engine writes the multi-scene episode from your idea, draws the OPENING PICTURE OF EVERY SCENE, and PARKS f"},{"name":"regenerate_story_frame","description":"Redraws ONE scene's opening picture of an episode parked at frames review (`story.stage: \"frames_review\"`), from the scene's own text, cast and continuity refer"},{"name":"change_story_scene","description":"CHANGES WHAT HAPPENS IN ONE SCENE of an episode parked at frames review and redraws its opening picture from the change. You pass a PLAIN SENTENCE ('the kid sho"},{"name":"remove_story_scene","description":"REMOVES one scene from an AI Video Story episode parked at frames review. The scene's VIDEO is never generated or charged, so the fire quote and charge drop by "},{"name":"fire_story_video","description":"FIRES a parked AI Video Story episode (stage 2 of 3): generates every kept scene's VIDEO from its reviewed picture. The paid step after review; nothing renders "},{"name":"render_story_video","description":"RENDERS an AI Video Story episode into its final delivered file (stage 3 of 3), after the scene videos are done. It is composed SERVER-side from the stored epis"},{"name":"generate_fake_text_video","description":"CREATES a fake-text video: a phone chat conversation that types itself out over a gameplay or green-screen background, every line read aloud in the voice you pi"},{"name":"generate_image_story","description":"CREATES an AI image story: a narrated script turned into a sequence of AI-generated images, read aloud with captions over it. Suited to facts, history, horror, "},{"name":"list_image_story_styles","description":"Lists aicut's authored image-story STYLES: named looks (a character, a rendering treatment, an art direction) that every scene of the video is drawn in. Free, i"},{"name":"list_social_accounts","description":"Returns the social accounts this aicut user has connected for publishing, with the id `prepare_post` takes, plus `connect_url`. WHEN: before any posting attempt"},{"name":"prepare_post","description":"Stages a post of one of this account's finished videos to one of its connected TikTok, YouTube or Instagram accounts and returns the post id `publish_post` take"},{"name":"publish_post","description":"Sends a post staged by `prepare_post`, or schedules it. Irreversible: the post goes out under the user's own name and cannot be taken down from aicut. It is for"},{"name":"get_post_status","description":"Returns what the PLATFORM says happened to a post, plus `post_id` once it is live and `fail_reason` when it is not. Statuses: `prepared` (staged, nothing sent),"},{"name":"review_post","description":"OPENS THE PUBLISH CARD RIGHT HERE for a post `prepare_post` has already staged: the user watches the actual video, sees the destination account, edits the capti"}],"toolCount":54,"toolsHash":"b9e177c2aa301bea1b8895849e3a84996a97eb32647d6319a2f5237e123035ab","serverName":"aicut","capabilities":["tools","resources","prompts"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T07:24:36.692Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":142,"error":null,"detail":{"tools":[{"name":"get_balance","description":"Returns the signed-in aicut account's token balance and plan tier. WHEN: before the first priced ask of a session, when the user asks what they have left, or af"},{"name":"list_models","description":"Returns the AI video, image and audio models this API can generate with: each model's exact parameters (names, allowed values, limits, defaults), the media inpu"},{"name":"get_recipe","description":"Returns a step-by-step recipe as text: `story-episode` (an AI Video Story episode, end to end), `starter-video`, `starter-image`, `starter-audio` (a first gener"},{"name":"generate_video","description":"Starts an AI video generation on the signed-in aicut account, puts the aicut card in front of the user and returns the new job's id immediately. It does NOT wai"},{"name":"get_video","description":"Returns the current state of one video generation: a SINGLE, IMMEDIATE read that waits for nothing. WHEN: only when you need one job's raw fields now (what it c"},{"name":"delete_video","description":"Deletes ONE video from the signed-in account's library: any of its own videos, in any state (finished, failed or still generating), exactly like the delete butt"},{"name":"list_videos","description":"Returns the signed-in account's videos, newest first, one page at a time (pass `cursor` from the previous `next_cursor` while `has_more` is true). WHEN: the use"},{"name":"upscale_image","description":"Increases an existing image's resolution and returns the new job's id immediately (it does NOT wait). Same image, more pixels. WHEN: the user asks to upscale, e"},{"name":"edit_video","description":"Takes a video and a description of what to change and generates the SAME clip with those changes applied (different characters, clothes, setting) while the came"},{"name":"upscale_video","description":"Increases an existing video's resolution (2x, 3x or 4x) and returns the new job's id immediately. It does NOT wait for the result and does not change the conten"},{"name":"extend_video","description":"Generates a NEW segment that continues an existing video from its final frame and returns the new job's id immediately; the result is the original clip with the"},{"name":"motion_control","description":"Takes a picture of a character and a reference video and generates a video of THAT character performing the reference's motion (a dance, a walk, a gesture). Ret"},{"name":"generate_lipsync","description":"Takes a picture of a person and an audio file and generates a video of THAT person speaking or singing the audio, lip-synced. Returns the new job's id immediate"},{"name":"upload_media_widget","description":"OPENS A FILE PICKER RIGHT HERE, in this conversation: the user presses a button, chooses a video OR PHOTO from their own computer and watches it upload, and the"},{"name":"upload_media","description":"Puts a VIDEO OR IMAGE FILE FROM THE USER'S OWN MACHINE onto their aicut account so the generation tools can use it (every other tool takes a URL). It returns an"},{"name":"confirm_upload","description":"Checks the file uploaded to an `upload_media` target and makes it usable. Returns the media `url` to pass to other tools, the file's size, its `kind` (`video` o"},{"name":"generate_image","description":"Generates an AI image on the signed-in aicut account and puts the aicut card in front of the user. It waits for the image server-side for as long as one request"},{"name":"get_image","description":"Returns the current state of one image generation: a SINGLE, IMMEDIATE read that waits for nothing. WHEN: only when you need one job's raw fields now (what it c"},{"name":"list_images","description":"Returns the signed-in account's images, newest first, one page at a time (pass `cursor` from the previous `next_cursor` while `has_more` is true). WHEN: the use"},{"name":"generate_audio","description":"Starts an audio generation on the signed-in aicut account, puts the aicut card in front of the user and returns the new job's id immediately. It does NOT wait f"},{"name":"get_audio","description":"Returns the current state of one audio generation: a SINGLE, IMMEDIATE read that waits for nothing. WHEN: only when you need one job's raw fields now (what it c"},{"name":"list_audio","description":"Returns the signed-in account's audio generations, newest first, one page at a time (pass `cursor` from the previous `next_cursor` while `has_more` is true). WH"},{"name":"list_voices","description":"The WHOLE voice catalogue: every voice aicut can speak with, across ElevenLabs (platform stock AND this account's cloned and custom voices) and OpenAI. Free, in"},{"name":"wait_for_generation","description":"Waits up to 15 seconds for an aicut generation to reach a terminal state, WITHOUT opening a card, and returns the compact status. SEVERAL ITEMS: quote each, ask"},{"name":"show_generation","description":"Shows an EARLIER aicut generation to the user again, in the aicut card: the video, image or audio itself, with what it cost and when it was made. WHEN: the user"},{"name":"analyze_video","description":"Starts an AI analysis of an existing video and returns the new analysis's id immediately (it does NOT wait). It reads the video and describes it in detail (what"},{"name":"get_analysis","description":"Returns the current state of one video analysis on the signed-in account, and its result once finished. WHEN: after `analyze_video`; poll every 5-10 seconds unt"},{"name":"list_analyses","description":"Returns the signed-in account's video analyses, newest first, one page at a time (pass `cursor` from the previous `next_cursor` while `has_more` is true). WHEN:"},{"name":"list_characters","description":"Returns the characters saved on this aicut account, newest first, one page at a time: `kind: \"uploaded\"` entries the user made from their own photos and `kind: "},{"name":"list_series","description":"Lists aicut's AI Video Story series (niches): episodic short-video formats that generate a whole multi-scene episode from one idea. BROWSING IS `browse_series`'"},{"name":"list_series_ideas","description":"Returns ONE series' CURATED preset ideas (the authored cards the webapp shows on its idea step). Free, instant, creates nothing. THIS IS NOT THE DEFAULT WAY TO "},{"name":"list_niches","description":"Lists aicut's trend-template niches: one-shot video formats made from a few answers (and sometimes a picture), each at one price. AI Video Story series are `lis"},{"name":"generate_from_niche","description":"Runs ONE niche on the signed-in account: starts the video, puts the aicut card in front of the user and returns the new job's id immediately. It does NOT wait f"},{"name":"browse_series","description":"PUTS THE SERIES CATALOGUE ON SCREEN as a grid of previews the user can look at and pick from, right in this conversation: each tile shows that series' 9:16 stil"},{"name":"list_trends","description":"Lists the AI-generated short-form videos aicut tracks as TRENDS: real TikTok videos, each in a published trend cluster (a niche: object-head drama, fruit drama,"},{"name":"get_recreate_brief","description":"For making a NEW, original video in a trend's format, never a copy of it, its script or its characters: returns ONE trend video's public row, the NICHE it belon"},{"name":"generate_cast","description":"Writes the CAST for an AI Video Story series (named characters, each with a role and a one-line description) as a DRAFT for the user to read. FREE: it spends no"},{"name":"generate_cast_portraits","description":"BUYS the portraits for a cast draft: one image generation per member that still needs a face, at the chosen image model's rate, then saves every member to the u"},{"name":"regenerate_cast_portrait","description":"Redraws ONE cast member's portrait (the same character, a new image) and attaches it to that member: ONE image generation, not a new cast. WHEN: the user dislik"},{"name":"describe_cast_member","description":"CHANGES ONE cast member into a different character: you pass a new one-line visual description, aicut rewrites the member's stored look from it and draws ONE ne"},{"name":"generate_story_video","description":"Starts an AI Video Story EPISODE (stage 1 of 3): the engine writes the multi-scene episode from your idea, draws the OPENING PICTURE OF EVERY SCENE, and PARKS f"},{"name":"regenerate_story_frame","description":"Redraws ONE scene's opening picture of an episode parked at frames review (`story.stage: \"frames_review\"`), from the scene's own text, cast and continuity refer"},{"name":"change_story_scene","description":"CHANGES WHAT HAPPENS IN ONE SCENE of an episode parked at frames review and redraws its opening picture from the change. You pass a PLAIN SENTENCE ('the kid sho"},{"name":"remove_story_scene","description":"REMOVES one scene from an AI Video Story episode parked at frames review. The scene's VIDEO is never generated or charged, so the fire quote and charge drop by "},{"name":"fire_story_video","description":"FIRES a parked AI Video Story episode (stage 2 of 3): generates every kept scene's VIDEO from its reviewed picture. The paid step after review; nothing renders "},{"name":"render_story_video","description":"RENDERS an AI Video Story episode into its final delivered file (stage 3 of 3), after the scene videos are done. It is composed SERVER-side from the stored epis"},{"name":"generate_fake_text_video","description":"CREATES a fake-text video: a phone chat conversation that types itself out over a gameplay or green-screen background, every line read aloud in the voice you pi"},{"name":"generate_image_story","description":"CREATES an AI image story: a narrated script turned into a sequence of AI-generated images, read aloud with captions over it. Suited to facts, history, horror, "},{"name":"list_image_story_styles","description":"Lists aicut's authored image-story STYLES: named looks (a character, a rendering treatment, an art direction) that every scene of the video is drawn in. Free, i"},{"name":"list_social_accounts","description":"Returns the social accounts this aicut user has connected for publishing, with the id `prepare_post` takes, plus `connect_url`. WHEN: before any posting attempt"},{"name":"prepare_post","description":"Stages a post of one of this account's finished videos to one of its connected TikTok, YouTube or Instagram accounts and returns the post id `publish_post` take"},{"name":"publish_post","description":"SENDS a prepared post, or schedules it. THIS IS IRREVERSIBLE: the post goes out under the user's own name and nothing here can take it down. ASK THE USER FIRST,"},{"name":"get_post_status","description":"Returns what the PLATFORM says happened to a post, plus `post_id` once it is live and `fail_reason` when it is not. Statuses: `prepared` (staged, nothing sent),"},{"name":"review_post","description":"OPENS THE PUBLISH CARD RIGHT HERE for a post `prepare_post` has already staged: the user watches the actual video, sees the destination account, edits the capti"}],"toolCount":54,"toolsHash":"3e1f00a1ce59469bd83bfcf9ec79a0c498486e87a4a62bf97bb9b3facc59b8d6","serverName":"aicut","capabilities":["tools","resources","prompts"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T00:27:08.479Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":156,"error":null,"detail":{"tools":[{"name":"get_balance","description":"Returns the signed-in aicut account's token balance and plan tier. WHEN: before the first priced ask of a session, when the user asks what they have left, or af"},{"name":"list_models","description":"Returns the AI video, image and audio models this API can generate with: each model's exact parameters (names, allowed values, limits, defaults), the media inpu"},{"name":"get_recipe","description":"Returns a step-by-step recipe as text: `story-episode` (an AI Video Story episode, end to end), `starter-video`, `starter-image`, `starter-audio` (a first gener"},{"name":"generate_video","description":"Starts an AI video generation on the signed-in aicut account, puts the aicut card in front of the user and returns the new job's id immediately. It does NOT wai"},{"name":"get_video","description":"Returns the current state of one video generation: a SINGLE, IMMEDIATE read that waits for nothing. WHEN: only when you need one job's raw fields now (what it c"},{"name":"delete_video","description":"Deletes ONE video from the signed-in account's library: any of its own videos, in any state (finished, failed or still generating), exactly like the delete butt"},{"name":"list_videos","description":"Returns the signed-in account's videos, newest first, one page at a time (pass `cursor` from the previous `next_cursor` while `has_more` is true). WHEN: the use"},{"name":"upscale_image","description":"Increases an existing image's resolution and returns the new job's id immediately (it does NOT wait). Same image, more pixels. WHEN: the user asks to upscale, e"},{"name":"edit_video","description":"Takes a video and a description of what to change and generates the SAME clip with those changes applied (different characters, clothes, setting) while the came"},{"name":"upscale_video","description":"Increases an existing video's resolution (2x, 3x or 4x) and returns the new job's id immediately. It does NOT wait for the result and does not change the conten"},{"name":"extend_video","description":"Generates a NEW segment that continues an existing video from its final frame and returns the new job's id immediately; the result is the original clip with the"},{"name":"motion_control","description":"Takes a picture of a character and a reference video and generates a video of THAT character performing the reference's motion (a dance, a walk, a gesture). Ret"},{"name":"generate_lipsync","description":"Takes a picture of a person and an audio file and generates a video of THAT person speaking or singing the audio, lip-synced. Returns the new job's id immediate"},{"name":"upload_media_widget","description":"OPENS A FILE PICKER RIGHT HERE, in this conversation: the user presses a button, chooses a video OR PHOTO from their own computer and watches it upload, and the"},{"name":"upload_media","description":"Puts a VIDEO OR IMAGE FILE FROM THE USER'S OWN MACHINE onto their aicut account so the generation tools can use it (every other tool takes a URL). It returns an"},{"name":"confirm_upload","description":"Checks the file uploaded to an `upload_media` target and makes it usable. Returns the media `url` to pass to other tools, the file's size, its `kind` (`video` o"},{"name":"generate_image","description":"Generates an AI image on the signed-in aicut account and puts the aicut card in front of the user. It waits for the image server-side for as long as one request"},{"name":"get_image","description":"Returns the current state of one image generation: a SINGLE, IMMEDIATE read that waits for nothing. WHEN: only when you need one job's raw fields now (what it c"},{"name":"list_images","description":"Returns the signed-in account's images, newest first, one page at a time (pass `cursor` from the previous `next_cursor` while `has_more` is true). WHEN: the use"},{"name":"generate_audio","description":"Starts an audio generation on the signed-in aicut account, puts the aicut card in front of the user and returns the new job's id immediately. It does NOT wait f"},{"name":"get_audio","description":"Returns the current state of one audio generation: a SINGLE, IMMEDIATE read that waits for nothing. WHEN: only when you need one job's raw fields now (what it c"},{"name":"list_audio","description":"Returns the signed-in account's audio generations, newest first, one page at a time (pass `cursor` from the previous `next_cursor` while `has_more` is true). WH"},{"name":"list_voices","description":"The WHOLE voice catalogue: every voice aicut can speak with, across ElevenLabs (platform stock AND this account's cloned and custom voices) and OpenAI. Free, in"},{"name":"wait_for_generation","description":"Waits up to 15 seconds for an aicut generation to reach a terminal state, WITHOUT opening a card, and returns the compact status. SEVERAL ITEMS: quote each, ask"},{"name":"show_generation","description":"Shows an EARLIER aicut generation to the user again, in the aicut card: the video, image or audio itself, with what it cost and when it was made. WHEN: the user"},{"name":"analyze_video","description":"Starts an AI analysis of an existing video and returns the new analysis's id immediately (it does NOT wait). It reads the video and describes it in detail (what"},{"name":"get_analysis","description":"Returns the current state of one video analysis on the signed-in account, and its result once finished. WHEN: after `analyze_video`; poll every 5-10 seconds unt"},{"name":"list_analyses","description":"Returns the signed-in account's video analyses, newest first, one page at a time (pass `cursor` from the previous `next_cursor` while `has_more` is true). WHEN:"},{"name":"list_characters","description":"Returns the characters saved on this aicut account, newest first, one page at a time: `kind: \"uploaded\"` entries the user made from their own photos and `kind: "},{"name":"list_series","description":"Lists aicut's AI Video Story series (niches): episodic short-video formats that generate a whole multi-scene episode from one idea. BROWSING IS `browse_series`'"},{"name":"list_series_ideas","description":"Returns ONE series' CURATED preset ideas (the authored cards the webapp shows on its idea step). Free, instant, creates nothing. THIS IS NOT THE DEFAULT WAY TO "},{"name":"list_niches","description":"Lists aicut's trend-template niches: one-shot video formats made from a few answers (and sometimes a picture), each at one price. AI Video Story series are `lis"},{"name":"generate_from_niche","description":"Runs ONE niche on the signed-in account: starts the video, puts the aicut card in front of the user and returns the new job's id immediately. It does NOT wait f"},{"name":"browse_series","description":"PUTS THE SERIES CATALOGUE ON SCREEN as a grid of previews the user can look at and pick from, right in this conversation: each tile shows that series' 9:16 stil"},{"name":"list_trends","description":"Lists the AI-generated short-form videos aicut tracks as TRENDS: real TikTok videos, each in a published trend cluster (a niche: object-head drama, fruit drama,"},{"name":"get_recreate_brief","description":"For making a NEW, original video in a trend's format, never a copy of it, its script or its characters: returns ONE trend video's public row, the NICHE it belon"},{"name":"generate_cast","description":"Writes the CAST for an AI Video Story series (named characters, each with a role and a one-line description) as a DRAFT for the user to read. FREE: it spends no"},{"name":"generate_cast_portraits","description":"BUYS the portraits for a cast draft: one image generation per member that still needs a face, at the chosen image model's rate, then saves every member to the u"},{"name":"regenerate_cast_portrait","description":"Redraws ONE cast member's portrait (the same character, a new image) and attaches it to that member: ONE image generation, not a new cast. WHEN: the user dislik"},{"name":"describe_cast_member","description":"CHANGES ONE cast member into a different character: you pass a new one-line visual description, aicut rewrites the member's stored look from it and draws ONE ne"},{"name":"generate_story_video","description":"Starts an AI Video Story EPISODE (stage 1 of 3): the engine writes the multi-scene episode from your idea, draws the OPENING PICTURE OF EVERY SCENE, and PARKS f"},{"name":"regenerate_story_frame","description":"Redraws ONE scene's opening picture of an episode parked at frames review (`story.stage: \"frames_review\"`), from the scene's own text, cast and continuity refer"},{"name":"change_story_scene","description":"CHANGES WHAT HAPPENS IN ONE SCENE of an episode parked at frames review and redraws its opening picture from the change. You pass a PLAIN SENTENCE ('the kid sho"},{"name":"remove_story_scene","description":"REMOVES one scene from an AI Video Story episode parked at frames review. The scene's VIDEO is never generated or charged, so the fire quote and charge drop by "},{"name":"fire_story_video","description":"FIRES a parked AI Video Story episode (stage 2 of 3): generates every kept scene's VIDEO from its reviewed picture. The paid step after review; nothing renders "},{"name":"render_story_video","description":"RENDERS an AI Video Story episode into its final delivered file (stage 3 of 3), after the scene videos are done. It is composed SERVER-side from the stored epis"},{"name":"generate_fake_text_video","description":"CREATES a fake-text video: a phone chat conversation that types itself out over a gameplay or green-screen background, every line read aloud in the voice you pi"},{"name":"generate_image_story","description":"CREATES an AI image story: a narrated script turned into a sequence of AI-generated images, read aloud with captions over it. Suited to facts, history, horror, "},{"name":"list_image_story_styles","description":"Lists aicut's authored image-story STYLES: named looks (a character, a rendering treatment, an art direction) that every scene of the video is drawn in. Free, i"},{"name":"list_social_accounts","description":"Returns the social accounts this aicut user has connected for publishing, with the id `prepare_post` takes, plus `connect_url`. WHEN: before any posting attempt"},{"name":"prepare_post","description":"Stages a post of one of this account's finished videos to one of its connected TikTok, YouTube or Instagram accounts and returns the post id `publish_post` take"},{"name":"publish_post","description":"SENDS a prepared post, or schedules it. THIS IS IRREVERSIBLE: the post goes out under the user's own name and nothing here can take it down. ASK THE USER FIRST,"},{"name":"get_post_status","description":"Returns what the PLATFORM says happened to a post, plus `post_id` once it is live and `fail_reason` when it is not. Statuses: `prepared` (staged, nothing sent),"},{"name":"review_post","description":"OPENS THE PUBLISH CARD RIGHT HERE for a post `prepare_post` has already staged: the user watches the actual video, sees the destination account, edits the capti"}],"toolCount":54,"toolsHash":"3e1f00a1ce59469bd83bfcf9ec79a0c498486e87a4a62bf97bb9b3facc59b8d6","serverName":"aicut","capabilities":["tools","resources","prompts"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"get_balance","description":"Returns the signed-in aicut account's token balance and plan tier. WHEN: before the first priced ask of a session, when the user asks what they have left, or af"},{"name":"list_models","description":"Returns the AI video, image and audio models this API can generate with: each model's exact parameters (names, allowed values, limits, defaults), the media inpu"},{"name":"get_recipe","description":"Returns a step-by-step recipe as text: `story-episode` (an AI Video Story episode, end to end), `starter-video`, `starter-image`, `starter-audio` (a first gener"},{"name":"generate_video","description":"Starts an AI video generation on the signed-in aicut account, puts the aicut card in front of the user and returns the new job's id immediately. It does NOT wai"},{"name":"get_video","description":"Returns the current state of one video generation: a SINGLE, IMMEDIATE read that waits for nothing. WHEN: only when you need one job's raw fields now (what it c"},{"name":"delete_video","description":"Deletes ONE video from the signed-in account's library: any of its own videos, in any state (finished, failed or still generating), exactly like the delete butt"},{"name":"list_videos","description":"Returns the signed-in account's videos, newest first, one page at a time (pass `cursor` from the previous `next_cursor` while `has_more` is true). WHEN: the use"},{"name":"upscale_image","description":"Increases an existing image's resolution and returns the new job's id immediately (it does NOT wait). Same image, more pixels. WHEN: the user asks to upscale, e"},{"name":"edit_video","description":"Takes a video and a description of what to change and generates the SAME clip with those changes applied (different characters, clothes, setting) while the came"},{"name":"upscale_video","description":"Increases an existing video's resolution (2x, 3x or 4x) and returns the new job's id immediately. It does NOT wait for the result and does not change the conten"},{"name":"extend_video","description":"Generates a NEW segment that continues an existing video from its final frame and returns the new job's id immediately; the result is the original clip with the"},{"name":"motion_control","description":"Takes a picture of a character and a reference video and generates a video of THAT character performing the reference's motion (a dance, a walk, a gesture). Ret"},{"name":"generate_lipsync","description":"Takes a picture of a person and an audio file and generates a video of THAT person speaking or singing the audio, lip-synced. Returns the new job's id immediate"},{"name":"upload_media_widget","description":"OPENS A FILE PICKER RIGHT HERE, in this conversation: the user presses a button, chooses a video OR PHOTO from their own computer and watches it upload, and the"},{"name":"upload_media","description":"Puts a VIDEO OR IMAGE FILE FROM THE USER'S OWN MACHINE onto their aicut account so the generation tools can use it (every other tool takes a URL). It returns an"},{"name":"confirm_upload","description":"Checks the file uploaded to an `upload_media` target and makes it usable. Returns the media `url` to pass to other tools, the file's size, its `kind` (`video` o"},{"name":"generate_image","description":"Generates an AI image on the signed-in aicut account and puts the aicut card in front of the user. It waits for the image server-side for as long as one request"},{"name":"get_image","description":"Returns the current state of one image generation: a SINGLE, IMMEDIATE read that waits for nothing. WHEN: only when you need one job's raw fields now (what it c"},{"name":"list_images","description":"Returns the signed-in account's images, newest first, one page at a time (pass `cursor` from the previous `next_cursor` while `has_more` is true). WHEN: the use"},{"name":"generate_audio","description":"Starts an audio generation on the signed-in aicut account, puts the aicut card in front of the user and returns the new job's id immediately. It does NOT wait f"},{"name":"get_audio","description":"Returns the current state of one audio generation: a SINGLE, IMMEDIATE read that waits for nothing. WHEN: only when you need one job's raw fields now (what it c"},{"name":"list_audio","description":"Returns the signed-in account's audio generations, newest first, one page at a time (pass `cursor` from the previous `next_cursor` while `has_more` is true). WH"},{"name":"list_voices","description":"The WHOLE voice catalogue: every voice aicut can speak with, across ElevenLabs (platform stock AND this account's cloned and custom voices) and OpenAI. Free, in"},{"name":"wait_for_generation","description":"Waits up to 15 seconds for an aicut generation to reach a terminal state, WITHOUT opening a card, and returns the compact status. SEVERAL ITEMS: quote each, ask"},{"name":"show_generation","description":"Shows an EARLIER aicut generation to the user again, in the aicut card: the video, image or audio itself, with what it cost and when it was made. WHEN: the user"},{"name":"analyze_video","description":"Starts an AI analysis of an existing video and returns the new analysis's id immediately (it does NOT wait). It reads the video and describes it in detail (what"},{"name":"get_analysis","description":"Returns the current state of one video analysis on the signed-in account, and its result once finished. WHEN: after `analyze_video`; poll every 5-10 seconds unt"},{"name":"list_analyses","description":"Returns the signed-in account's video analyses, newest first, one page at a time (pass `cursor` from the previous `next_cursor` while `has_more` is true). WHEN:"},{"name":"list_characters","description":"Returns the characters saved on this aicut account, newest first, one page at a time: `kind: \"uploaded\"` entries the user made from their own photos and `kind: "},{"name":"list_series","description":"Lists aicut's AI Video Story series (niches): episodic short-video formats that generate a whole multi-scene episode from one idea. BROWSING IS `browse_series`'"},{"name":"list_series_ideas","description":"Returns ONE series' CURATED preset ideas (the authored cards the webapp shows on its idea step). Free, instant, creates nothing. THIS IS NOT THE DEFAULT WAY TO "},{"name":"list_niches","description":"Lists aicut's trend-template niches: one-shot video formats made from a few answers (and sometimes a picture), each at one price. AI Video Story series are `lis"},{"name":"generate_from_niche","description":"Runs ONE niche on the signed-in account: starts the video, puts the aicut card in front of the user and returns the new job's id immediately. It does NOT wait f"},{"name":"browse_series","description":"PUTS THE SERIES CATALOGUE ON SCREEN as a grid of previews the user can look at and pick from, right in this conversation: each tile shows that series' 9:16 stil"},{"name":"list_trends","description":"Lists the AI-generated short-form videos aicut tracks as TRENDS: real TikTok videos, each in a published trend cluster (a niche: object-head drama, fruit drama,"},{"name":"get_recreate_brief","description":"For making a NEW, original video in a trend's format, never a copy of it, its script or its characters: returns ONE trend video's public row, the NICHE it belon"},{"name":"generate_cast","description":"Writes the CAST for an AI Video Story series (named characters, each with a role and a one-line description) as a DRAFT for the user to read. FREE: it spends no"},{"name":"generate_cast_portraits","description":"BUYS the portraits for a cast draft: one image generation per member that still needs a face, at the chosen image model's rate, then saves every member to the u"},{"name":"regenerate_cast_portrait","description":"Redraws ONE cast member's portrait (the same character, a new image) and attaches it to that member: ONE image generation, not a new cast. WHEN: the user dislik"},{"name":"describe_cast_member","description":"CHANGES ONE cast member into a different character: you pass a new one-line visual description, aicut rewrites the member's stored look from it and draws ONE ne"},{"name":"generate_story_video","description":"Starts an AI Video Story EPISODE (stage 1 of 3): the engine writes the multi-scene episode from your idea, draws the OPENING PICTURE OF EVERY SCENE, and PARKS f"},{"name":"regenerate_story_frame","description":"Redraws ONE scene's opening picture of an episode parked at frames review (`story.stage: \"frames_review\"`), from the scene's own text, cast and continuity refer"},{"name":"change_story_scene","description":"CHANGES WHAT HAPPENS IN ONE SCENE of an episode parked at frames review and redraws its opening picture from the change. You pass a PLAIN SENTENCE ('the kid sho"},{"name":"remove_story_scene","description":"REMOVES one scene from an AI Video Story episode parked at frames review. The scene's VIDEO is never generated or charged, so the fire quote and charge drop by "},{"name":"fire_story_video","description":"FIRES a parked AI Video Story episode (stage 2 of 3): generates every kept scene's VIDEO from its reviewed picture. The paid step after review; nothing renders "},{"name":"render_story_video","description":"RENDERS an AI Video Story episode into its final delivered file (stage 3 of 3), after the scene videos are done. It is composed SERVER-side from the stored epis"},{"name":"generate_fake_text_video","description":"CREATES a fake-text video: a phone chat conversation that types itself out over a gameplay or green-screen background, every line read aloud in the voice you pi"},{"name":"generate_image_story","description":"CREATES an AI image story: a narrated script turned into a sequence of AI-generated images, read aloud with captions over it. Suited to facts, history, horror, "},{"name":"list_image_story_styles","description":"Lists aicut's authored image-story STYLES: named looks (a character, a rendering treatment, an art direction) that every scene of the video is drawn in. Free, i"},{"name":"list_social_accounts","description":"Returns the social accounts this aicut user has connected for publishing, with the id `prepare_post` takes, plus `connect_url`. WHEN: before any posting attempt"},{"name":"prepare_post","description":"Stages a post of one of this account's finished videos to one of its connected TikTok, YouTube or Instagram accounts and returns the post id `publish_post` take"},{"name":"publish_post","description":"Sends a post staged by `prepare_post`, or schedules it. Irreversible: the post goes out under the user's own name and cannot be taken down from aicut. It is for"},{"name":"get_post_status","description":"Returns what the PLATFORM says happened to a post, plus `post_id` once it is live and `fail_reason` when it is not. Statuses: `prepared` (staged, nothing sent),"},{"name":"review_post","description":"OPENS THE PUBLISH CARD RIGHT HERE for a post `prepare_post` has already staged: the user watches the actual video, sees the destination account, edits the capti"}],"package":null,"toolSurface":{"id":"ts_x6qsn97uwsjm","endpointId":"ep_8rkpv7etwj67","hash":"b9e177c2aa301bea1b8895849e3a84996a97eb32647d6319a2f5237e123035ab","toolCount":54,"serverName":"aicut","serverVersion":"1.0.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-08T14:22:02.316Z","lastSeenAt":"2026-10-10T12:28:32.603Z","observations":8,"toolNames":["get_balance","list_models","get_recipe","generate_video","get_video","delete_video","list_videos","upscale_image","edit_video","upscale_video","extend_video","motion_control","generate_lipsync","upload_media_widget","upload_media","confirm_upload","generate_image","get_image","list_images","generate_audio","get_audio","list_audio","list_voices","wait_for_generation","show_generation","analyze_video","get_analysis","list_analyses","list_characters","list_series","list_series_ideas","list_niches","generate_from_niche","browse_series","list_trends","get_recreate_brief","generate_cast","generate_cast_portraits","regenerate_cast_portrait","describe_cast_member","generate_story_video","regenerate_story_frame","change_story_scene","remove_story_scene","fire_story_video","render_story_video","generate_fake_text_video","generate_image_story","list_image_story_styles","list_social_accounts","prepare_post","publish_post","get_post_status","review_post"],"distinctSurfaces":2},"endpointFacts":[{"id":"ep_8rkpv7etwj67","url":"https://mcp.aicut.pro/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-08T07:24:36.700Z","auth":{"observedAt":"2026-10-08T07:24:37.279Z","authRequired":false,"scheme":null,"resourceMetadata":{"url":"https://mcp.aicut.pro/.well-known/oauth-protected-resource/mcp","resource":"https://mcp.aicut.pro/mcp","authorizationServers":["https://www.aicut.pro"],"scopesSupported":["creation:read","creation:write","social:publish"]},"authorizationServer":{"url":"https://www.aicut.pro/.well-known/oauth-authorization-server","issuer":"https://www.aicut.pro","grantTypesSupported":["authorization_code","refresh_token"],"codeChallengeMethodsSupported":["S256"],"tokenEndpointAuthMethodsSupported":["none"],"dynamicClientRegistration":true,"dpopSigningAlgValuesSupported":[],"clientIdMetadataDocumentSupported":null},"conformance":{"dpop":false,"rfc8414":true,"rfc9728":true,"pkceS256":true,"clientIdMetadataDocument":false,"dynamicClientRegistration":true}},"tls":{"observedAt":"2026-10-08T07:24:37.504Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"mcp.aicut.pro","issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validFrom":"2026-08-02T00:00:00.000Z","validTo":"2027-02-15T23:59:59.000Z","daysToExpiry":128,"sanCount":1,"fingerprint256":"A9:B7:76:31:01:86:7C:62:93:02:60:D9:24:E9:1B:80:90:7C:B8:28:3C:6C:5C:4E:14:C2:1F:B5:4F:6C:D7:3F"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"pro.aicut/aicut","url":"https://registry.modelcontextprotocol.io/v0/servers/pro.aicut%2Faicut","firstSeenAt":"2026-09-07T08:20:41.218Z","fetchedAt":"2026-10-08T19:19:59.280Z","normalizedAt":"2026-10-08T19:19:59.280Z"}]},"firstSeenAt":"2026-09-07T08:20:41.218Z","updatedAt":"2026-10-10T12:31:30.362Z"}