MCP tool reference

Every tool on Kuro's MCP server — 137 of them — with the inputs it takes, the scope it needs and a call to copy. Read from the server's own tools/list, last changed November 3, 2026.

Connect from Claude Code with:

claude mcp add kuro https://api.meetkuro.com/mcp --transport http

A connection holds OAuth scopes. A tool whose scope the grant lacks is refused when it is called; a personal access token holds every scope. Each tool's page also has a Markdown twin at its URL plus.md, and this index is at /agents/tools.md.

media.read

Reads the account: media, uploads, boards, runs, Subjects, models and the balance. 30 tools.

  • list_generations — List generations

    Search and page through the user's image, clip and audio generations.

  • get_generation — Get generation

    Get current status and signed media URL for one generation.

  • list_models — List models and their capabilities

    Read the full capability envelope for the models a room can run: aspect ratios, durations, resolutions, reference capacities, which inputs a model require…

  • get_credits — Get credit balance

    Use only the account's existing entitlements: when work is unavailable, explain the limit without offering purchases, upgrades, subscriptions or checkout…

  • get_usage — Get usage

    Read what the account spent and made in a week or month: credits, images, seconds of video and audio, and credits per model, with the comparable period be…

  • send_feedback — Send feedback to Kuro

    Tell Kuro's team when no tool can do what the user asked (missing_tool), a tool failed in a way its error did not explain (bug), a tool's behaviour was un…

  • get_account_context — Get account context

    Read what Kuro knows about the user before making anything: their name and language, what they optimize for when a model is picked (image_priority and cli…

  • get_benchmark — Get the model benchmark

    Which model to use for a job, in three tiers (best, middle, cheapest), priced for this account: credits per reference request, who pays (`paid_by`: one of…

  • get_upload_link — See what arrived through a link

    Read a link from request_upload_link: the files the user has sent through it so far, each with the `reference` the generate tools take, and whether it sti…

  • list_uploads — List uploads

    Page through the account's uploads alone, newest first — list_media mixes them with generations.

  • get_upload — Get upload

    Read one upload by id: its file, kind, status and freshly signed links (`url`, and `thumbnail_url` for a video's poster).

  • get_download_url — Get download URL

    A short-lived attachment URL for a ready generation or verified upload, on this server's own API host.

  • get_video_analysis — Read a video analysis

    Read an existing video analysis and its measured bundle without starting measurement or charging credits.

  • measure_video — Measure a video

    Measure an uploaded video so you can reverse-engineer its format: shot boundaries with real timestamps, one or more keyframe images per shot, a timed tran…

  • get_video_import — Read video imports

    Read one import's progress by import_id, or omit it to recover recent imports.

  • get_transcription — Read a transcription

    Read the transcript and status of existing work.

  • transcribe_media — Transcribe audio or video

    Get the spoken words out of any audio or video in the user's account, timed and attributed to speakers.

  • list_storyboards — List storyboards

    List the account's films, most recently edited first; `tags` narrows to the ones carrying every tag named.

  • get_storyboard — Get a storyboard

    Read a film: its settings, its cast, every scene by number with its prompts and the state of its still and its clip, each derived video with how many clip…

  • list_storyboard_templates — List storyboard templates

    The account's saved storyboard templates — a board's scenes and connections frozen with no media, to start the next film from.

  • list_voices — List saved voices

    The voices this account saved from a provider, newest first, each with the id to pass as generate_voiceover's voice, plus which providers this server can…

  • list_own_models — List own models

    The vendor models this account added to its own key (vendor, endpoint, modes, what each makes).

  • get_subject_performances — Read a performance bank

    Read the ordered reusable performance generations saved for a Subject.

  • list_subjects — List subjects

    The named identities this account reuses — a character, a location, a product, a prop, a wardrobe.

  • list_media — List reusable media

    List ready generations and verified uploads already in the user's account, newest first.

  • list_workflow_runs — List workflow runs

    Page through your workflow runs, newest first — every run of every recipe, or those of one recipe you own with `recipe_id`.

  • get_workflow_run — Get workflow run

    Read a workflow run, its recorded steps, generations, and current checkpoint.

  • list_share_links — List share links

    The live share links on one generation or upload — ids, ages, view counts and the settings the owner chose.

  • get_virality_prediction — Get virality prediction

    Read one prediction by id — the poll — or, with no id, list the account's predictions newest first (`archived: true` lists the archived ones).

  • get_skill — Get a skill

    Read how to do a multi-step job in Kuro (a film, a carousel, a talking head, a week of posts, a remake, a product demo).

generation.write

Makes, edits, imports, shares and deletes media in the account. 61 tools.

  • generate_image — Generate image

    Make an image in the user's Kuro account.

  • generate_clip — Generate clip

    Start a short video clip generation.

  • animate_image — Animate image

    Animate an existing image or upload into a clip.

  • generate_voiceover — Generate voice-over

    Start a voice-over generation from text.

  • generate_music — Generate music

    Start a music generation from a creative brief.

  • set_recipe_gallery — List a generation on its recipe's gallery

    Put a ready generation made with a recipe on that recipe's public gallery — the examples a reader sees under the recipe — or take it off with `listed: fal…

  • quote_generation — Quote a generation

    Price a request exactly, and compare it to the balance, without creating anything.

  • set_brand_note — Set the brand note

    Replace the user's brand note (at most 2000 characters): who they are, what they sell, their tone, colours and words to avoid.

  • set_preferences — Save the model priorities

    Save what matters most to the user when you pick a model, for images (image_priority) and for clips (clip_priority), each best (the strongest model for th…

  • create_upload — Start an upload

    Reserve an upload and get a presigned URL to PUT the bytes to.

  • complete_upload — Finish an upload

    Verify uploaded bytes against their declared size, type and checksum, and return the upload ready to bind to a generation.

  • import_media — Import media from a URL

    Fetch a file the client cannot upload itself and store it as an account upload.

  • request_upload_link — Ask for photos with a link

    Get a link the user taps to send pictures or videos from their own phone or computer straight into the account, with no setup and no sign-in.

  • update_upload — Update upload

    Name, describe, tag, favourite, archive or restore a verified upload.

  • delete_upload — Delete upload

    Permanently delete an upload and its bytes.

  • save_video_analysis — Save a video beat sheet

    Store your beat sheet for an analysed video.

  • import_video_url — Import a public video link

    Import one public YouTube, Facebook or TikTok video (up to 10 minutes and 250 MB) into the Library.

  • retry_video_import — Retry a video import

    Retry a failed or canceled import.

  • cancel_video_import — Cancel a video import

    Cancel an unfinished import.

  • loop_video — Loop a performance bank

    Rotate one to three owned 1–15 second video takes to a target duration, up to 30 minutes.

  • vectorize_image — Vectorize

    Convert a raster image — a logo, icon, or flat illustration — into crisp vector paths you can scale to any size without blur.

  • remove_image_background — Remove background

    Automatically remove the background from product shots, portraits, and generated images.

  • upscale_image — Upscale

    Crisp Upscale increases resolution and clarity, making an image sharper on screen and ready for print.

  • restore_photo — Restore photo

    Restore an old or damaged photo with FLUX Kontext — fix scratches, repair damage, and bring faded color back to life.

  • extract_video_frame — Extract a video frame

    Save the first or last decoded frame of an owned video as a new image generation.

  • trim_video — Trim a video

    Save one stretch of an owned video as a new clip, using a keyframe copy by default.

  • trim_audio — Trim audio

    Save one stretch of an owned voice-over, song or audio upload as a new WAV audio generation, cut to the sample.

  • change_video_voice — Change a video's voice

    Replace the speech voice in an owned clip with an ElevenLabs voice, saving a new generation using account entitlements.

  • join_clips — Join clips into one film

    Concatenate 2-20 images or clips, in the order given, into a single MP4 in the library.

  • add_captions — Burn captions into a clip

    Transcribe a clip's speech and burn social captions into it, as a new video in the library.

  • edit_image — Edit an image

    Change one thing about an image already in the account, keeping everything else.

  • regenerate_generation — Retry a failed generation

    Retry a generation that failed, on the same recipe.

  • update_generation — Update a generation's details

    Rename, describe, tag, favourite or rate a generation.

  • delete_generation — Delete a generation

    Permanently remove a generation and its media.

  • create_carousel — Create a carousel

    Render 2–20 pictures, in order, into one carousel: an image set in the library, one picture per page, each with at most one line of text and one inset (a…

  • generate_scene_images — Generate scene stills (also needs storyboards.write)

    Make the still pictures of the scenes you name.

  • animate_scenes — Animate scenes (also needs storyboards.write)

    Film the scenes you name, or every scene whose still is ready and whose clip is not.

  • cast_voice — Cast a voice from a face

    Read a portrait already in the account and return the voices that suit it, best first.

  • save_voice — Save, rename or remove a voice

    Save a provider's voice to the account by its id (provider + provider_voice_id, named by the provider unless you pass name), rename a saved one (voice_id…

  • image_to_prompt — Read a picture into a prompt

    Write the prompt that would make a picture like this one, for an image model (model_id, or one the picture suits).

  • add_own_model — Add an own model

    Add a vendor model to the account's own key.

  • update_own_model — Update or remove an own model

    Rename an own model, move it to what its vendor serves now (adopt_latest, after list_own_models with its id shows the update), or remove it (remove: true).

  • generate_with_own_model — Generate with an own model

    Run one of the account's own models on its own key: pick a mode (endpoint + slot from list_own_models), a prompt, files per media field as { generation_id…

  • save_subject_performances — Save a performance bank

    Save two or three distinct owned, ready 10–15 second video generations against a character Subject, replacing its previous bank.

  • create_subject — Create a subject

    Name an identity so it can be reused.

  • update_subject — Update a subject

    Change what a subject is or how it is described, bind the voice it speaks in, and push a new identity image onto it.

  • delete_subject — Delete subject

    Delete a Subject.

  • generate_with_recipe — Generate with guided recipe

    Create one image or clip with a guided recipe — an arm or reprompt recipe.

  • revise_guided_generation — Revise guided generation

    Create a new generation from the exact saved recipe snapshot, media, and settings, replacing the creative prompt and optionally the choices in response to…

  • start_recipe_run — Start recipe run

    Quote or start a workflow recipe.

  • resume_workflow_run — Resume workflow run

    Resume the current pause or checkpoint using its revision from get_workflow_run a workflow run.

  • cancel_workflow_run — Cancel workflow run

    Cancel a workflow run.

  • retry_workflow_run — Retry workflow run

    Pick a failed or canceled run up where it stopped, using its current revision from get_workflow_run.

  • rewind_workflow_run — Rewind workflow run

    Re-run a workflow run from an earlier step, using its current revision from get_workflow_run.

  • decide_workflow_items — Decide workflow items

    Answer an engine run paused on `items`: for every failed item the run is waiting on, retry it, edit its prompt and retry, or skip it.

  • record_run_step — Record run step

    Record the current result of an agent-driven workflow run, in score order.

  • create_share_link — Create share link

    Mint a public permalink for a ready generation, a verified upload, or a whole group.

  • revoke_share_link — Revoke share link

    Take a share link down for good.

  • predict_virality — Predict virality

    Score how a short video is likely to perform: a headline number and a timeline of attention, emotion and reward signals.

  • archive_virality_prediction — Archive virality prediction

    Put a prediction away, or bring it back with `archived: false`.

  • delete_virality_prediction — Delete virality prediction

    Delete a prediction for good.

recipes.read

Reads the public catalog and the account's own recipes. 6 tools.

  • get_recipe — Get recipe

    Get one recipe by id — a look or a guided recipe, with its recommended models, creative guidance, and media slots.

  • list_recipes — List recipes

    Search and page through the RECIPE catalog — templates that ask you questions and then make something.

  • list_presets — List styles

    Search and page through Style, Motion, Lighting and Framing presets.

  • get_preset — Get style

    Read one style in full — its reader-facing `description` and the `prompt_fragment` a provider receives.

  • get_own_recipe — Get own recipe

    Read one recipe you own, whole: the authored arrangement (`config`) on an arm row, the doctrine (`writer`) beside it on a reprompt row, or the private wor…

  • list_own_recipes — List own recipes

    Page through the recipes you authored, saved or remixed — your private shelf, which list_recipes never shows.

recipes.write

Writes the account's own recipes; every save is private. 7 tools.

  • create_recipe — Create recipe

    Author a private recipe from nothing.

  • save_recipe_from_generation — Save recipe from generation

    Turn a finished image or clip into a private recipe that makes more of it.

  • remix_recipe — Remix recipe

    Copy a catalog recipe you can read onto your own shelf, as it is today — a curator re-authoring the original later cannot change your copy.

  • update_recipe — Update recipe

    Change anything about a recipe you own — its words, its model set, its document, its medium or its kind.

  • set_recipe_cover — Set recipe cover

    Set a recipe's cover from a ready generation you made (an image for an image recipe, a clip for a video one — the clip's own poster is used), or remove it…

  • submit_recipe — Submit recipe

    Offer a recipe you own to the official catalog, or withdraw the offer with `submitted: false`.

  • delete_recipe — Delete recipe

    Permanently delete a recipe you own, its cover and its public page if it had one.

recipes.publish

Puts one of the account's own recipes on the public catalog under its author's byline. 1 tool.

  • publish_recipe — Publish recipe

    Put a recipe you own on the public wall under your byline, or take it down with `published: false`.

storyboards.write

Authors, edits, renders and deletes storyboards. Reading a board rides media.read, and the two board tools that spend need generation.write as well. 29 tools.

  • create_storyboard — Create a storyboard

    Make a film three ways: from a brief you have written as scenes, from media the account already holds, or from a video you have already analysed.

  • add_scene — Add a scene

    Add one scene to a film.

  • update_scene — Update a scene

    Change one scene by its 1-based number: title, description, image or motion prompt, length (or auto_duration where the clip model offers it), hold_motion,…

  • move_scene — Move a scene

    Move one scene to sit right after another (after_scene 0 puts it first).

  • delete_scene — Delete a scene

    Delete one scene by number.

  • set_scene_image — Set a scene's still

    Use an image the account already holds — a generation or an upload — as one scene's still, replacing the one it has.

  • set_scene_clip — Attach a clip to a scene

    Attach existing footage to one scene: an owned ready clip generation, a verified video upload, or a finished storyboard render.

  • connect_scenes — Connect two scenes

    Draw an arrow from one scene to another, by number — a branch or a convergence makes a second video path through the board.

  • disconnect_scenes — Disconnect two scenes

    Remove the arrow from one scene to another, by number.

  • add_storyboard_sound — Add a sound to a film

    Place ready audio the account already holds — a voice-over, music or an audio upload — on a film as a sound card.

  • update_storyboard_sound — Update a sound card

    Change one sound card, addressed by its number in the answer's sounds array or by id: where it starts, its source window, length or gain.

  • remove_storyboard_sound — Remove a sound card

    Take one sound card off a film, by its number in sounds or its id.

  • add_storyboard_note — Add a note to a film

    Put a sticky note on a film's canvas, optionally near a scene and in a color.

  • add_storyboard_text — Add text to a film

    Put a text element on a film's canvas — a title or body text — optionally near a scene.

  • update_storyboard — Update a film

    Change a film's own properties in one call; only the fields you send change.

  • update_storyboard_annotation — Update a note or text

    Change one note or text element on a film's canvas, by the [id] the brief prints (note_… or text_…): its words, a note's color, or a text's size.

  • remove_storyboard_annotation — Remove a note or text

    Take one note or text element off a film's canvas, by the [id] the brief prints (note_… or text_…).

  • generate_scene_images — Generate scene stills (also needs generation.write)

    Make the still pictures of the scenes you name.

  • animate_scenes — Animate scenes (also needs generation.write)

    Film the scenes you name, or every scene whose still is ready and whose clip is not.

  • render_storyboard — Render a storyboard

    Assemble a film's derived videos into MP4s.

  • export_storyboard_video — Export a rendered video

    Copy a finished film into the library as an ordinary clip, and get the file's link.

  • undo_storyboard — Undo on a storyboard

    Take back YOUR last gesture on a film, or redo the one you took back.

  • cancel_storyboard_work — Cancel a storyboard's work

    Stop what a film has in flight: every generation and render on the board, or one video's render when you name it.

  • delete_storyboard — Delete storyboard

    Delete a film for good — the board, its scenes, its history — and stop anything it is still rendering or filming.

  • continue_scene — Continue a shot into the next scene

    Give a scene a still that is the LAST frame of another scene's clip, so the next shot picks up exactly where the previous one ended.

  • match_scene_motion — Match a scene's source motion

    Cut the stretch of source video a scene was read from, so a clip model can be shown the original's camera and timing.

  • save_storyboard_template — Save storyboard as template

    Freeze a board's scenes, prompts, durations and connections into a named template.

  • apply_storyboard_template — Start a film from a template

    Make a new storyboard from a template: every scene and connection, unshot.

  • delete_storyboard_template — Delete storyboard template

    Delete a template.

social.read

Reads the connected social accounts and their posts. 3 tools.

  • list_social_accounts — List social accounts

    The TikTok, Instagram, YouTube and X accounts this reader connected, each with its status (`needs_reconnect` means posts to it will fail until the reader…

  • list_posts — List posts

    Read the social calendar.

  • get_social_insights — Read how posts did

    How the reader's published posts are doing: each post's latest views, likes, comments and shares per account (results), and, with timezone (an IANA zone,…

social.write

Drafts, schedules, edits and withdraws posts. 2 tools.

  • schedule_post — Schedule post

    With post_id and remove: true, remove a finished or canceled post from Kuro's calendar and Needs attention only.

  • write_caption — Write a caption

    Write a caption and hashtags for an image, clip or set already in the account (generation_id or upload_id), sized for the smallest of the platforms named,…

What a client is told when it connects

The server's instructions, sent at initialize, verbatim.

Kuro makes images, clips, voice-overs and music in the user's account.

1. Agree before spending. For an open idea, pitch 3-5 concepts, recommend one and wait; otherwise state the format (vertical 9:16 by default), model and price in one line. quote_generation prices a request or a whole plan and creates nothing.
2. A quick image comes back finished; get_generation waits for anything slower.
3. For a film, carousel, talking head, week of posts, remake or demo: get_skill first.
4. list_models(model_id) before a model's first use. Choose with get_benchmark for the task: it names the recipes made for the job (prefer one that fits) and the tier the account's priority for that kind selects. Images and clips each have one; none saved for the kind: at its first request ask once what matters most (best, balanced or lowest cost, with prices), then set_preferences (meanwhile an image takes the best tier, a clip waits). Each tier says who pays: the user's own key costs no credits. Not affordable: the best affordable tier, and say so.
5. Reuse before making: get_account_context for who the user is and what they make, list_subjects for a named person or thing, then list_media.
6. Retry a failure with regenerate_generation. Vary an idea by calling the generate tool again. Change one exact picture with edit_image.
7. A clip is one short shot. Longer motion: chain the last frame (extract_video_frame), then join_clips. Speech is the exception: lines of at most 15 seconds, each from the same portrait, never a chained frame.
8. Never offer purchases, upgrades or checkout links; explain a limit instead (a key the user already has can be connected in Settings). A key out of funds: ask, never switch payer yourself.
9. Link results as [Open in Kuro](app_url), using the URL exactly as returned.
10. Need a picture as a file (for a page or artifact)? get_download_url with as: image.
11. If no tool fits or a tool fails without a clear reason, call send_feedback, then tell the user.