MCP client library for ChatCut video editing platform, providing tools to manage projects, timelines, motion graphics, voice generation, captions, stock media, and video export
ChatCut MCP has 11 tools with basic schemas and descriptions, but significant gaps prevent production use. Tool names follow verb_noun convention (list_projects, create_motion_graphic_from_code), which is good. However, descriptions are often vague or missing critical context. Most parameters lack type constraints (enums, ranges, patterns). Output schemas are not documented. Error handling is absent, no guidance on retries, recovery, or what to do when operations fail. The server exposes internal implementation details (JSX code, frame counts, codec names) without validation or constraints. No pagination support despite tools that could return large result sets (search_stock_media, list_projects). Parameter descriptions are generic ('UUID of the project') without explaining when to use each tool or dependencies between them.
Generate motion graphics from JSX code with specified duration and name
Create a new project with composition dimensions, fps, and name
Edit caption styling (font size, color, background, position) in batch
List all projects in ChatCut account
Read existing captions from a project
Read project timeline details with optional view filtering (timeline) and code display control
No output schemas documented. LLMs cannot predict what fields to expect from tool responses, forcing them to guess at downstream field names and breaking tool chaining.
Parameters lack type constraints (enums, ranges, patterns). 'engine' in submit_voice accepts free-form strings instead of enum ['elevenlabs', 'doubao']. 'codec' in submit_export has no enum. LLMs will hallucinate invalid values.
No error handling or recovery guidance. Tools like submit_export and submit_voice are async but provide no guidance on what to do if track_export/track_progress timeout or fail. No retryable vs fatal error classification.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 52 | 2026-07-28+ | v2 |
Search public stock media (Pexels/Pixabay/Pixnio) by query, kind, and orientation
Submit video export task with format, codec, resolution, fps, and output name
Submit voice generation task with text, engine selection (elevenlabs or doubao), and project context
Track export job progress with wait action and timeout
Track progress of async jobs (voice generation, etc.) with wait action and timeout
Descriptions are generic and lack context. 'Read project timeline details' does not explain when to call read_project vs list_projects, or what 'view' and 'code' parameters control. Parameter descriptions are single-phrase ('UUID of the project') without format or constraint hints.
No pagination support. search_stock_media accepts 'limitPerPlatform' but no offset/cursor. list_projects has no limit or pagination. Large result sets will blow context windows and degrade LLM reasoning.