The rules
- Inspect before acting. Read the environment, the twin and its available controls first. With MCP:
cw_list_environments,cw_list_twins,cw_list_control_surfaces. - Plan, then wait. Planning never moves anything. Show the plan, including the target twin, direction and limits, and wait for approval.
- One bounded action per approval. One pose, one joint target, one navigation goal or one stop. Never chain several motions on one approval.
- Simulation first. Run the action in simulation and check the result. Plan again for the real robot.
- Verify, don’t assume. An accepted command does not prove motion. Read pose or joint telemetry before and after, and report what was observed.
- Don’t retry blindly. If an action times out or its status is unclear, don’t resend it. Read the twin’s state, send a stop if it is safe, and ask the operator.
- Ask before destructive changes. Confirm before deleting twins, environments, workflows, models or datasets.
What needs approval
Built-in guardrails
- Control dispatch needs confirmation.
cw.control.dispatch()defaults toconfirmed=False. The MCP toolcw_plan_control_actiononly plans;cw_dispatch_control_actionsends one explicit action. - Motion limits. MCP action tools reject navigation over 5.0 m (
NAV_DISTANCE_TOO_LARGE) and joint changes over 0.7 rad (JOINT_DELTA_TOO_LARGE). Self-hosted servers can change these limits. - Workflows-only environments. If an environment’s control plane is set to workflows only, direct dispatch fails with
CONTROL_PLANE_POLICY_DENIED. - Preview-first prompts. The MCP server ships
safe_navigation,safe_manipulationandinspect_then_actprompts that enforce this flow.
Before a live action
Check all four before approving motion on real hardware:- The request really is for physical execution, not simulation.
- Exactly one physical twin is targeted.
- The twin’s edge device is online and its telemetry is current.
- A person can stop the robot. Keep the twin’s controller panel open, one click from takeover.
Related
Control agent
Plan, approve and dispatch from the dashboard or Python.
Teleoperation and takeover
Take control of a twin from the dashboard.