Shojiku MCP server: validate / render_preview / inspect_layout / capabilities / format_catalog tools over stdio, plus the bundled-example and authoring-reference read surfaces
shojiku-mcp defines 5 tools with basic schemas and descriptions, but falls short of production quality. All tools have descriptions (10-80 chars, below the 194-char baseline), and input schemas are present but minimal. Parameters lack detailed constraints, format specifications, and dependency documentation. No output schemas are documented. Error handling is absent, tools return raw results with no recovery guidance. Tool names are reasonable (validate, render_preview, inspect_layout, capabilities, format_catalog) but descriptions are terse and lack WHEN/WHY context. No tool annotations (readOnlyHint, etc.). The server is read-only (low risk), but the definitions do not meet the bar for confident LLM tool selection.
List the capabilities and supported features of the Shojiku engine
Get the format catalog with all available formatters and locale packs
Inspect the layout tree structure from definitions, templates, and params
Render a preview PNG from definitions, templates, and params
Validate definitions, templates, and params against the Shojiku schema
Descriptions are too brief (10-80 chars vs. 194-char baseline). LLMs cannot determine when to select each tool or what distinguishes validate from inspect_layout.
No output schemas documented. LLMs cannot plan downstream calls or extract required fields (e.g., what does render_preview return? PNG bytes? A file path? Metadata?).
Parameters lack format constraints and dependency hints. 'definitions', 'templates', 'params' are all strings with minimal guidance on YAML/JSON structure, required fields, or validation rules.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 43 | 2026-07-28+ | v2 |
No error handling or recovery guidance. If validate fails, the LLM has no actionable next step. No distinction between retryable vs. user-fixable errors.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). All tools are read-only, but this is not declared in the schema, forcing LLMs to infer safety.