MCP server that provides image analysis capabilities using the Moondream model. It implements tools for image captioning, object detection, and visual question answering.
The server defines 3 tools with varying quality. Tool schemas are present and mostly well-formed, but descriptions are minimal (10-60 chars), parameter documentation is sparse, and error handling guidance is absent. The 'test' tool is trivial and does not align with production use. 'analyze_image' and 'analyze_webpage' have actionable schemas but lack crucial details about expected behavior, failure modes, and recovery steps. No output schemas are documented. Per the rubric baseline of 194 chars for tool descriptions, these fall significantly short. Schema coverage is present but parameter descriptions are minimal.
Analyze an image using the Moondream model
Take a screenshot of a webpage and analyze it using Moondream
Test tool to verify server functionality
Tool descriptions are extremely brief (10 - 60 characters), well below the 194-char production baseline. 'Test tool to verify server functionality' (54 chars) provides minimal context for LLM selection. 'Analyze an image using the Moondream model' (43 chars) omits when to use it, what it returns, and failure guidance.
Parameter 'prompt' in analyze_image has description 'Command to analyze the image. Use 'generate caption' for image captioning, 'detect: [object]' for object detection, or any question for image querying.' This uses examples rather than formal constraints.
No output schemas documented for any tool. LLMs cannot plan downstream actions or extract needed fields (e.g., caption text, detected objects, analysis results).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 40 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 30 | - | v1 |
Parameter 'image_path' (analyze_image) and 'url' (analyze_webpage) lack format guidance. No minimum/maximum length specified, no validation rules stated. LLMs may pass invalid paths or URLs without feedback.
analyze_webpage parameter 'waitTime' and viewport dimensions lack bounds. No guidance on min/max milliseconds, max viewport width/height in practice (schema shows max 2560/1440 but no practical lower bound). Unbounded numeric parameters risk LLM passing absurd values.
'test' tool is a stub for verification and has no production purpose. Describing it as 'Test tool to verify server functionality' indicates it should not ship in a production agent toolkit. Either remove it or rename to clarify it is diagnostic-only.
No error handling guidance in any tool description. What happens if image_path does not exist? If webpage is unreachable? If Moondream model fails to load?
Naming: 'analyze_image' and 'analyze_webpage' are vague. What type of analysis? Caption generation, object detection, or general VQA? 'generate_image_caption' or 'detect_objects_in_image' would be clearer.