Exposes mugen-shell desktop control tools to MCP clients via stdio or HTTP bridge, enabling LLM-driven desktop automation
Seven tools with basic schemas and descriptions, but significant gaps in parameter documentation and output schema clarity. Tool names follow verb_noun convention (audio_set_volume, theme_get, calendar_add, app_launch, panel_open), which is good. However, most parameter descriptions are minimal (e.g., 'Volume level (0-100)' for audio_set_volume, 'Panel name (e.g. settings)' for panel_open). No output schemas documented anywhere in the source. Error handling is present (errorReporting=true) but not visible in tool definitions. The app_launch tool accepts 'cmd' with a constraint 'no arguments allowed' but this is buried in the description rather than enforced via schema. calendar_add requires date/time/title but lacks format validation hints in descriptions. No evidence of idempotency declarations, confirmation patterns for destructive ops, or recovery guidance in error messages.
Launch an application from the allowed apps list
Get current audio volume level
Set audio volume level
Add an event to the calendar
Open a panel in the mugen-shell UI
Get current theme (light or dark)
Set theme to light or dark mode
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields without knowing what each tool returns.
Parameter descriptions are minimal (10-30 chars). 'Panel name (e.g. settings)' and 'Volume level (0-100)' lack context on when to use the tool or what happens on success/failure.
app_launch constraint 'no arguments allowed' is documented only in the description, not enforced in the schema. LLMs may attempt to pass arguments, causing silent failures.
calendar_add date/time parameters lack format hints. Description says 'YYYY-MM-DD' and 'HH:MM' but no pattern constraint in schema. LLMs frequently miscalculate date formats.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | 2026-07-28+ | v2 |
No error recovery guidance visible. Tools like app_launch and panel_open offer no hints on what to do if the operation fails (e.g., 'app not found, try app_launch with a different name').