StableDiffusionLocal has 6 tools with complete input schemas and descriptions, but quality is uneven. Tool names follow verb_noun convention (generate-image, edit-image, list-models, change-model, list-samplers, check-status). Descriptions are present but brief (avg 65 chars, below 194-char baseline). Parameter descriptions are adequate but lack constraint details (e.g., width/height ranges, sampler enum values). Output schemas are not documented, LLMs cannot predict response structure. Error handling is absent from visible code; no recovery guidance. Security: no secrets exposed as params (good), but no permission gates or audit logging visible. Composition is reasonable, tools are single-purpose and chainable (list-models → change-model). Overall: functional but below production baseline.
Change the active Stable Diffusion model
Check connection to Stable Diffusion WebUI
Edit an existing image using Stable Diffusion
Generate an image using Stable Diffusion from a text prompt
List all available Stable Diffusion models
List all available samplers in Stable Diffusion
Output schemas not documented. LLMs cannot predict response structure (e.g., what fields does generate-image return? Is it base64 string, file path, or object?). Breaks downstream tool chaining.
Parameter constraints missing. 'width' and 'height' lack min/max bounds; 'sampler_index' is free-form string instead of enum; 'cfg_scale' and 'steps' lack ranges. LLMs will pass invalid values.
Tool descriptions too brief (avg 65 chars vs 194-char baseline). 'List all available Stable Diffusion models' lacks context on when to call it or what structure it reveals. Insufficient for LLM selection.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | 2026-07-28+ | v2 |
No error handling or recovery guidance visible. API failures (timeout, 404, invalid model) return null or false with no actionable message. LLM cannot self-correct or retry intelligently.
No pagination or result limits documented. list-models and list-samplers return unbounded arrays; if SD WebUI has 100+ models, response bloats context window. No limit parameter or cursor guidance.