Model-free MCP companion for Frosty Studio image and video generation APIs. Provides tools to discover engine capabilities, queue image/video jobs, poll job status, manage gallery assets, and retrieve outputs.
Frosty Studio MCP demonstrates solid naming conventions (verb_noun pattern: frosty_generate_image, frosty_cancel_job) and comprehensive tool descriptions (avg 120 chars, all present). Tool annotations are properly declared (READ, WRITE, TRASH). However, input schemas are severely underspecified: ImageSpec and VideoSpec are referenced as opaque objects with only 'description' fields, lacking visible type definitions, required fields, or nested property schemas. Parameter descriptions exist but lack format constraints (e.g., no regex patterns, min/max for numeric fields). Output schemas are undocumented, responses are inferred from code but not formally declared. Error handling is minimal; no recovery guidance or categorization. Pagination is implemented (frosty_gallery) but inconsistently. Overall: functional but falls short of production-grade tool engineering standards.
Get an existing output's metadata and download link without embedding a large video in agent context.
Request cancellation. Active video work stops after its current render, keeping completed clips.
Queue official Qwen image prompt enhancement for review. Poll the image job; no final image is rendered.
Search/paginate saved outputs or recoverable Trash. Active asset IDs can be used as image references.
Queue Qwen Image creation/editing, RGBA, extraction, masks or annotations. Poll the returned image job ID.
Queue a clip or 2–8 scene movie on a configured VL/Wan engine. Inspect capabilities first; poll its video job ID.
ImageSpec and VideoSpec input schemas are opaque objects with no visible type definitions, required fields, or nested properties. Code shows only {'type':'object','description':'...'}, violates JSON Schema completeness.
No output schemas documented for any tool. Responses are inferred from code (dict[str, Any]) but not formally declared. LLMs cannot plan downstream calls or extract fields reliably.
Error handling is absent. No recovery guidance, error categorization, or actionable messages. A failed job returns raw status/error without telling the LLM what to do next (retry? ask user? abort?).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | 2026-07-28+ | v2 |
Read job status/progress and output links. A render error is reported in status/error; do not assume success.
Return a bounded image preview as native MCP image content. Original stays available through frosty_asset.
Restore selected Trash entries and metadata without overwriting existing files.
Discover image/video workspaces, engine readiness, capabilities and supported controls.
Move selected gallery assets and metadata to recoverable Trash. Returns trash IDs for undo; never purges.
List video jobs in this Studio session, including work started in the browser.
Parameter descriptions lack format constraints. E.g., 'job_id' has no format hint (UUID? alphanumeric?), 'limit' in frosty_gallery has min/max but no description of what it limits or why.
Destructive operations (frosty_trash, frosty_cancel_job) lack confirmation or dry-run support. No pattern to prevent accidental data loss when agents make mistakes.