Composable image and video generation tools, reusable visual skills, and optional creative workflows for MCP clients
MeiGen MCP Server has 8 tools with varying definition quality. Most tools have reasonable descriptions (100-250 chars, within baseline 194 avg), and all have clear input schemas with enum constraints where appropriate. However, there are systematic gaps: (1) Several parameters lack descriptions or have minimal guidance. (2) Output schemas are not documented, the server provides no structured information about what fields users should expect from responses, forcing LLMs to infer result structure. (3) Error handling is absent from visible source code, no guidance on retryability, user-fixable vs fatal errors, or actionable recovery steps. (4) Tool names are mostly clear (verb_noun pattern: enhance_prompt, search_gallery, list_models, generate_image) but some are generic (manage_preferences could be get_preferences + set_preferences). (5) The manage_preferences tool combines 4 distinct actions (get, set, add_favorite, remove_favorite) via a single 'action' enum, which is composition smell, ideally split into get_preferences, set_preferences, add_favorite_prompt, remove_favorite_prompt. Overall, the server is functional but lacks production-grade polish in output documentation and error guidance.
Check the status of a submitted image or video generation task
Execute a ComfyUI workflow for advanced image/video generation
Enhance and refine user prompts for better image/video generation results
Generate AI backgrounds to replace existing backgrounds in images
Generate an image using MeiGen, OpenAI-compatible, or ComfyUI providers
Generate marketing poster designs using MeiGen skill
Generate detailed product images for ecommerce using MeiGen skill
Generate a video clip using MeiGen video generation models
Output schemas not documented for any tool. LLMs cannot infer what fields to expect in responses, forcing manual trial/error or context-inference. This violates pattern:tool and pattern:response-shaper.
manage_preferences combines 4 distinct actions (get, set, add_favorite, remove_favorite) in a single tool. Violates pattern:tool principle of 'one clear job per tool'. Should split into separate tools (get_preferences, set_preferences, add_favorite_prompt, remove_favorite_prompt).
Numeric parameters lack min/max bounds: list_models activeOnly has no documented default, get_inspiration count has no range (should be 1-50), generate_image n has no max stated in param description (docs mention 'max 4 in parallel' but param lacks bounds). Violates pattern:constrained-input.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 23 | 2025-06-18+ | v2 |
| 2026-03-09 | F | 39 | - | v1 |
Get creative inspiration and suggestions for image/video generation
List available image and video generation models with their capabilities and pricing
Load and manage user preferences for generation settings
Remove background from an image using MeiGen transparent cutout skill
Search the MeiGen gallery for inspiration and reference images
Upscale and enhance image quality using MeiGen skill
Parameter descriptions are often generic or missing format/constraint guidance. E.g., generate_image referenceImages (array of strings, no format guidance: URL vs local path?), comfyui_workflow inputs (object, no schema of valid fields), upload_reference_image filePath (no acceptable formats or size limits stated). Violates pattern:tool-description.
No error handling guidance visible. Tools do not document what to do on failure: e.g., generate_image with 'No providers configured' (noted in server instructions but not in error response pattern), workflow not found, image generation timeout. LLMs need actionable recovery hints per pattern:recovery-guide.
manage_preferences has conditional parameters (style/aspectRatio/model/provider/styleNotes only valid for set action; prompt only for add_favorite; favoriteIndex only for remove_favorite). These dependencies are not documented in parameter descriptions per pattern:param-relationships.
generate_image lacks result structure docs: does it return image URL, local file path, or both? What fields are in the response object? LLMs cannot chain results to upload_reference_image or subsequent tools without this. Violates pattern:response-shaper and mxe:include-chaining-ids.