MCP server for image & video analysis via natural language. Exposes vision_proxy.py as MCP tools so MCP-compatible clients (OpenCode, Claude Desktop, Cursor, Windsurf, Continue.dev, etc.) can analyse images and videos.
Two tools with verb-based names (analyze_image, analyze_video) and detailed parameter schemas. Descriptions are present and reasonably specific (160-180 chars each), exceeding the minimum 10-char baseline. Both tools have complete input schemas with type definitions and parameter descriptions. However, critical gaps exist: no documented output schemas, no error handling guidance, and no indication of timeout behavior for potentially slow vision model calls. The model parameter accepts free-form strings with only examples provided (no enum constraint), inviting hallucinated model names. Parameter descriptions are adequate (50-100 chars) but could better explain validation rules and failure modes.
Analyse an image file and return a description prefixed with the filename. Covers text, colours, layout, UI elements, typography, spacing, etc. Pass a custom prompt for focus.
Analyse a video file by extracting keyframes and returning a description prefixed with the filename. Covers frame-by-frame actions, UI flow, text, scene changes, interactions, etc.
No output schema documented. Tools return vision model analyses but no schema specifies response structure, fields, or format. LLMs cannot plan downstream processing or extract typed data.
model parameter accepts free-form strings with only examples ('ollama/llava:latest', 'openai/gpt-4o-mini'). No enum constraint, format pattern, or validation rule. LLMs will hallucinate invalid model names.
No error handling guidance. Tools may fail silently on missing files, invalid formats, model unavailability, rate limits, or timeouts. No recovery instructions (e.g. 'Call list_available_models() first').
No timeout or resource limit documented. Vision model API calls can hang indefinitely, blocking agent execution. No guidance on timeout behavior or retry strategy.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 69 | 2026-07-28+ | v2 |
prompt parameter description uses example values ('Extract all text', 'Focus only on colours').
path parameter accepts 'absolute or relative' paths but no validation rules specified. No guidance on path traversal protection, symbolic link handling, or what happens if path contains '/../' or is outside allowed directory.