ABB RobotStudio MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ABB_RWS_URL | No | Controller RWS (IP for real robots) | http://localhost:80 |
| ABB_RWS_PASS | No | RWS auth password | robotics |
| ABB_RWS_USER | No | RWS auth user | Default User |
| ABB_BRIDGE_URL | No | Add-In TcpListener endpoint | http://localhost:58080 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| rs_pingA | Check if RobotStudio ClaudeBridge Add-In is running and connected |
| rs_get_stationB | Get active RobotStudio station info (name, controllers) |
| rs_get_station_objectsA | List all objects in the station (robots, tools, smart components). Set bbox=true for bounding box and position data. |
| rs_save_stationB | Save the active station to disk |
| rs_get_tasksA | List RAPID tasks with module counts (SDK) |
| rs_get_modulesA | List RAPID modules in a task (SDK) |
| rs_read_moduleC | Read full RAPID source code of a module (SDK) |
| rs_write_moduleC | Write RAPID module source code into running controller (SDK) |
| rs_read_variableC | Read a RAPID variable initial value (SDK) |
| rs_write_variableC | Set a RAPID variable initial value (SDK) |
| rs_list_variablesB | List RAPID variables with optional type/module filter (SDK) |
| rs_get_execution_errorsA | Read controller event log for errors and warnings (SDK) |
| rs_get_screenshotB | Capture 3D view screenshot as base64 PNG (SDK) |
| rs_controller_statusA | Get controller state via SDK (systemState, runMode, simulation) |
| rs_start_simulationA | Start RobotStudio simulation (Play) |
| rs_stop_simulationA | Stop RobotStudio simulation |
| rs_pause_simulationB | Pause RobotStudio simulation |
| rs_reset_simulationA | Reset simulation to start position (stops simulation and resets PP) |
| rs_simulation_statusB | Get simulation state and time |
| rs_set_sim_speedB | Set simulation speed multiplier |
| rs_get_pathsA | List all robot paths in the station |
| rs_get_path_targetsC | Get targets/waypoints in a path |
| rs_create_pathC | Create a new robot path |
| rs_create_targetC | Create a new robot target at coordinates |
| rs_read_configA | Read controller config file (SYS.cfg, EIO.cfg, SIO.cfg, MOC.cfg) |
| rs_write_configD | Write controller config file |
| rs_check_collisionsB | Run collision check on station objects |
| rs_get_positionB | Get robot position via SDK |
| rs_get_io_signalsB | List I/O signals via SDK |
| rws_controller_statusB | Get controller state via RWS (opmode, motors, RAPID execution) |
| rws_set_motorsB | Turn motors on/off via RWS (real controller command) |
| rws_start_programC | Start RAPID execution on the controller via RWS |
| rws_stop_programC | Stop RAPID execution via RWS |
| rws_reset_ppA | Reset RAPID program pointer via RWS |
| rws_execution_stateB | Get RAPID execution state via RWS |
| rws_get_tasksB | List RAPID tasks via RWS |
| rws_get_modulesC | List RAPID modules in a task via RWS |
| rws_read_moduleC | Read RAPID module text via RWS |
| rws_write_moduleC | Write RAPID module text via RWS (auto-mastership) |
| rws_read_variableC | Read a RAPID variable's live runtime value via RWS |
| rws_write_variableC | Write a RAPID variable's live value via RWS |
| rws_get_positionC | Get live robot TCP position via RWS |
| rws_get_io_signalsB | List all I/O signals via RWS |
| rws_read_ioC | Read a single I/O signal via RWS |
| rws_write_ioC | Set an I/O signal value via RWS |
| rws_get_speed_overrideA | Get speed override percentage via RWS |
| rws_set_speed_overrideC | Set speed override (0-100%) via RWS |
| rws_event_logC | Get controller event log via RWS |
| rws_list_filesB | List files on controller filesystem via RWS |
| rws_read_fileC | Read a file from controller filesystem via RWS |
| rws_write_fileC | Write a file to controller filesystem via RWS |
| rws_request_mastershipA | Request mastership (needed for writes) |
| rws_release_mastershipD | Release mastership |
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 53 tools
Tools are clearly grouped by prefix (rs_ for RobotStudio SDK, rws_ for Robot Web Services), which helps an agent differentiate between simulation and real controller operations. However, some functions like rs_controller_status and rws_controller_status overlap in purpose, though descriptions clarify the different access methods.
All tools consistently use snake_case with the rs_ or rws_ prefix. Verbs such as get, set, read, write, start, stop are uniformly applied, making the naming predictable and easy to follow.
53 tools is a high count, but it is justified by the dual nature of the server covering both RobotStudio simulation and RWS real controller operations. Each sub-domain has a reasonable number of tools for its complexity, though the total might be slightly overwhelming for an agent.
The tool set covers a broad range of operations: station management, simulation control, path/target manipulation, I/O, file system, program execution, and variable reading/writing via both SDK and RWS. Minor gaps like deployment or user management are acceptable given the focus on programming and control.