Enumerate and inspect the validated operations scene_apply accepts — call this BEFORE reaching for scene_script. The DSL is large (mesh editing, booleans, lathe/loft/sweep, curves, UV unwrap, modifiers, materials, lights, cameras, render settings, geometry nodes, batch and query ops), so most modelling does NOT need raw bpy. No args: every namespace with counts. guide=true (or op="guide" for older connector catalogs): full operating guide. namespace="mesh": that namespace's operations. Repeated details are object.radial_array or object.array_along_curve (no "pattern" namespace). Use world.update for the environment; validation is the separate scene_validate tool. search="boolean": ranked matches. op="mesh.bevel": the full JSON Schema with types, ranges and defaults. Schemas are introspected from the validator itself, so they are always exactly what scene_apply will accept. Full schemas are returned once in structuredContent; format="text" returns them in text instead. This tool is READ ONLY and free — it queues no job, spends no compute and changes nothing — so it is always safe to retry, including after a transport-level error.