Kleo
Server Details
Narrated 4K 60 fps films from a brief, realistic or animation, made from your assistant via MCP.
The last two health checks of this connector failed. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.
If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.
- Status
- Unhealthy
- Uptime
- 73.2% over 42 days
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- tonnooooo/kleo-mcp
- GitHub Stars
- 0
TDQS
Scored across 12 tools
Tools are largely distinct, each targeting a specific phase like account, adapt, storyboard, create, monitor, or result. However, kleo_get_job, kleo_wait_for_video, and kleo_get_result overlap in reporting progress and returning download links, which could cause misselection. Descriptions mitigate this by prescribing usage patterns, but the boundary is not perfectly crisp.
All tools use the kleo_ prefix and snake_case, which is highly predictable. Minor deviations exist: kleo_account and kleo_storyboard_guide are noun phrases while most are verb_noun, and kleo_redeem is a bare verb. Still, the convention is consistent enough for easy identification.
12 tools fit the video generation lifecycle well, covering account, prompt adaptation, storyboard, creation, monitoring, results, cancellation, and references. No tool feels redundant except the non-functional kleo_generate_thumbnail, but its inclusion as a beta placeholder is documented and doesn't inflate the set unreasonably.
The surface covers the full lifecycle from account and credits through prompt adaptation, storyboard guidance, reference upload, video creation, job monitoring, result retrieval, and cancellation. No obvious gaps for the core workflow; even listing past videos is handled by kleo_get_job without a job_id. The only unavailable tool (generate_thumbnail) is explicitly documented as not yet functional, so it doesn't create a dead end.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- Changed
kleo_adapt_prompt1 field changed- changed
Input schema / properties / product / descriptionPrevious value: -"The user's answer to the question film or animatic, which the tool asks with this account's prices: \"film\" (every shot a generated clip, for accounts that have bought a pack) or \"animatic\" (the drawn frames with camera moves, 5 credits flat, up to 60 seconds). Never a guess."New value: +"The user's answer to the question film or animatic, which the tool asks with this account's prices: \"film\" (every shot a generated clip, for accounts that have bought a pack) or \"animatic\" (the drawn frames with camera moves, 5 credits up to 20 seconds, 10 up to 60 seconds). Never a guess."
- Changed
kleo_create_video1 field changed- changed
Input schema / properties / product / descriptionPrevious value: -"The product the user chose in the intake (kleo_adapt_prompt asks it, with the prices): pass it. What 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."New value: +"The product the user chose in the intake (kleo_adapt_prompt asks it, with the prices): pass it. What 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 up to 20 seconds, 10 up to 60 seconds, every account). Say which one you are ordering to the user before you call."
- Added
kleo_redeem
1 tool update
- Changed
kleo_create_video1 field changed- changed
Input schema / properties / music / descriptionPrevious value: -"The 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."New value: +"The 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 has the track composed by Suno and ducks it under the voice."
2 tool updates
- Changed
kleo_adapt_prompt1 field changed- added
Input schema / properties / ai_upscaleAdded value: +{ + "description": "The user's answer to the AI upscale question, in their words (\"yes\" / \"no\"): asked for a film only, with its price in extra credits. Only a clear yes buys it; \"no\", \"whatever\" or no answer means the classic 4K 60 fps finish. Never a guess.", + "maxLength": 80, + "type": "string" +}
- Changed
kleo_create_video1 field changed- added
Input schema / properties / ai_upscaleAdded value: +{ + "anyOf": [ + { + "type": "boolean" + }, + { + "maxLength": 80, + "type": "string" + } + ], + "description": "The user's answer to the AI upscale question kleo_adapt_prompt asked (film only): \"yes\" for Real-ESRGAN + RIFE on every shot, at the extra credits the intake quoted (refunded automatically if the finish cannot apply it); \"no\", or omitted, for the classic 4K 60 fps finish." +}
3 tool updates
- Changed
kleo_adapt_prompt4 fields changed- changed
Input schema / properties / language / descriptionPrevious value: -"Language of the narration; detected from the request when omitted."New value: +"The user's answer to the question about the narration's language, in their words (\"en\", \"English\", \"italiano\"…): Kleo narrates in English or Italian, and \"whatever\" / \"no preference\" means English. Asked every time the request does not say it: pass their answer, never a guess, and never the language they write to you in." - removed
Input schema / properties / language / enumRemoved value: -[ - "en", - "it" -] - added
Input schema / properties / language / maxLengthAdded value: +40 - added
Input schema / properties / productAdded value: +{ + "description": "The user's answer to the question film or animatic, which the tool asks with this account's prices: \"film\" (every shot a generated clip, for accounts that have bought a pack) or \"animatic\" (the drawn frames with camera moves, 5 credits flat, up to 60 seconds). Never a guess.", + "enum": [ + "film", + "animatic" + ], + "type": "string" +}
- Changed
kleo_create_video2 fields changed- changed
Input schema / properties / language / descriptionPrevious value: -"Voice and caption language. A storyboard you pass must declare this same language."New value: +"Voice and caption language: the narration language the user chose, as kleo_adapt_prompt's \"language\" returned it (the intake asks it; never the language of the chat). A storyboard you pass must declare this same language." - changed
Input schema / properties / product / descriptionPrevious value: -"What 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."New value: +"The product the user chose in the intake (kleo_adapt_prompt asks it, with the prices): pass it. What 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."
- Changed
kleo_storyboard_guide1 field changed- added
Input schema / properties / productAdded value: +{ + "description": "The product the user chose (film or animatic): a film's pictures become paid clips, and the guide says how many a line can carry. Film when omitted.", + "enum": [ + "film", + "animatic" + ], + "type": "string" +}
3 tool updates
- Changed
kleo_adapt_prompt2 fields changed- changed
Input schema / properties / author / descriptionPrevious value: -"Who 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)."New value: +"Who writes the spec and the treatment. \"assistant\" (default): Kleo hands YOU the two methods and you write them — you are a far stronger writer than Kleo's own planning model, and it costs nothing. \"server\": Kleo's model writes them (use only if you cannot write JSON yourself)." - added
Input schema / properties / referencesAdded value: +{ + "description": "The pictures the user gave for this film, each with ONE of: url (a public https link), upload (the token of a kleo_upload_link link they uploaded through), handle (kref_… returned earlier); plus role and name when the user said what it shows. Kleo draws the characters, objects and places FROM these pictures.", + "items": { + "properties": { + "handle": { + "description": "A handle (kref_…) this tool or the upload page returned earlier.", + "pattern": "^kref_[0-9a-f]{8}$", + "type": "string" + }, + "name": { + "description": "The character's name, when the picture is of a character (\"Mara\", \"my dog Pepe\").", + "maxLength": 60, + "type": "string" + }, + "note": { + "description": "What the user said about the picture, in their words.", + "maxLength": 300, + "type": "string" + }, + "role": { + "description": "What the picture is for: character (draw this person/animal/creature), object, place, or style (imitate the look).", + "enum": [ + "character", + "object", + "place", + "style" + ], + "type": "string" + }, + "upload": { + "description": "The token of a kleo_upload_link link the user uploaded pictures through: every picture uploaded there is taken.", + "maxLength": 400, + "type": "string" + }, + "url": { + "description": "A public https:// link to the picture (PNG, JPEG or WebP, up to 12 MB).", + "maxLength": 2000, + "type": "string" + } + }, + "type": "object" + }, + "maxItems": 8, + "type": "array" +}
- Changed
kleo_create_video6 fields changed- added
Input schema / properties / audienceAdded value: +{ + "description": "Who the film is for, as the user said it.", + "maxLength": 160, + "type": "string" +} - added
Input schema / properties / correctionsAdded value: +{ + "description": "The user's corrections after you read back what Kleo understood, IN THEIR OWN WORDS (\"add my dog Pepe with a red collar\", \"she has red hair, not blonde\"). The prompt stays their first request, unchanged; a spec item added by a correction quotes these words. Omit it when they simply said yes.", + "maxLength": 1000, + "type": "string" +} - added
Input schema / properties / must_keepAdded value: +{ + "description": "The user's answer to \"what must appear, or must not\", as passed to kleo_adapt_prompt.", + "maxLength": 400, + "type": "string" +} - added
Input schema / properties / referencesAdded value: +{ + "description": "The user's reference pictures: the handles (kref_…) kleo_adapt_prompt returned, or the token of a kleo_upload_link link they uploaded through. Kleo draws the characters from them.", + "items": { + "maxLength": 400, + "type": "string" + }, + "maxItems": 8, + "type": "array" +} - added
Input schema / properties / specAdded value: +{ + "additionalProperties": {}, + "description": "The SPEC you wrote under kleo_adapt_prompt's spec method (or the one it returned), corrected as the user asked: {v:1, mode, summary, cast, items, refs, open, narration, script}. Every item's \"quote\" must be the user's own words from the prompt, from their must_keep/audience/tone answers, or from their \"corrections\" after the read-back (pass those too). Checked before anything is charged; the film is planned under it and every picture is checked against it.", + "properties": {}, + "type": "object" +} - added
Input schema / properties / toneAdded value: +{ + "description": "The tone the user asked for.", + "maxLength": 160, + "type": "string" +}
- Added
kleo_upload_link
10 tool updates
- First observed
kleo_account - First observed
kleo_adapt_prompt - First observed
kleo_cancel_job - First observed
kleo_create_video - First observed
kleo_generate_thumbnail - First observed
kleo_get_job - First observed
kleo_get_result - First observed
kleo_list_templates - First observed
kleo_storyboard_guide - First observed
kleo_wait_for_video
Related MCP Connectors
Turn documents and photos into narrated AI videos from Claude, ChatGPT, Codex or any MCP client.
- WanduraOAuthai.wandura
AI creative studio for your assistant: ads, short films, video, image and audio, estimate first.
Faceless video studio: script, stock footage, voiceover, captions and motion graphics to MP4.
Talking-actor and faceless short videos from your AI agent, with a free quote before each render
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceTurns text scripts into complete videos with stock footage, AI narration, and subtitles via MCP tools for AI assistants.MIT

AITuber MCP Serverofficial
AlicenseAqualityBmaintenanceCreate AI-powered videos from any MCP-compatible client. Generate videos with AI narration, visuals, and synced captions for short-form and long-form content.253 npm6MIT- AlicenseNot gradedqualityCmaintenanceMCP server for 4K video generation using Google VEO 3.1 — text-to-video, image-to-video, video extension, and frame interpolation.3MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to generate professional storyboards and videos from scripts or creative descriptions via MCP-compatible clients.9 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.