Two tools with minimal schema documentation and weak descriptions. analyzeImage has a basic schema with three parameters (image_base64, prompt, model) but descriptions are generic and lack actionable constraints. captureScreenshot has only two parameters with similarly generic descriptions. Neither tool documents output structure, error cases, or recovery guidance. No parameter validation rules, enums, or format constraints visible. Tool names are reasonable (verb_noun pattern) but descriptions fail to explain WHEN to use each tool or what distinguishes them. No evidence of idempotency, pagination, or composition patterns.
Analyze an image using Claude Vision API
Capture a screenshot and analyze it
No output schema documented. LLMs cannot plan downstream calls or extract structured data from results. Both tools return untyped 'analysis' and 'screenshot_base64' fields with no field descriptions.
Parameter descriptions are generic and lack actionable constraints. 'Base64-encoded image data' does not specify max size, format validation, or error handling for invalid base64. 'User prompt for image analysis' does not explain length limits or expected content.
No error handling guidance. Code returns generic -32603 errors with minimal context. LLMs cannot determine if errors are retryable, user-fixable, or fatal. No recovery suggestions provided.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 39 | <=2025-11-25 | v2 |
Model parameter accepts free-form string ('claude', 'gpt4') with no enum constraint. LLMs will hallucinate invalid model names. Should declare valid options: claude-3-5-sonnet, claude-3-opus, etc.
Tool descriptions do not explain WHEN to use analyzeImage vs captureScreenshot or what distinguishes them. LLMs cannot reason about tool selection. captureScreenshot depends on external browser-tools-mcp service but this dependency is not documented in the tool description.