MCP server that opens a drawing canvas in the browser and returns the sketch as an image
Two tools with clear, action-oriented names (open_canvas, describe_sketch) and reasonable descriptions (150 - 180 chars, within baseline 34 - 392 range). Both have identical input schemas with a single optional 'hint' parameter. However, parameter descriptions are minimal ('Optional reminder shown above the canvas'), and output schemas are completely undocumented, LLMs cannot plan downstream steps or extract structured data. No error handling guidance, no recovery paths, and no indication of what fields the returned image contains or how to use it. Tool composition is sound (each does one thing), but the lack of output documentation and error guidance significantly limits production readiness.
Opens a drawing canvas in the user's browser, then returns the sketch image together with a prompt instructing the agent to describe it in text. Use instead of open_canvas when a reusable text description of the sketch is useful alongside the image — e.g. to save to a file or pass to a later non-vision step. Requires a vision-capable agent.
Opens a drawing canvas in the user's browser for them to sketch. Use when the user's visual description is ambiguous, when they want to sketch a UI/layout, or when they explicitly ask to draw. Returns the resulting image.
Output schemas completely undocumented. Both tools return images but LLMs cannot infer structure, fields, or how to chain results to downstream tools.
No error handling guidance. If canvas submission fails, user closes browser, or network error occurs, LLM receives no recovery path or actionable error message.
Parameter 'hint' description is generic and under 50 chars. Does not explain format constraints, max length, or when to use it.
Tool descriptions do not state what data is returned (e.g., 'Returns a base64-encoded PNG image as a string') or how to use it downstream.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 62 | 2026-07-28+ | v2 |
describe_sketch description mentions 'Requires a vision-capable agent' but does not explain what the agent should do with the returned image or text description.