Skip to main content
Glama

Server Details

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

Ownership verified

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

A4.1/5.0

Scored across 12 tools

Disambiguation4/5

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.

Naming Consistency4/5

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.

Tool Count5/5

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.

Completeness5/5

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.

  1. 3 tool updates
    • Changedkleo_adapt_prompt1 field changed
      • changedInput schema / properties / product / description
        Previous 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."
    • Changedkleo_create_video1 field changed
      • changedInput schema / properties / product / description
        Previous 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."
    • Addedkleo_redeem
  2. 1 tool update
    • Changedkleo_create_video1 field changed
      • changedInput schema / properties / music / description
        Previous 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."
  3. 2 tool updates
    • Changedkleo_adapt_prompt1 field changed
      • addedInput schema / properties / ai_upscale
        Added 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"
        +}
    • Changedkleo_create_video1 field changed
      • addedInput schema / properties / ai_upscale
        Added 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."
        +}
  4. 3 tool updates
    • Changedkleo_adapt_prompt4 fields changed
      • changedInput schema / properties / language / description
        Previous 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."
      • removedInput schema / properties / language / enum
        Removed value: -[
        -  "en",
        -  "it"
        -]
      • addedInput schema / properties / language / maxLength
        Added value: +40
      • addedInput schema / properties / product
        Added 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"
        +}
    • Changedkleo_create_video2 fields changed
      • changedInput schema / properties / language / description
        Previous 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."
      • changedInput schema / properties / product / description
        Previous 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."
    • Changedkleo_storyboard_guide1 field changed
      • addedInput schema / properties / product
        Added 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"
        +}
  5. 3 tool updates
    • Changedkleo_adapt_prompt2 fields changed
      • changedInput schema / properties / author / description
        Previous 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)."
      • addedInput schema / properties / references
        Added 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"
        +}
    • Changedkleo_create_video6 fields changed
      • addedInput schema / properties / audience
        Added value: +{
        +  "description": "Who the film is for, as the user said it.",
        +  "maxLength": 160,
        +  "type": "string"
        +}
      • addedInput schema / properties / corrections
        Added 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"
        +}
      • addedInput schema / properties / must_keep
        Added value: +{
        +  "description": "The user's answer to \"what must appear, or must not\", as passed to kleo_adapt_prompt.",
        +  "maxLength": 400,
        +  "type": "string"
        +}
      • addedInput schema / properties / references
        Added 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"
        +}
      • addedInput schema / properties / spec
        Added 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"
        +}
      • addedInput schema / properties / tone
        Added value: +{
        +  "description": "The tone the user asked for.",
        +  "maxLength": 160,
        +  "type": "string"
        +}
    • Addedkleo_upload_link
  6. 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.