Clueso by clueso.io

MCP server · indexed, not reviewed

Hostedvendor's own

Not reviewed

No score, grade or rank. This listing is facts from the official MCP registry and our own checks, and it stays out of the rankings until the panel reviews it.

How the index works

Make videos and docs with your AI agent — describe what you need, every output stays editable.

What the official MCP registry says

Facts

MCP registry
io.clueso/video · 1.0.2
Endpoint
https://connect.clueso.io/mcp
GitHub stars
10
Registry entry
updated 19 Aug 2026

From the official MCP registry, the package registries and our own checks. JSON · Markdown

Why it's listed

  • It's published in the registry under clueso.io, a namespace the registry only gives to whoever proves they control that domain.

Being indexed says nothing about quality, and nobody can pay for it. Is this yours? Ask for a review.

Tools it lists 46 · about 48,756 tokens of context · checked 1 hour ago

ToolWhat it doesHint
get_design_guideGet design guideClueso's house style for composing video clips — how to think about concept, typography, color, composition, motion, and pacing. Read it before composing or editing a clip's visuals when you're NOT following a…read-only
create_projectCreate projectCreate a new blank Clueso project. Returns the projectId and initialClipId — the project starts with one blank clip already at index 0 (default short duration). Use update_clips to resize/retitle clip 0,…writes
update_projectUpdate projectUpdate a project's metadata: rename, change description, move to a different folder, or change aspect ratio. Only fields you provide are changed. To move a project to the workspace root, pass folder_id="" (empty…writes
duplicate_projectDuplicate projectClone an entire project — every clip, voiceover, asset, and metadata field — into a fresh project. The copy has its own S3 namespace, so changes or deletions to the source never affect the duplicate. Defaults: -…writes
export_projectExport projectKick off a video export of the project. Returns immediately with an export_id; the export renders in the background and takes ~5 min. Call get_export(export_id, wait_seconds=55) until status is completed — it then…writes
get_exportGet export statusCheck on a project's video export, waiting for it to finish. Pass exactly one of `export_id` (the one export_project returned) or `project_id` (that project's most recently REQUESTED export, which may still be in…read-only
findFind resourcesFind any resource in Clueso by type, optionally filtered by name or exact id. One tool for listing and searching across the workspace. type: • projects | folders | clueprints | workspaces • backgrounds | voices | fonts…read-only
switch_workspaceSwitch active workspaceSwitch the active workspace. The choice sticks for this client until you change it again — including across reconnects — so every later call operates in the new workspace. Use find(type='workspaces') to see available…writes
get_projectGet project dataGet a summary of a project: canvas dimensions, per-clip summary (ids, indices, durations, element counts, voiceover_volume), and `audio_tracks` — every music/SFX entry on the project flattened to the same wire shape…read-only
get_clipGet clip detailsRead one clip: its elements (positions/sizes in canvas pixels), voiceover (text, voice, duration, voiceover_volume), background and transition. Pass `render` to also get a PNG of the frame. ASK FOR WHAT YOU NEED. A full…read-only
update_clipsUpdate clips (batch)Update one or more clips in a single call — background, transition, duration, title, visibility, position, and (video clips) the footage transform via video_styling. Always batch. Each entry: { clip_index, duration?,…writes
remove_clipRemove clipRemove a clip from the project by index. Cannot remove the last remaining clip. After removal, all clips with index > clip_index shift down by 1. When removing multiple clips by index, remove from highest index to…writes
split_clipSplit clipSplit a video clip into two clips at the given timestamp. The left clip keeps the original clip ID; the right clip gets a new ID and is inserted immediately after. Elements spanning the split point are duplicated into…writes
captionsEdit captionsRead and edit a clip's CAPTIONS (subtitles) — what they say, where one caption ends and the next begins, when each shows, captions not tied to the voiceover, and translation. Captions are built from the clip's voiceover…writes
duplicate_clipDuplicate a clipClone one clip — within the same project, or **from another project** — into a target project. - Same project: pass `target_project_id` and `source_clip_id` (omit `source_project_id`). - Cross-project: pass…writes
add_clipsAdd clips to projectCreate new clips on a project. One tool, three sources: - kind="blank": empty slide clips you'll populate with add_elements / generate_media. Pass `clips: [{title?, duration?}, ...]`. Note: create_project already…writes
get_element_schemaGet element schemaReturn the schema for an element type's type_data, as TypeScript declarations. Call this before add_elements / update_elements when you don't already know the field shape for the element_type you're placing. Pass…read-only
add_elementsAdd elements to clipsAdd many elements across one or more clips in a single tool call. Replaces the per-element tool — always batch. SEND LESS. Most batches repeat themselves — the same clip_index, element_type, font_setting, alignment or…writes
update_elementsUpdate elementsUpdate many elements across one or more clips in a single tool call. Replaces the per-element tool — always batch. SEND LESS, GET BACK LESS. `defaults` carries what every item shares (clip_index, element_type, and…writes
remove_elementsRemove elements from clipsRemove many elements across one or more clips in a single tool call. One entry per element ({clip_index, element_id}). Concurrency: parallel-safe (conflict domain: the individual element) — same as update_elements. Each…writes
reorder_elementsReorder elements within a clipReorder the elements inside a clip. List position IS the z-index — later entries in `ordered_element_ids` render on top of earlier ones. You MUST pass the full set of element IDs currently in the clip. The handler…writes
update_groupsUpdate groupsTransform, keyframe, rename, nest or lock GROUPS. A group moves, scales, rotates and fades as ONE unit, without touching any child's stored position — which is how you get a camera push instead of building the target…writes
remove_from_projectRemove element, group or audio trackRemove an element, a group or an audio track from a project. - target="element": removes an element (requires element_id, or element_ids for several). clip_index is optional — the element is located by id; pass it only…writes
add_audioAdd audio trackAdd a music track or sound effect that plays as a project-level audio layer over all clips. Does NOT consume a clip slot. Use this for background music or a soundtrack that should play under the existing timeline. (For…writes
update_audioUpdate an existing audio trackMutate fields on an existing music/SFX track by id. Read existing tracks via `get_project.audio_tracks` — the per-entry shape there matches this tool's args, so you can flip a knob (volume, fades, timing, loop) and…writes
voiceover_batchSet voiceover scriptsSet voiceover text and/or trigger speech generation for any number of clips in a single call. Each entry chooses its own action: - "set_text" — set transcript for a clip (clip_index + text) - "generate_speech" — async…writes
auto_syncAuto-generate sync pointsRun the agentic auto-sync pipeline against a clip with a source recording. Detects natural sync points (UI state changes, narrated steps) and inserts sync-marker nodes into the clip's transcript. Async: returns…writes
add_sync_pointAdd a sync point at a word + timestampInsert one sync marker on a clip's transcript. Use this when: - The user is explicit about WHERE the camera should pause / cut (e.g. "sync the word 'submit' to 4.2s of the demo"). - `auto_sync` ran but missed a step you…writes
upload_fileUpload fileUpload one or more files to Clueso. Pick a mode by client + where the file lives: 0. **files** — ChatGPT only: files the user attached in the conversation. ChatGPT fills each entry (download_url + file_id) itself; pass…writes
check_uploadsCheck upload statusFetch all files the user uploaded via the hosted upload page. Returns one mcp_upload_id per file — pass each to the appropriate tool (add_clips, add_article_media, etc.). Call this once after the user confirms they are…read-only
generate_mediaGenerate AI media (image or animation)Generate an AI image or canvas-code-based animation directly into a clip. - kind="image": text-to-image. Pass `prompt`. Optional: `animation_setting` (entry/exit — set it HERE, see below), `style_id` (from find…writes
estimate_durationEstimate clip durationEstimate voiceover duration for one or many clips at once (~150 words/minute). Pass an array of voiceover texts — one per clip. Returns durations in the same order, ready for add_clips.read-only
analyze_audioAnalyze audioAnalyze an audio file. Modes: - transcript: Speech-to-text with word-level timestamps — returns `{language, full_text, words}` where each word is `{word, start_ms, end_ms, punctuated_word}`. ⚠ MILLISECONDS here;…read-only
get_articleGet articleGet the article content as markdown. Screenshots appear as <SCREENSHOT {id}> placeholders. Returns the markdown text and a list of screenshot IDs.read-only
update_articleUpdate articleUpdate article text content from markdown. Use <SCREENSHOT {id}> placeholders to position screenshots. Screenshots in the markdown are kept. Screenshots removed from markdown are deleted. Order in markdown defines final…writes
add_article_mediaAdd article media (image or GIF)Add a screenshot or GIF to the article. Returns a screenshot_id to place in the article via update_article using `<SCREENSHOT screenshot_id>`. - kind="image": pass `timestamp` to capture a frame from the project's base…writes
update_article_mediaUpdate or inspect article mediaUpdate an article image/GIF (screenshot), or inspect its current state. - Provide one or more of `zoom_factor`, `crop`, `shapes` to change metadata. - Pass `render=true` (with no other updates) to fetch the current…writes
create_clueprintCreate clueprintCreate a new clueprint (reusable video template). A clueprint is a structured file directory with design notes, composition rules, and screenshots that can be used to generate videos. Use human-readable folder…writes
get_clueprintGet clueprintFetch clueprint data. Use `include` to control how much you pull back: - include="metadata": just the clueprint's name/description/tags/visibility/thumbnail. - include="tree": metadata + the full file tree (path,…read-only
update_clueprintUpdate clueprintUpdate a clueprint's metadata and/or file contents in one call. Metadata fields (`name`, `description`, `tags`, `visibility`, `thumbnail_path`) are applied as a patch — only the fields you pass change. Pass at least one…writes
set_voiceSet voiceSet the voiceover voice for every clip in a project. Use this to apply a clueprint's voice (read `voiceover.voice.name` and `voiceover.voice.engine` from the clueprint source data), or to switch all clips to a specific…writes
add_commentAdd commentPost a review comment on a project, attributed to "Clueso AI". Use this to leave feedback, suggestions, or notes — either at the project level (no clip_id) or pinned to a specific clip with an optional timestamp inside…writes
get_commentsGet commentsRead the review comments on a project — the other half of `add_comment`, which could post but never read. Comments are how a human reviewer tells you what is wrong with a video: a note pinned to a clip and a moment…read-only
record_screenRecord screenCreate a screen-recording clip in a project. Creates blank placeholder clips, registers job entities, and sends the job to AVS. The blank clips this tool creates are placeholders; they become video clips when processing…writes
run_scriptRun a script that calls these toolsWrite a JavaScript program that calls this server's other tools. You have the whole language: loops, arithmetic, functions, conditionals, and values carried from one call into the next — all running next to the tools…writes
get_script_jobGet a script job's resultFetch the outcome of a run_script that did not finish inline. Waits for it rather than returning immediately, so one call is usually enough — set `wait_seconds` to how long you are willing to hold. Returns { job_id,…read-only

What https://connect.clueso.io/mcp answered to tools/list, asked without credentials. answered without the initialize handshake. The token figure is the size of the list as sent, divided by four; a model sees about that much before it calls anything. Full definitions, input schemas included, are in the listing's JSON under mcpTools.

How its tools read to an agent 0 errors · 20 warnings · 1 note

  • warnTC07add_elementsthe description is about 1,471 tokens
  • warnTC07captionsthe description is about 795 tokens
  • warnTC07findthe description is about 1,216 tokens
  • warnTC07get_clipthe description is about 937 tokens
  • warnTC07run_scriptthe description is about 1,508 tokens
  • warnTC07update_clipsthe description is about 519 tokens
  • warnTC07update_elementsthe description is about 791 tokens
  • warnTC07update_groupsthe description is about 580 tokens
  • warnTC07upload_filethe description is about 650 tokens
  • warnTC07voiceover_batchthe description is about 660 tokens
  • warnTC22add_elementsthe definition is about 8,837 tokens
  • warnTC22findthe definition is about 2,056 tokens
  • warnTC22generate_mediathe definition is about 2,283 tokens
  • warnTC22get_clipthe definition is about 2,572 tokens
  • warnTC22record_screenthe definition is about 1,876 tokens
  • warnTC22run_scriptthe definition is about 2,080 tokens
  • warnTC22update_clipsthe definition is about 1,643 tokens
  • warnTC22update_elementsthe definition is about 8,069 tokens
  • warnTC22update_groupsthe definition is about 2,192 tokens
  • warnTC23server46 tools, about 48,805 tokens of definitions
  • noteTC24server46 of 46 tools have no outputSchema

The checks from /check and anchor check, run each day on the list above: about 48,756 tokens of definitions. Not part of the score yet. Check your own server.

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.