MCP Server for iLoveVideoEditor — exposes video rendering tools to AI agents
Server has 10 well-named tools with clear verb-noun patterns (list_, get_, render_, capture, analyze). Descriptions are present and adequate (avg ~120 chars), exceeding the 10-char minimum. All tools have input schemas with type definitions. However, parameter descriptions are sparse or missing in several tools (e.g., ilovevideoeditor_local_capture lacks 'time' and 'format' descriptions; ilovevideoeditor_local_analyze lacks 'time' description). Output schemas are not documented, LLMs cannot predict response structure. Error handling is basic (generic try-catch with message only, no recovery guidance or error classification). No tool annotations (readOnlyHint/destructiveHint) despite clear risk distinctions (WRITE vs READ_ONLY). Missing idempotency guidance for render operations.
Get a fresh signed download URL for a completed render job.
Return the built-in effects and transitions that are compatible with a given layer type (text, image, video, shape, audio, etc.). Use this before choosing effects or transitions for a layer.
Check the status of a render job by its job ID.
Get detailed information about a specific template, including its variable schema.
List all available iLoveVideoEditor templates for generating personalized videos.
Analyze the generated VideoJSON layout in the local preview and return structured metrics and issues (overflow, overlap, font fallback, etc.).
Output schemas not documented. LLMs cannot predict response structure for any tool. Responses are JSON-stringified text blocks with no declared fields, forcing LLMs to parse unstructured output.
Parameter descriptions missing or incomplete. ilovevideoeditor_local_capture and ilovevideoeditor_local_analyze lack descriptions for 'time' parameter. ilovevideoeditor_local_capture lacks descriptions for 'format' enum values. LLMs cannot infer parameter semantics from names alone.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 61 | 2026-07-28+ | v2 |
Capture a screenshot from the running local preview at a given time.
Start or stop the local preview dev server. Use this before capturing frames.
Submit a raw VideoJSON payload to the iLoveVideoEditor render queue and receive a job ID.
Generate a video from a named template with variables, queue it for rendering, and return a job ID.
No tool annotations (readOnlyHint/destructiveHint/idempotentHint). Tools are marked READ_ONLY or WRITE in metadata but not in schema. ilovevideoeditor_render_json and ilovevideoeditor_render_template are destructive (queue jobs) but lack destructiveHint annotation. Agents cannot distinguish safe from unsafe operations.
Error handling is generic. All errors return 'Error: <message>' with no recovery guidance, error classification, or actionable next steps. LLMs cannot distinguish retryable from fatal errors or know what to do next.
Render tools lack idempotency guidance. ilovevideoeditor_render_json and ilovevideoeditor_render_template queue jobs but do not document whether repeated calls with identical inputs return the same job ID or create duplicates. Agents may retry and cause unintended duplicate renders.