MCP batch renderer for Tahoma2D .tnz scenes (tcomposer + ffmpeg)
Four tools with basic schemas and descriptions, but significant gaps in parameter documentation, error handling, and output structure. Tool names lack clear action verbs (tahoma2d_* prefix is domain-specific but not action-oriented). Descriptions are present but generic (avg ~150 chars). Parameters have types but many lack descriptions or constraints. No documented output schemas. Error handling is minimal, mostly string returns without recovery guidance. No tool annotations (readOnlyHint/destructiveHint). Composition is reasonable (separate concerns), but parameter naming inconsistencies and missing validation guidance hurt usability.
Convert rendered frame sequences to video via ffmpeg. Operations: - to_video: Convert image sequence to MP4 - check_ffmpeg: Verify ffmpeg is installed Requires ffmpeg in PATH. Input pattern example: C:/renders/frame_%04d.png
Manage .tnz scene files. Operations: - list: Find .tnz files in a directory - info: Get metadata about a specific .tnz file - open: Launch Tahoma2D GUI with a scene file Returns scene file information.
Render .tnz scenes headlessly via tcomposer.exe. Operations: - render: Render a .tnz scene frame range to images - check: Verify tcomposer is available Requires a pre-existing .tnz scene file (create/edit via Tahoma2D GUI, then render here). Returns render result or availability check.
Check Tahoma2D MCP server and renderer availability. Operations: - status: Server health, tcomposer availability, version info - help: List available tools Returns status or help text.
Tool names lack action verbs. All four tools use 'tahoma2d_*' prefix without clear verb (export, project, render, status are nouns/weak verbs). LLMs struggle to infer intent from domain-prefixed names. Should be: 'convert_frames_to_video', 'list_scenes', 'render_scene', 'check_renderer_status'.
Parameters lack descriptions in several tools. 'operation' param in all four tools has a description, but 'directory', 'name', 'file_path' in tahoma2d_project lack clarity on expected format (absolute vs relative paths, wildcards, etc.). 'format' in tahoma2d_render is undescribed. LLMs cannot infer valid values.
No output schemas documented. All tools return plain strings ('ERROR: ...', 'Exported to ...', etc.). LLMs cannot parse structured results or chain tools. Should return JSON objects with typed fields (status, path, size, error_code, recovery_hint).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | 2025-06-18+ | v2 |
Error handling is minimal and non-actionable. Errors like 'ERROR: ffmpeg not found in PATH' or 'ERROR: file_path required' do not guide recovery. Should include: (1) error category (retryable/user-fixable/fatal), (2) recovery hint ('Install ffmpeg from https://ffmpeg.org'), (3) invalid value + constraint.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). tahoma2d_export and tahoma2d_render are destructive (write files), but LLMs have no signal. tahoma2d_project 'open' operation launches a GUI, side effect not documented. Should annotate per MCP spec.