Large Language ModelsGenerate videosGenerate images

Kling 3.0 MCP: Use Kling in Claude, Codex and the CLI

An honest look at Kling 3.0 MCP: which servers actually exist, how to register one in Claude Code and Codex CLI, how the three Kling v3 models differ, and how to run headless batches with multi-shot prompts, reference images and motion control.

Kling 3.0 MCP: Use Kling in Claude, Codex and the CLI
Cristian Da Conceicao
Founder of Picasso IA

You type one sentence into a terminal, and a few minutes later an MP4 lands in your project folder. That is the picture most people have when they search for Kling 3.0 MCP, and parts of it already work. Other parts need an honest caveat, because the phrase bundles three separate things: the Kling v3 video models, the Model Context Protocol, and the coding agents (Claude Code and Codex CLI) that call tools over it.

This article pulls them apart. You will see what each Kling v3 model does, how to register an MCP server in Claude Code and in Codex, how to run the same prompts headless from a shell, and how to write prompts that land on the first or second try. Where I could not verify something, I say so instead of guessing.

What Kling 3.0 MCP Really Means

MCP in Plain Terms

The Model Context Protocol is a standard way for an AI client to call outside tools. A client such as Claude Code or Codex CLI starts or connects to an MCP server, asks which tools it offers, and then calls them while it works. A video server usually exposes tools like "create a video", "check job status" and "fetch the file".

Servers come in two flavors. A stdio server is a local program: the client launches a command (often npx or uvx) and talks to it through standard input and output. An HTTP server is remote and normally wants a bearer token. Either way the setup is the same in spirit: a name, a command or URL, and the environment variables the server needs.

What Exists Today

Here is the situation as I could verify it while writing:

  • No official server from Kling. I did not find an MCP server published by Kling itself.
  • A third-party server. Public directories list mcp-kling, described as an MCP server for Kling AI video generation. The listing shows it launching with uvx mcp-kling and reading an ACEDATACLOUD_API_TOKEN variable. Read its README for the Kling versions it supports before you build on it.
  • The PicassoIA connector. It exposes four models: two for images and two for video, PicassoIA Video and Seedance 2.5 Lite. Kling v3 is not on that list, so you run it from its model page.

Putting the three routes side by side makes the trade-offs easier to see:

RouteSetupKling v3 accessBest for
Third-party mcp-klinguvx command plus an API tokenDepends on the server, check its READMEScripted runs from a terminal
PicassoIA connectorAdd the connector in your clientNot on the four model listQuick image and video work from a chat
PicassoIA model pageA browser and an accountAll three Kling v3 modelsTesting prompts and final renders

💡 Tip: Treat every MCP server as code that runs on your machine. Read the repository, pin a version, and keep tokens in environment variables, never inside a prompt.

Low angle view of a laptop terminal and coffee mug on a wooden desk at morning

The Three Kling v3 Models

Kling v3 is not one model on PicassoIA but three, and picking the right one saves most of the wasted runs.

ModelBest forMain inputsOutput
Kling v3 VideoText to video, first and last frame controlPrompt, start image, end image, multi-shot scriptUp to 15 s, 720p or 1080p
Kling v3 Omni VideoConsistent characters, editing an existing clipUp to 7 reference images, reference video3 to 15 s, 720p or 1080p
Kling v3 Motion ControlMaking a still character repeat real movementOne image plus one videoUp to 10 s or 30 s, 720p or 1080p

Wide view of a small video production office with an editing timeline on one monitor

Kling v3 Video

Kling v3 Video is the default choice. It turns a prompt into a clip of up to 15 seconds, in standard mode (720p) or pro mode (1080p). The prompt can run to 2,500 characters, and the negative prompt gets the same limit. You can pin the first frame with start_image and the last with end_image, or script up to six shots with multi_prompt. Native audio is off by default and switches on with generate_audio.

Kling v3 Omni Video

Kling v3 Omni Video adds references. Attach up to seven reference images (four when a reference video is present) to pin how a character, object or place looks, then call them inside the prompt with placeholders such as <<<image_1>>>. A reference video of 3 to 10 seconds works two ways: feature borrows style and camera movement, while base edits an existing clip from your written description.

Kling v3 Motion Control

Kling v3 Motion Control takes a still image of a character plus a reference video, then makes the character repeat the movement. Set character_orientation to image for clips up to 10 seconds that keep the pose of your picture, or to video for clips up to 30 seconds that follow the person in the footage. Reference videos can be MP4 or MOV up to 100 MB, and keep_original_sound decides whether their audio survives.

Connect Kling to Claude Code

Claude Code registers servers with claude mcp add. Everything after the double dash is the command that starts the server.

Add the Server

claude mcp add kling --env ACEDATACLOUD_API_TOKEN=$ACEDATACLOUD_API_TOKEN -- uvx mcp-kling

Expanding the variable in your shell keeps the secret out of the command you paste into chat or screenshots. The flag and variable names come from the directory listing, so confirm them against the server's own README.

Close view of hands typing on a laptop with a dark terminal on the screen

Check the Connection

Run claude mcp list to see every server and its status, or type /mcp inside a session. If Kling shows as failed, run the command after the double dash by hand in a plain terminal. Most failures come from a missing uvx install or a wrong token.

To share the setup with a team, add --scope project. Claude Code writes a .mcp.json file at the repo root, and you can reference the token as ${ACEDATACLOUD_API_TOKEN} so the secret never gets committed.

Once the server is green, ask for a clip in plain language:

Use the Kling tool to create a 5 second, 16:9 clip: a fishing boat leaving a foggy harbor at dawn, slow dolly-in, low engine hum. Poll until it finishes, then give me the file URL.

Connect Kling to Codex CLI

Codex CLI keeps its MCP settings in ~/.codex/config.toml. You can edit that file or let a command write it for you.

One Command Setup

codex mcp add kling --env ACEDATACLOUD_API_TOKEN=$ACEDATACLOUD_API_TOKEN -- uvx mcp-kling
codex mcp list

The syntax mirrors Claude Code: a name, optional --env pairs, a double dash, then the launch command. codex mcp list confirms the server was saved.

Edit config.toml by Hand

Each server is a [mcp_servers.<name>] table:

[mcp_servers.kling]
command = "uvx"
args = ["mcp-kling"]
env_vars = ["ACEDATACLOUD_API_TOKEN"]

Here env_vars names a variable to pass through from your shell. If you would rather store a value, use a [mcp_servers.kling.env] table instead, and keep that file out of version control. A project-local .codex/config.toml also works for projects you have marked as trusted. Remote servers use url and bearer_token_env_var in place of command.

Over the shoulder view of a developer reading command output on a wide monitor

Run Kling From the Command Line

Both agents are command line tools, so the same setup works without a chat window. That matters when you want twenty clips overnight instead of one at lunch. The agent is more than a launcher, too. It can turn a rough script into a shot list, check that the durations add up, retry a failed job, and name each output file after its prompt.

TaskClaude CodeCodex CLI
Add a serverclaude mcp addcodex mcp add
List serversclaude mcp listcodex mcp list
One shot runclaude -p "..."codex exec "..."
Config location.mcp.json or user config~/.codex/config.toml

Headless Runs

A headless run sends one instruction and exits. Pre-approve the Kling tools, or the tool call is refused because nobody is there to approve it:

claude -p "Read prompts/harbor.txt, make a 5 second Kling clip from it, wait until it finishes, and print the URL" --allowedTools "mcp__kling"
codex exec "Read prompts/harbor.txt, make a 5 second Kling clip from it, wait until it finishes, and print the URL"

Generation is slow, so plan around it. The example runs listed on the Kling v3 Video page took roughly 5 to 18 minutes each, and the Omni examples ran from about 2 to 10 minutes. Run clips one after another and log the output instead of watching it.

Laptop and a ceramic cup on a wooden kitchen table at dawn

Keep Prompts in Files

Put each prompt in its own text file and loop over the folder:

mkdir -p out
for f in prompts/*.txt; do
  claude -p "Make a Kling clip from $f and save the result URL to out/$(basename "$f" .txt).url" --allowedTools "mcp__kling"
done

Files give you history, review and reuse. A shot list for a multi-shot clip is just a small JSON file next to the prompt, and a diff shows exactly what changed between two takes.

Top down view of a desk with a laptop and a notebook of hand drawn storyboard frames

Write Prompts Kling v3 Obeys

A good Kling prompt reads like a shot description, not a wish. Name the subject, the action, the camera move, the light and, if audio is on, the sound. One idea per shot beats five ideas crammed into one.

Multi-Shot Scripts

Both Kling v3 Video and Kling v3 Omni Video accept a multi_prompt array. Each shot gets its own prompt and duration:

[
  {"prompt": "Wide shot of a fishing boat leaving a foggy harbor at dawn", "duration": 5},
  {"prompt": "Close-up of the captain's weathered hands on the wheel", "duration": 5},
  {"prompt": "Aerial shot of the boat heading into open water", "duration": 5}
]

You get at most six shots, each at least one second long, and the durations must add up to the clip's total duration. The three shots above total 15 seconds, so the total is set to 15.

Two colleagues pinning storyboard cards to a white wall

Reference Footage and Motion

For Kling v3 Motion Control, the reference video does most of the work. Film a short clip with your phone where the full body stays in frame, the camera stays still, and the movement is clean. Then pair it with a still image framed in a similar way. A close-up portrait and a full-body walk rarely match.

A young man filming reference footage with a camera on a tripod on a rooftop terrace

3 Common Mistakes

  1. Durations that do not add up. The model page states that the shot total must equal duration, so shots that sum to 12 seconds against a duration of 15 make the request invalid. Do the sum before you send it.
  2. Setting an aspect ratio with a start image. On Kling v3 Video the ratio is ignored once you supply start_image, because the clip follows the image.
  3. Audio plus a reference video. On Kling v3 Omni Video, generate_audio cannot be combined with a reference video. Use keep_original_sound for the footage instead.

💡 Tip: Draft every idea in standard mode first. It renders at 720p, so a weak prompt costs you a short wait instead of a pro mode run. Switch to pro for the take you intend to publish.

How to Use Kling v3 on PicassoIA

If you would rather skip the server setup, the model page runs the same engine with form fields instead of flags. Here is the path for Kling v3 Video:

  1. Open the model page and sign in to your account.
  2. Pick the mode. Standard gives 720p for drafts, pro gives 1080p for the final take.
  3. Write the prompt. Stay under 2,500 characters and follow the subject, action, camera, light and sound order.
  4. Set duration and aspect ratio. Choose 16:9, 9:16 or 1:1, and a length up to 15 seconds.
  5. Add frames if you need them. Upload a start image, and an end image if you want to pin the final frame.
  6. Paste a shot list into the multi-shot field when you want separate scenes.
  7. Switch on Generate Audio for ambient sound, and add a negative prompt for anything you want kept out.
  8. Generate and download the MP4 when the status turns to done.
SettingValuesWhen to change it
Modestandard (720p), pro (1080p)Draft in standard, publish in pro
DurationUp to 15 sShorter for tests, longer for final
Aspect ratio16:9, 9:16, 1:1Match the platform you publish on
Generate audioOn or off, default offTurn on for ambience and effects
Negative promptUp to 2,500 charactersRemove text, flicker or extra limbs

Close view of a video editor workstation with a paused frame of a hiker on a ridge

Make Your First Kling v3 Clip

Pick one small idea and run it today. Write a three shot script of five seconds each, send it to Kling v3 Video in standard mode, read the result, fix the weakest shot, and only then pay for pro. If you have a character image and a short piece of phone footage, try Kling v3 Motion Control next, and use Kling v3 Omni Video when the same character has to appear in several shots.

Want to stay inside Claude Code or Codex? The PicassoIA connector already includes PicassoIA Video and Seedance 2.5 Lite, so you can generate clips from the terminal today and keep Kling v3 for the shots that need its multi-shot control.

Keep a short notes file as you go. Next to each prompt, write the mode, the duration and one sentence on what worked. After ten clips you will have a personal prompt library that no template can match, and it drops straight into the prompts folder from the command line workflow above.

Open Picasso IA, pick a model, and make something. A clip you can watch will teach you more about prompting than any amount of reading.

Share this article