Both tools have minimal descriptions (under 50 chars) and lack parameter documentation. get_scene_info has an empty input schema ({}), violating the requirement that every parameter needs a description. execute_code has a single 'code' parameter with a basic description but no constraints (length, format, safety warnings). Neither tool documents output schemas, error handling, or recovery guidance. No tool annotations (readOnlyHint/destructiveHint) despite clear risk differences. Naming is acceptable (verb_noun pattern), but definitions fall far short of production quality.
Execute Python code in the Blender session
Get information about the current Blender scene
get_scene_info has empty input schema ({}). No documentation of what fields are returned or their types.
execute_code lacks input validation constraints. No mention of code length limits, timeout behavior, allowed/forbidden operations, or error recovery. Dangerous for a WRITE tool.
No tool annotations (readOnlyHint/destructiveHint/idempotentHint). execute_code is marked WRITE risk but has no destructiveHint annotation to signal to agents that it modifies state.
No output schema documentation. Agents cannot plan downstream calls or extract required fields. What does get_scene_info return? What structure does execute_code output?
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 38 | 2026-07-28+ | v2 |
No error handling guidance. If execute_code fails (syntax error, timeout, permission denied), what should the agent do? No recovery hints provided.