MCP server for FAL AI image and video generation with data URL support
FAL Image Video MCP has 4 well-named tools with clear verb-noun conventions (generate_image, generate_video, image_to_video, list_models). Tool descriptions are present and moderately informative (130-180 chars), explaining what each tool does and which models are supported. However, parameter descriptions are inconsistent in depth and some lack important constraint information. Input schemas are complete with proper types (string, integer, number) and descriptions for all parameters, but lack validation constraints like enums, minimum/maximum ranges, or format specifications. No output schemas are documented, callers have no visibility into what these tools return. Error handling appears to be basic; no recovery guidance or error classification visible in the source. Overall structure is sound but lacks the polish and completeness expected for production-grade agent tooling.
Generate images using FAL AI models. Supports multiple models including Imagen 4, FLUX, Ideogram, Recraft, Stable Diffusion, and others
Generate videos from text descriptions using FAL AI text-to-video models. Supports Veo 3, Kling, Pixverse, Magi, Luma Ray 2, Wan Pro, and Vidu
Convert images to videos using FAL AI image-to-video models. Supports LTX Video, Kling, Pixverse, Wan Pro, Hunyuan, Vidu, and Luma
List all available FAL AI models for image generation, text-to-video, and image-to-video
No output schemas documented. Callers have no visibility into return structure, field types, or what data is available after tool execution. This forces LLMs to guess what fields exist and causes failures when chaining tools.
Parameters lack validation constraints. 'model' accepts any string but should be an enum of valid model IDs. 'image_size' accepts any string with no format guidance (e.g., '1024x1024' format). 'num_images', 'fps', 'width', 'height' have no min/max bounds, allowing invalid values like fps=0 or width=-1.
Parameter descriptions are minimal and lack context about valid ranges or formats. For example, 'fps' is described only as 'Frames per second for the video' with no mention of valid range (typically 24-60). 'image_size' has no format specification.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-21 | F | 49 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 48 | - | v1 |
Error handling not visible in function signatures. No indication of what errors are possible, how they should be classified (retryable vs. permanent), or what recovery steps are available.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) in schema. 'list_models' is clearly read-only and should be annotated. 'generate_*' tools are write-heavy and may not be idempotent.