Image Generation MCP Server using OpenAI compatible APIs - A Model Context Protocol server for AI image generation
Server defines 5 tools with complete JSON schemas and descriptions. Naming follows verb_noun convention (generate_*, edit_*, transcribe_*). Descriptions are present (avg ~120 chars) but lack actionable context for LLM selection. Parameters are typed with enums and constraints, but descriptions are sparse (many params lack explanation of purpose/format). Output schemas are not documented, LLMs cannot predict response structure. Error handling is minimal; no recovery guidance. Security: API keys injected via config (good), but no per-tool permission gates or audit logging.
Edits an image using an OpenAI compatible API based on a text prompt. Supports local file paths or URLs as image input.
Generates an image using an OpenAI compatible API and returns a direct URL to the result. It is recommended to format the output URL using Markdown for better display.
Generates audio from text using an OpenAI compatible API and saves it to a local file.
Submits a job to generate a video using the SiliconFlow API based on a text prompt or an image.
Transcribes audio to text using an OpenAI compatible API.
Output schemas not documented. LLMs cannot predict response structure (fields, types, pagination). Handlers return raw API responses without shaping.
Parameter descriptions are minimal or missing. E.g., 'voice' in generate_speech has no description of valid values or format. 'model' params lack guidance on when to use each option.
No error recovery guidance. Handlers likely return raw API errors without actionable next steps for LLM (e.g., 'API rate limited, retry in 60s' vs bare 429).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | 2026-07-28+ | v2 |
Tool descriptions lack WHEN/WHY context. E.g., generate_image says 'Generates an image' but does not explain when to use it vs edit_image, or what 'OpenAI compatible API' means to the LLM.
No idempotency or confirmation pattern for destructive/write operations. generate_image, generate_speech, edit_image, generate_video all modify state but lack dry-run or confirmation step.