MCP server for publication-quality scientific figures — diagrams, charts, maps with QA validation. Powered by Gemini.
Single-tool server with a well-structured input schema and comprehensive parameter documentation. The generate_image tool has strong naming (verb_noun pattern), detailed descriptions for each parameter, proper enums for constrained inputs, and clear guidance on when to use optional features. However, output schema is not visible in the provided source excerpt, and there are gaps in error handling guidance and security documentation. The tool demonstrates good parameter relationship documentation (e.g., validateQa requires figureStyle) and accepts domain-appropriate inputs. Descriptions are in the 150-300 character range, good for LLM parsing. The schema includes 12 parameters with types and descriptions, enums for aspectRatio/imageSize/figureStyle/editMode, and clear boolean flags for feature toggles.
Generate image with specified prompt and optional parameters
Output schema not documented in visible source code. LLMs cannot predict what fields are returned (file path, image URL, QA report structure, error format). Must document return structure including success response, failure modes, and QA validation output fields.
No explicit error handling guidance in tool description. LLM does not know if API failures are retryable, user-fixable, or fatal. Description should state: 'Returns error if: prompt is invalid, outputDir not writable, Gemini API quota exceeded (retryable), invalid aspect ratio (user-fixable).'
Parameter relationship constraint not documented: validateQa is described as requiring figureStyle to be set, but the schema does not enforce this dependency in required[] or via conditional constraints. LLM may pass validateQa=true without figureStyle, causing runtime errors.
Inferred effective spec: 2025-06-18+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 60 | 2025-06-18+ | v2 |
| 2026-03-09 | F | 39 | - | v1 |
No guidance on file path security. inputImagePath accepts 'absolute path', no mention of path traversal validation, directory restrictions, or whether symlinks are followed. Agent could be tricked into reading/processing files outside intended directories.
Pagination not applicable (single tool, not listing), but QA output structure undefined. If QA validation returns multi-field reports, the schema must document field names, types, and interpretation so LLM can parse and surface results to user.