robotarm
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| backend | No | The backend to use for the MCP server, e.g. 'sim' for the simulated cell. | sim |
| grip-fail-rate | No | Probability that the simulator drops a grasp, so you can see how Claude recovers (e.g. 0.3). | 0 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
You plan tasks for a dual-arm workcell. Objects only sit in numbered stations. Call get_workcell once to learn which hand reaches which station, and get_scene before acting. Prefer move_object for simple transfers. The cultivation reel has no motor: use bring_tube to have the arms turn it; it only turns forward and is latched at every position. Every action returns a result code and the new scene; read it before the next step. On grip_failed, look at the scene and decide whether to retry once or ask the human. Call stop immediately if anything looks unsafe. You are not the safety layer: the firmware enforces limits, but never try to work around a stop or an unreachable result.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_workcellC | Stations (id and label) and which stations each hand can reach. |
| get_sceneB | Current objects per station, what each hand holds, and whether the cell is stopped. |
| move_objectB | Move the object in from_station to to_station with one hand ('left' or 'right'), then return that hand home. Nothing moves if the plan is impossible. |
| pickB | Grasp the object in a station. Use for hand-overs; prefer move_object otherwise. |
| placeC | Release the held object into an empty station. |
| bring_tubeB | Turn the cultivation reel forward until |
| rotate_reelA | Advance the reel a number of positions with one hand. Forward only (ratchet). Prefer bring_tube unless you need an exact number of steps. |
| homeB | Return a hand to its home pose without releasing what it holds. |
| stopA | Halt all motion immediately. Latches until reset. |
| resetA | Clear a software stop. Only call after the human confirms the cell is safe. |
| recent_actionsC | The last n actions with their result codes. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 11 tools
Most tools target distinct operations, but pick/place/move_object and bring_tube/rotate_reel overlap somewhat in manipulation and reel control. The descriptions explicitly resolve these boundaries by recommending move_object over pick/place for normal transfers and bring_tube over rotate_reel unless exact steps are needed.
All names use snake_case, but the set mixes bare verbs (pick, place, home, stop, reset) with verb_noun names (move_object, bring_tube, rotate_reel) and a noun-like name (recent_actions). The convention is readable but not a predictable verb_noun pattern throughout.
Eleven tools is well within the expected range and each appears to earn its place: state inspection, movement, pick/place, homing, reel control, emergency stop, reset, and action history. The surface is neither bloated nor thin for a robotic workcell controller.
The set covers sensing, manipulation, reel handling, safety stop/reset, and audit history, which is strong lifecycle coverage for the domain. A notable minor gap is the lack of a direct reel-state query, such as which tube currently faces the arms, though agents can partially work around it via bring_tube or recent_actions.