MCP server for image-to-image conversion and generation using AI models (GPT and Flux) with support for both synchronous and asynchronous operations
Server exposes 8 tools with basic schemas and descriptions, but significant gaps undermine production readiness. Tool naming is inconsistent (convert_local_image_to_base64 vs ConvertOrGenerateImage); descriptions lack LLM-optimized guidance on when/why to use each tool; parameter descriptions are minimal; output schemas are undocumented; error handling is absent. No tool annotations (readOnlyHint/destructiveHint). Duplicate/overlapping tools (image2image, image2image_sync, image2image_async) create LLM confusion. Average tool score: 42/100.
Converts or generates an image using a specific model ('gpt' by default or 'flux') and a prompt with the image conversion or generation options. The tool receives the image uri.
Decode a base64 data URL or raw base64 payload and write an image file.
Convert a local image file to a base64 data URL string.
Read an image file and return its bytes.
MCP tool that converts an image using gpt or flux and the desired prompt.
Start an image2image job and return immediately with a job_id.
Duplicate/overlapping tools (image2image, image2image_sync, image2image_async) create LLM confusion. LLMs cannot reliably distinguish when to use sync vs async vs base variant. Consolidate into one canonical tool with optional async_mode parameter or separate into clearly distinct operations (e.g., start_image_conversion + poll_conversion_status).
Inconsistent naming conventions across tools. Python tools use snake_case (convert_local_image_to_base64), C# tool uses PascalCase (ConvertOrGenerateImage). LLMs struggle with mixed conventions. Standardize all tool names to lowercase snake_case per MCP convention.
Output schemas are completely undocumented. Tools return data but LLMs cannot plan downstream calls without knowing response structure. Document return types for all tools (e.g., image2image returns {image_base64: string, model_used: string, prompt_used: string}).
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 49 | <=2025-11-25 | v2 |
Return job status and results for a given job_id.
Synchronous image2image tool (re-implemented here so this server exposes both sync and async tools).
No error handling guidance. Tools lack descriptions of failure modes, recovery steps, or actionable error messages. E.g., image2image should document: 'Returns error if image_base64 and image_path both missing, or if model not in [gpt, flux], or if API call fails, retry with different model or check API credentials.'
Missing tool annotations. No readOnlyHint or destructiveHint declared. image2image and ConvertOrGenerateImage are destructive (write output files) but lack destructiveHint annotation. Agents cannot reason about side effects.