MCP server for managing image generation projects, tracking execution context, uploading generated images, and logging project activities
Server has 4 tools with basic schemas and descriptions, but significant gaps limit production readiness. All tools have descriptions (10-80 chars, below ideal 50-200 char range) and input schemas are present but minimal. Parameter descriptions are sparse or missing entirely. No output schemas documented. Error handling is absent, no recovery guidance, categorization, or actionable error messages. Tool naming follows verb_noun convention (list_, get_, upload_, append_) but descriptions lack context on WHEN to use each tool or what downstream tools expect. No tool annotations (readOnlyHint/destructiveHint) despite clear risk profiles (2 WRITE tools, 2 READ_ONLY). Composition is reasonable, tools are single-purpose, but responses lack chaining IDs and pagination support.
Append a log entry to a project or project item execution log
Get execution context for a project, including the next pending item and all project items
List all active projects with their status and completion metrics
Upload a generated image for a project item, supporting file URLs, base64 data, or OpenAI file references
No output schemas documented. LLMs cannot infer what fields to expect from tool responses, forcing them to guess at downstream field names and risk broken tool chains.
Parameter descriptions are minimal or absent. 'projectId' and 'itemId' lack context on format, constraints, or how to obtain them. LLMs cannot self-correct invalid inputs.
No error handling or recovery guidance. Tool handlers use basic Zod parsing but return no actionable error messages. LLMs receive raw validation errors with no guidance on what to do next.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 65 | 2026-07-28+ | v2 |
Tool descriptions are too short (45-55 chars vs. baseline 194 chars). They lack WHEN to use each tool, prerequisites, or what the tool returns. 'List all active projects with their status and completion metrics' does not explain when to call this vs. get_project_execution_context.
No tool annotations (readOnlyHint/destructiveHint/idempotentHint). upload_generated_image and append_project_log are WRITE operations but lack destructiveHint. LLMs cannot determine which tools are safe to retry.