Skip to main content
Glama

Kleo

Server Details

Narrated 4K 60 fps films from a brief, realistic or animation, made from your assistant via MCP.

Ownership verified
Status
Healthy
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
tonnooooo/kleo-mcp
GitHub Stars
0

TDQS

A4.5/5.0

Scored across 10 tools

Disambiguation5/5

Each tool has a clearly distinct role: account info, prompt adaptation, storyboarding guidance, video creation, cancellation, progress checking, waiting, result retrieval, and template listing. Even the two progress-related tools (kleo_get_job and kleo_wait_for_video) are explicitly differentiated as one-off status vs. repeated polling.

Naming Consistency4/5

Almost all tools follow a consistent kleo_verb_noun pattern (adapt_prompt, cancel_job, create_video, get_job, get_result, list_templates, wait_for_video). Two exceptions are kleo_account and kleo_storyboard_guide, which use nouns instead of verbs, but the overall pattern remains highly recognizable.

Tool Count5/5

Ten tools fit the video-generation workflow perfectly: account management, two preparation steps, creation, cancellation, monitoring, waiting, result delivery, and template listing. No tool feels redundant or excessive for the stated purpose.

Completeness5/5

The lifecycle is fully covered: plan (adapt_prompt, storyboard_guide), create (create_video), monitor/cancel (get_job, wait_for_video, cancel_job), and deliver (get_result). Account and template queries are also supported, and even the unavailable thumbnail feature is clearly acknowledged with a stub.

Available Tools

10 tools
kleo_accountAccount and creditsA
Read-onlyIdempotent
Inspect

The credits left on this account, whether it can order a FILM (has_paid: films are for accounts that have bought a pack; every account can order the animatic), the link to its page, and the "Kleo key" that carries the same account (and the same credits) to another browser or another computer. Call it before the first kleo_create_video of a conversation and when the user asks how many credits they have, how to get more, or how to use Kleo somewhere else. Give them account_url as a plain link: it opens a read-only page (balance, prices, where to write) and cannot sign anybody in. Show account_key only if they ask for it, because anyone who has it can take the account over and spend its credits.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond annotations (readOnlyHint, idempotentHint), the description discloses that account_url is read-only and cannot sign anyone in, and that account_key grants full account takeover if exposed. These security and access implications are not in the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is detailed but every sentence earns its place: it lists return values, usage triggers, and critical handling notes in a logical order. The security warning is front-loaded with the key explanation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description fully covers the return fields and their semantics, plus when to call the tool and how to present results. An agent has all necessary context to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so there is nothing to document. The description instead clarifies the meaning of the return fields (has_paid, account_url, account_key), which is valuable given the absence of an output schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: it provides account credits, order eligibility, a link to the account page, and a transfer key. It distinguishes itself from siblings by focusing on account state rather than video creation or job management.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit guidance is given: call before the first kleo_create_video and when users ask about credits, how to get more, or cross-device usage. It also instructs how to handle sensitive output (show account_key only on request).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kleo_adapt_promptAdapt a video request into the film's treatmentA
Read-only
Inspect

Step 1 (recommended). Turns the user's request into the TREATMENT of the film: Kleo's producer reads the request, keeps every fact in it, and decides the angle, the opening image, the acts with their seconds, the ending, the visual language, the pacing, the narrator's register and the recurring motifs — and lists every decision it took that the user did not ask for. Two identical requests get two different treatments on purpose. It reads language, length and format off the request first and asks only for what is missing (the subject, the length) before spending anything. Nothing is charged and no GPU is rented; it spends a little of Kleo's daily planning quota, so call it once per video. Then tell the user the logline and the decisions, and pass the returned "treatment" object — unchanged, or edited as the user asked — to kleo_create_video. Without it Kleo writes a treatment itself while planning, and the user never sees it first.

ParametersJSON Schema
NameRequiredDescriptionDefault
toneNoThe tone the user asked for, when they said it.
musicNoThe user's answer about music, in their words: "no" (in any spelling) for none; "yes", or the kind they want (a mood, a genre, an instrument), for an instrumental track under the narration. Asked every time; pass their answer, never a guess.
styleNoThe look: "realistic" (filmed, cinematic) or "animation" (a 2D animated film). Read off the request when its words say it; otherwise the tool asks the user for it — pass their answer here.
authorNoWho writes the treatment. "assistant" (default): Kleo hands YOU the producer's method and you write it — you are a far stronger writer than Kleo's own planning model, and it costs nothing. "server": Kleo's model writes it (use only if you cannot write JSON yourself).assistant
formatNo16:9 for YouTube/landscape, 9:16 for a Short/TikTok/Reel. Read off the request when its words say it; otherwise the tool asks the user for it — pass their answer here, never a guess.
promptYesThe user's request in their own words.
audienceNoWho the video is for, when the user said it.
languageNoLanguage of the narration; detected from the request when omitted.
must_keepNoWhat the user said must appear (names, numbers, places, a message) or must not, when they answered that question.
subtitlesNoThe user's answer about burned-in subtitles: "yes" for thin cinema subtitles in the video, "no" for none (an .srt file is delivered either way). Asked every time; pass their answer, never a guess.
duration_sNoLength in seconds. Read off the request when its words say it; otherwise the tool asks the user for it — pass their answer here, never a guess.

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations (readOnlyHint=true) already indicate safety, but the description goes well beyond by disclosing cost ('Nothing is charged and no GPU is rented; it spends a little of Kleo's daily planning quota'), intentional nondeterminism ('Two identical requests get two different treatments on purpose'), and its interrogation behavior ('reads language, length and format off the request first and asks only for what is missing'). No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but justifiably so for a tool with 11 parameters and a complex workflow. It is front-loaded with the core purpose and step position, then flows logically into behavioral notes and handoff instructions. Every sentence adds information; there is no padding or repetition of schema content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (11 params, no output schema), the description fully covers the workflow: what it produces, how it behaves, what the caller must do with the result (tell the user logline and decisions, pass the treatment object to kleo_create_video), and the consequences of not using it. It also explains the author parameter's tradeoffs. Nothing an agent needs to invoke it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds value by clarifying the resolution strategy for several parameters: it reads language, length, format off the request and asks for missing ones, and for music, subtitles, and format it explicitly says to 'pass their answer, never a guess.' This goes beyond the schema's field descriptions and helps the agent use parameters correctly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('turns the user's request into the TREATMENT'), names the resource (the film treatment), and clearly distinguishes from siblings by labeling itself 'Step 1 (recommended)' and explaining its relationship to kleo_create_video. It also highlights a unique behavioral trait ('Two identical requests get two different treatments on purpose'), leaving no ambiguity about its role.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly gives when-to-use guidance ('Step 1', 'call it once per video'), what to do with the output ('pass the returned treatment object ... to kleo_create_video'), and what happens if skipped ('Kleo writes a treatment itself while planning, and the user never sees it first'). It also provides a conditional alternative for the author parameter ('use only if you cannot write JSON yourself').

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kleo_cancel_jobCancel a videoA
DestructiveIdempotent
Inspect

Cancels a video that is waiting or rendering. The credits are given back in full if it had not started, otherwise in proportion to the work left. A finished, failed or already cancelled video cannot be cancelled.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYesThe video number returned by kleo_create_video.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already signal destructiveness and non-read-only behavior, and the description adds meaningful context beyond them: credit refund policy (full vs. proportional) and terminal states that make cancellation impossible. This gives the agent useful expectations about side effects and failure cases without contradicting the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, each carrying necessary information: what the tool cancels, the financial consequence, and the non-cancellable states. The most important action is front-loaded, and there is no filler or repetition of the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter cancellation tool with no output schema, the description covers the essential context: eligibility, credit impact, and invalid targets. The only minor gap is that it does not describe what the response looks like after a successful cancellation, but that is not critical given the tool's simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already fully documents the only parameter, job_id, including where it comes from ('returned by kleo_create_video'). The description adds no additional parameter semantics, but with 100% schema coverage, the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource ('Cancels a video') and narrows the scope to videos 'waiting or rendering,' which clearly distinguishes it from sibling tools like kleo_get_job and kleo_create_video. It also states the intended effect in concrete terms, so an agent can determine what this tool does without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear conditions for use: only waiting or rendering videos can be cancelled, and finished, failed, or already cancelled videos cannot be. It does not explicitly name an alternative tool, but the when/when-not guidance is concrete enough that an agent knows whether to attempt cancellation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kleo_create_videoCreate a videoAInspect

Step 3. ASK FIRST, THEN CALL. Do not call this until the user has said, in their own words, what the video should be about. If the subject is YOUR idea and not theirs — you suggested a topic, or you filled a vague request in with your own guess — stop and ask them, and wait for the answer. A render spends a credit they cannot get back once it starts and takes about twenty minutes, so a video nobody asked for is not a fast answer, it is a wasted one. When their request is short but clear ("a Short about pirates"), that is enough: do not interrogate them. When it is missing the subject entirely, ask for the subject and nothing else. Starts rendering, in the chosen look (realistic or animation), either the FILM — every shot generated as moving footage from its own frame, narrated, 4K 60 fps; for accounts that have bought a credit pack (kleo_account → has_paid) — or the ANIMATIC of the same storyboard (product: "animatic": the drawn frames with the camera moving over each one, same narrator and layer, no generated clip; 5 credits flat, up to 60 seconds, every account) — from a prompt, a length, a format and the user's two answers about music and subtitles (plus your storyboard from kleo_storyboard_guide, if you wrote one). The price follows the length for a film (1 credit buys 2 seconds of film, 10 credits minimum: 15 credits for a 30-second Short, 30 for a minute, 150 for five minutes; an animatic of the same storyboard (the drawn frames with camera moves and the narration, no generated clip, up to 60 seconds) costs 5 credits flat); the tool answers with the exact credits before anything is charged, and a render takes 25-35 minutes on a rented GPU (an animatic fifteen to twenty). Returns at once with the video number (job_id), the estimated minutes (eta_min) and the credits used; the render runs on a GPU in the background. Tell the user the number and the estimate, then offer to check progress with kleo_get_job. If the tool returns an error, nothing was charged: fix what it says and call again.

ParametersJSON Schema
NameRequiredDescriptionDefault
musicNoThe user's answer about music, exactly as you passed it to kleo_adapt_prompt: "no" (or null) for none; "yes" or the kind they want for an instrumental track under the narration (the treatment's "music" brief is used when it has one). Kleo orders the track from kie.ai and ducks it under the voice.
styleNoThe look: "realistic" (cinematic live action) or "animation" (a 2D animated film); both narrated; every shot starts as one frame drawn in that look — a generated clip in the film, a camera move over the frame in the animatic. Pass the treatment's "look"; when omitted the treatment decides, and realistic when nothing says.
voiceNoVoice id from kleo_list_templates (narrator-en-m, narrator-en-f, narrator-it-m, narrator-it-f). The engine ids used inside a storyboard (am_michael, af_heart, bf_emma, im_nicola, if_sara) are accepted too. Optional.
formatYes16:9 for YouTube/landscape, 9:16 for a Short/TikTok/Reel, as the user said or answered it. Required: Kleo never picks a frame for the user.
promptYesWhat the video is about, IN THE USER'S OWN WORDS (8 to 4000 characters): topic, angle, facts, names, tone, anything that must appear on screen. If you are about to write this field out of an idea of your own, that is the sign to ask them instead: the credit and the twenty minutes are theirs, so the subject has to be theirs too.
productNoWhat to make from the storyboard: "film" (default; every shot a generated clip, priced by length, for accounts that have bought a credit pack) or "animatic" (the same drawn frames with the camera moving over each one, the same narrator and layer, 4K 60 fps, no generated clip; 5 credits flat, up to 60 seconds, every account). Say which one you are ordering to the user before you call.
languageNoVoice and caption language. A storyboard you pass must declare this same language.en
templateNoOptional; the only one is "film" (realistic or animated, 16:9 for YouTube or 9:16 for Shorts; 15 to 300 seconds for a film, 15 to 60 for an animatic). Omit it.
subtitlesNoThe user's answer about burned-in subtitles: true/"yes" for thin cinema subtitles in the picture, false/"no" for none. An .srt file is delivered either way.
treatmentNoThe treatment object kleo_adapt_prompt returned for this request, unchanged or edited as the user asked (logline, angle, device, opening, ending, acts, visual, pacing, narrator, motifs, decisions, prose, variation). Kleo plans the direction and every scene under it. Checked before anything is charged; on error the tool lists the problems. Omit it and Kleo writes a treatment itself while planning — the user just never sees it first.
duration_sYesLength in seconds, as the user said or answered it (kleo_adapt_prompt asks when the request does not say). Required: Kleo never picks a length for the user.
storyboardNoOptional but recommended: the storyboard you wrote following kleo_storyboard_guide (a Keou project object without id, script_file, music_quiet or image scenes). IT MUST INCLUDE THE "direction" BLOCK the guide asks for first — a storyboard without one is refused, because the direction is what keeps a character the same person across shots and gives every scene the colour of its section. Its format and language must equal the ones you pass here, and its voice must belong to that language. When omitted entirely, Kleo plans the whole storyboard, direction included, from the prompt. Checked before anything is charged; on error the tool lists the problems so you can fix them and call again.
notify_emailNoOptional: email the download links when the render finishes.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes far beyond the sparse annotations: it discloses that a render spends a non-refundable credit, takes 25–35 minutes, runs on a rented GPU in the background, returns job_id/eta_min/credits, charges nothing on error, and that animatics have a flat 5-credit cost. This rich behavioral context is genuinely useful for an agent deciding whether and how to invoke the tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single dense wall of text with heavy redundancy: film and animatic definitions and pricing are repeated nearly verbatim, and many parentheticals restate schema content. It is front-loaded with the critical ask-first rule, but it is not concise; several sentences could be trimmed or converted to structured bullets without losing information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 13 parameters, nested objects, and no output schema, the description is exceptionally complete. It covers return shape, cost, timing, error behavior, user consent prerequisites, storyboard requirements, pricing rules, and the follow-up sibling tool. Nothing essential for correct invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents each parameter thoroughly. The description adds value by linking parameters to workflow decisions—e.g., prompt must be in the user's own words, product choice affects pricing, storyboard must include the direction block, and the render's cost depends on duration and product. This is a meaningful increment over the individual schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool starts rendering a video (film or animatic) from a prompt, length, format, and user preferences, naming the exact deliverable and workflow. It distinguishes itself from siblings by explicitly handing off to kleo_get_job for progress checks and referencing kleo_adapt_prompt and kleo_storyboard_guide as upstream tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit when-to-call and when-not-to-call guidance: 'Do not call this until the user has said, in their own words, what the video should be about.' It also states that short clear requests are sufficient, that missing subjects should be asked for, and that after calling, the agent should offer kleo_get_job to check progress.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kleo_generate_thumbnailGenerate thumbnails (coming soon)AInspect

Not available yet in this beta: every finished video already comes with a thumbnail (see kleo_get_result). Calling this only records the request and returns a notice; do not promise extra thumbnails to the user.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idNoA finished video to take frames from.
promptNoOr describe the thumbnail you want.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Although annotations include openWorldHint and no destructive hint, the description reveals the critical behavioral truth: this is a no-op placeholder that only records the request and returns a notice. This goes well beyond what the annotations convey and prevents false expectations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three compact sentences, with the most important caveat ('Not available yet') front-loaded. Every sentence contributes essential guidance and there is no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a beta stub with two optional parameters< no output schema, and clear annotations, the description fully covers behavior, expectations, and the correct alternative. An agent has enough context to avoid misleading the user.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already fully documents both parameters with 100% coverageikuha, so the description need not repeat them. It indirectly implies the parameters will not produce a thumbnail, but it does not add per-parameter details beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The first sentence immediately states this tool is unavailable and that finished videos already have thumbnails via kleo_get_result. The description also clarifies that calling it only records the request and returns a notice, so an agent understands this is a stub rather than the generation tool its title implies.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly warns not to promise extra thumbnails and directs users to kleo_get_result for the existing thumbnail. This gives clear when-to-use and when-not-to-use guidance, plus a named alternative sibling.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kleo_get_jobCheck progressA
Read-onlyIdempotent
Inspect

Step 4. Progress of a video: state (queued, starting, rendering, finishing, done, failed, cancelled), what it is doing now, percent done and minutes left (eta_min). Use it for a one-off status check; to wait until the video is ready use kleo_wait_for_video instead. When the state is done, call kleo_get_result. Without a job_id it lists the account's recent videos.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idNoThe video number returned by kleo_create_video (for example gt_ab12cd34). Omit to list recent videos.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and idempotentHint=true, covering the safety profile. The description adds useful behavioral context beyond annotations: the exact state values, the fact that it reports current activity and ETA, and the special case of listing recent videos when job_id is omitted. It does not detail potential error conditions, but for a read-only query tool this is sufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but efficient, front-loading the core purpose and output fields. The opening 'Step 4.' is a minor noise element that references a workflow step but does not add actionable information; otherwise every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one optional parameter and no output schema, the description adequately covers what the agent needs: state values, progress details, the alternative tool for waiting, and the next step (kleo_get_result). It omits edge cases like error handling, but these are not critical for a read-only status check.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description for job_id already includes the 'Omit to list recent videos' behavior, so the tool description adds no new semantics beyond what the schema provides. With schema coverage at 100%, the description correctly relies on the schema and does not need to repeat or expand parameter details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: checking the progress of a video, enumerating the specific state values and output fields (percent done, eta_min). It distinguishes itself from siblings by name (kleo_wait_for_video and kleo_get_result) and explicitly describes the alternate behavior when no job_id is provided (listing recent videos).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is explicitly scoped: 'Use it for a one-off status check; to wait until the video is ready use kleo_wait_for_video instead. When the state is done, call kleo_get_result.' It also clarifies the optional job_id behavior. This leaves no ambiguity about when to select this tool over alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kleo_get_resultGet download linksA
Read-onlyIdempotent
Inspect

Step 5. Download links for a finished video (film or animatic): the MP4, the thumbnail and the subtitles as an .srt file (burned-in subtitles and the music track, when the user asked for them, are inside the MP4).

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYesThe video number returned by kleo_create_video.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish readOnlyHint and idempotentHint, so the tool's safety is known. The description adds valuable behavioral context beyond the annotations by detailing the composition of the response (MP4, thumbnail, subtitles, and their contents), which helps the agent anticipate what it receives.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, tightly structured sentence that front-loads the purpose ('Step 5. Download links') and packs all necessary details without redundancy. Every phrase contributes to clarity, and it avoids unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter, read-only tool with no output schema, the description is fully sufficient. It explains when to use it (finished video), what it returns (all link types and their contents), and relies on annotations for safety. Nothing needed to invoke it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single parameter job_id, and the description repeats the same context ('the video number returned by kleo_create_video') without adding new semantics. Per calibration, the baseline 3 applies when the schema fully documents the parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: retrieving download links for a finished video (film or animatic). It specifies the exact artifacts (MP4, thumbnail, .srt) and explains that burned-in subtitles and music are inside the MP4 when requested. This distinguishes it from sibling tools like kleo_get_job (status) or kleo_wait_for_video (waiting).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description opens with 'Step 5.' and explicitly says 'for a finished video', making it unambiguous that this tool is used after video creation and completion. It doesn't name alternative tools, but the step context and condition clearly route the agent to this tool at the right time.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kleo_list_templatesList the template and the two productsA
Read-onlyIdempotent
Inspect

Lists Kleo's one template, film (realistic or animation look, 16:9 or 9:16, 15-300 s), and its two products: the film (every shot a generated clip, priced by length, for accounts that have bought a credit pack) and the animatic (the same drawn frames with camera moves, 5 credits flat, up to 60 s, every account). Music and burned-in subtitles are options in both: the user is always asked and gets them only when they say yes.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and idempotentHint=true, so there is no safety contradiction. The description adds meaningful behavioral context beyond annotations: pricing models for each product, credit-pack prerequisites, duration limits, and the fact that music/subtitles are opt-in only when the user confirms.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one dense sentence, but every clause carries needed product distinctions and behavior. It is front-loaded with the resource name and list intent; only minor restructuring could make the pricing and options list easier to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a parameterless list tool whose safety profile is carried by annotations, this description is complete: it names the items being listed, their variants, pricing, length limits, and optional add-ons. An agent has enough context to invoke it and interpret its results without additional schema or output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters and 100% description coverage, so there is nothing for the description to clarify about arguments. Per rubric, zero-parameter tools get a baseline 4; the description appropriately focuses on output content instead.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Lists Kleo's one template...' and enumerates the exact resource and its subitems: the film and animatic products, including formats, durations, and pricing. This goes well beyond the title and clearly separates this informational tool from sibling tools like kleo_create_video or kleo_get_job.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The content makes it obvious this is the discovery/lookup tool for Kleo's template and product options, but it never explicitly states when to call it versus alternatives or names exclusions. Usage is implied by the list semantics rather than stated as guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kleo_storyboard_guideStoryboard guide (write your own video)A
Read-onlyIdempotent
Inspect

Step 2 (recommended). Returns how to write a storyboard Kleo renders, in the order it should be written: first the DIRECTION of the film (subject, goal, audience, tone, the facts from the request that the narration must still say, the world it is drawn in, what must never appear, and one accent colour per section), then the scene and shot shapes, the limits Kleo enforces before anything is billed, and one worked example. Kleo has two looks, realistic and animation; in both every shot starts as one frame drawn in that look — in the film it becomes a generated clip, in the animatic the camera moves over the frame — so the same storyboard serves both products. Call it once per conversation, before kleo_create_video. Without a storyboard Kleo plans a more generic one from the prompt.

ParametersJSON Schema
NameRequiredDescriptionDefault
styleNoThe look: "realistic" (filmed) or "animation" (a 2D animated film); in both every shot is generated footage from its own frame, under the narration. Realistic when omitted.
formatNoThe frame the video will be in. The explainer authors its drawings in the frame's own pixels, so its guide prints different coordinates for 9:16 and 16:9; the template's own format is used when this is omitted.
templateNoOptional: Kleo uses the only active workflow, film.
duration_sNoTarget length in seconds, if the user chose one.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint and idempotentHint, and the description is consistent with those. It adds substantial context beyond the annotations: the order in which the storyboard must be written, billing limits Kleo enforces, the fact that the same storyboard serves both looks, and the once-per-conversation guidance.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but dense: each clause contributes operational detail such as ordering, billing limits, one worked example, and once-per-conversation usage. The key workflow instruction is front-loaded as 'Step 2 (recommended)', making it easy for an agent to parse the most important guidance first.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only guide with no output schema, the description thoroughly covers what the returned guide contains, the order in which to write it, the limits Kleo enforces, and the two visual styles. It also anchors the tool in the workflow relative to kleo_create_video, so an agent has everything needed to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds useful context for the `style` parameter by explaining the two looks and that the same storyboard serves both the film and animatic. It does not add syntax details for `format`, `template`, or `duration_s`, but those are already well documented in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource ('Returns how to write a storyboard Kleo renders') and clearly distinguishes this guide from kleo_create_video by positioning it as Step 2. The enumerated content scope (direction, scene/shot shapes, limits, worked example) removes any ambiguity about its role.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly states when to call it ('Step 2 (recommended)', 'Call it once per conversation, before kleo_create_video') and explains the consequence of not using it ('Kleo plans a more generic one from the prompt'). It does not explicitly name an alternative tool to use instead, but the workflow placement is clear and actionable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kleo_wait_for_videoWait for the video (keeps the chat working until it is ready)A
Read-onlyIdempotent
Inspect

Step 4b. Waits up to max_wait_s seconds (default 50) for a video and returns either the download links (when done) or its progress. THIS IS HOW YOU DELIVER A VIDEO WITHOUT ASKING THE USER TO COME BACK: after kleo_create_video, call kleo_wait_for_video again and again, one call after the other, until it returns the links (a Short usually needs 15–25 calls, a long video more). Do not stop after a few calls and do not ask the user whether to continue; only stop if the user asks you to, or if the result says the video failed or was cancelled. Say once that the render is running and how long it should take, then keep calling silently and finally hand over the links.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idNoThe video number from kleo_create_video. Omit to wait for your most recent video.
max_wait_sNoHow long this call may wait before reporting progress, in seconds. Leave it empty: Kleo picks a safe value for your client (45 s for ChatGPT and Grok, 170 s for Claude, 5 minutes for OpenCode).

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes beyond annotations by disclosing the polling nature of the tool, the expected number of calls (15–25 for Shorts), and the interaction pattern (silent repeated calls). It also clarifies when to stop, which is critical behavioral context that annotations do not cover.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but efficient, front-loading the core purpose and then providing essential usage loop instructions. Every sentence contributes actionable guidance, and the structure flows logically from what to do to how to do it.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is complete for an agent: it covers when to use, how to call repeatedly, how to handle progress, when to stop, and what to expect (links or progress). It also mentions failure/cancellation handling, making it self-contained for correct usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

While schema coverage is 100%, the description adds practical advice on the max_wait_s parameter (recommending to leave it empty and providing client-specific defaults). This adds meaning beyond the schema, though job_id is already well-described.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: it waits for a video to be ready and returns download links or progress. It distinguishes itself from siblings by explicitly tying it to the creation workflow and positioning it as the polling mechanism for delivering videos.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage guidance: it instructs the agent to call this tool repeatedly after kleo_create_video until links are returned, and to avoid stopping or asking the user unless the user requests it or failure/cancellation occurs. This is a clear 'when and how to use' directive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 10 tool updates
    • First observedkleo_account
    • First observedkleo_adapt_prompt
    • First observedkleo_cancel_job
    • First observedkleo_create_video
    • First observedkleo_generate_thumbnail
    • First observedkleo_get_job
    • First observedkleo_get_result
    • First observedkleo_list_templates
    • First observedkleo_storyboard_guide
    • First observedkleo_wait_for_video

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.