Lizard Eyes: local vision MCP server (Qwen3-VL via llama-server). stdio + streamable HTTP.
Two tools with basic schemas and descriptions, but significant gaps in parameter documentation and error guidance. analyze_image has a complete schema with two parameters (image_path, task), both with descriptions. check_server_health has an empty input schema. Descriptions are present but generic (194-char baseline suggests room for improvement). No parameter constraints (enums, ranges), no output schema documentation, and error handling returns JSON blobs without actionable recovery guidance. Tool names follow verb_noun pattern (analyze_image, check_server_health) which is good, but descriptions lack WHEN/WHY context for LLM selection.
Analyze an image using Qwen3-VL vision model via llama-server. Supports local file paths or base64-encoded image data. Results are cached by image hash, task, and model.
Check llama-server reachability and health status. Returns HTTP status, response body, and connectivity details.
check_server_health has no input schema (empty object). Tool is READ_ONLY but lacks explicit idempotentHint annotation.
analyze_image parameters lack constraints. image_path accepts any string; no enum for supported extensions (.png, .jpg, etc.) despite SUPPORTED_EXT being defined in code. task parameter is free-form with no guidance on expected format or examples.
No output schema documented for either tool. analyze_image returns JSON with success/error/cache_hit fields, but LLMs cannot infer the structure. check_server_health returns reachable/status/health_url/body/error fields, undocumented.
Error responses are JSON blobs (error_result() returns TextContent with JSON string) rather than structured CallToolResult with is_error=true and actionable guidance. LLMs cannot parse 'IMAGE_PATH_NOT_ALLOWED' code without recovery hints.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 42 | <=2025-11-25 | v2 |
analyze_image description mentions caching and Qwen3-VL model but omits WHEN to use it (e.g., 'for OCR, object detection, scene understanding'). check_server_health description is 67 chars, below 10-char minimum for clarity but above hard floor; lacks guidance on when to call it.