ABB RobotStudio MCP Server
MCP server for ABB RobotStudio and robot controllers, exposing 55 tools via SDK and RWS transports for simulation, programming, and monitoring.
README
ABB RobotStudio MCP Server — LiskinLabs Edition
v2.0.0 — Fork of eliasbitsch/abb-robotstudio-mcp with TcpListener transport, 55 MCP tools, AutoLoad, and security hardening.
Model Context Protocol server for ABB RobotStudio and ABB robot controllers.
Exposes 55 tools across two transports:
rs_*(31 tools) — RobotStudio SDK via TcpListener Add-In. Inspect/edit stations, targets, paths, modules, variables, IO, configs. Drive simulation. Capture screenshots.rws_*(24 tools) — Robot Web Services REST API direct to controller. Motors, program control, IO, files, mastership, event log.
Tested: ABB RobotStudio 2025 + IRB 4600 Virtual Controller (IRC5).
✨ Improvements over original v1.0.0
| Feature | Original | LiskinLabs v2.0.0 |
|---|---|---|
| HTTP Transport | HttpListener — needs netsh http add urlacl (admin) |
TcpListener — zero admin rights |
| Tools | 50 | 55 (+5 new) |
| Add-In startup | Manual "Load Add-In" each session | AutoLoad |
| Screenshot | ❌ | ✅ rs_get_screenshot |
| Event Log (SDK) | ❌ | ✅ rs_get_execution_errors |
| Variable listing | ❌ | ✅ rs_list_variables (type/module filter) |
| Bounding Box | ❌ | ✅ rs_get_station_objects?bbox=true |
| IO Signals (SDK) | Stubs → "not implemented" | ✅ Real API |
| RAPID upload | Raw UTF-8 | ✅ BOM-free + CRLF |
| Simulation reset | Stop only | ✅ Stop + PP reset |
| Request timeout | None | ✅ 15-30s AbortController |
| Path validation | N/A | ✅ Screenshot sandboxed |
| CORS | N/A | ✅ Removed (not a browser API) |
New MCP Tools in v2.0.0
| Tool | Description |
|---|---|
rs_get_screenshot |
Capture 3D view → base64 PNG (width/height params) |
rs_get_execution_errors |
Controller event log via SDK (count param) |
rs_list_variables |
RAPID variables with type/module filters |
rs_get_station_objects |
Now supports bbox=true for position + dimensions |
Quick Start
1. Build
git clone https://github.com/LiskinLabs/abb-robotstudio-mcp.git
cd abb-robotstudio-mcp
# TypeScript MCP Server
cd src && npm install && npm run build && cd ..
# C# Add-In
cd addin && dotnet build ClaudeBridge.csproj && cd ..
2. Install Add-In
# As Administrator (copies to Program Files)
powershell -ExecutionPolicy Bypass -File install-addin.ps1
# Or specify RobotStudio version:
powershell -ExecutionPolicy Bypass -File install-addin.ps1 -RobotStudioVersion "2024"
3. Configure Claude Code
Add to .mcp.json:
{
"mcpServers": {
"abb-robotstudio": {
"command": "node",
"args": ["C:/path/to/abb-robotstudio-mcp/dist/index.js"],
"env": {
"ABB_BRIDGE_URL": "http://localhost:58080",
"ABB_RWS_URL": "http://localhost:80",
"ABB_RWS_USER": "Default User",
"ABB_RWS_PASS": "robotics"
}
}
}
}
4. Launch RobotStudio
- Open a station with Virtual Controller
- Add-In loads automatically (AutoLoad)
- Verify:
curl http://localhost:58080/ping
No admin rights needed — TcpListener binds to 127.0.0.1 natively.
Architecture
AI Assistant ←→ MCP stdio ←→ TypeScript Server ←→ HTTP ←→ C# Add-In (TcpListener :58080)
←→ REST → Controller RWS (:80)
- C# Add-In (.NET 4.8):
TcpListener(IPAddress.Loopback, 58080), manual HTTP parsing, 32+ endpoints, UI thread marshaling - TypeScript (Node.js 18+): 55 MCP tools, AbortController timeouts, structured error handling
All 55 Tools
SDK (rs_*) — 31 tools
rs_ping rs_get_station rs_get_station_objects rs_save_station
rs_get_tasks rs_get_modules rs_read_module rs_write_module
rs_read_variable rs_write_variable rs_list_variables rs_get_execution_errors
rs_get_screenshot rs_controller_status
rs_start_simulation rs_stop_simulation rs_pause_simulation rs_reset_simulation
rs_simulation_status rs_set_sim_speed
rs_get_paths rs_get_path_targets rs_create_path rs_create_target
rs_read_config rs_write_config rs_check_collisions
rs_get_position rs_get_io_signals
RWS (rws_*) — 24 tools
rws_controller_status rws_set_motors rws_start_program rws_stop_program
rws_reset_pp rws_execution_state rws_get_tasks rws_get_modules
rws_read_module rws_write_module rws_read_variable rws_write_variable
rws_get_position rws_get_io_signals rws_read_io rws_write_io
rws_get_speed_override rws_set_speed_override rws_event_log
rws_list_files rws_read_file rws_write_file
rws_request_mastership rws_release_mastership
Environment Variables
| Variable | Default | Purpose |
|---|---|---|
ABB_BRIDGE_URL |
http://localhost:58080 |
Add-In TcpListener endpoint |
ABB_RWS_URL |
http://localhost:80 |
Controller RWS (IP for real robots) |
ABB_RWS_USER |
Default User |
RWS auth user |
ABB_RWS_PASS |
robotics |
RWS auth password |
Safety
⚠️ These tools can move real hardware (rws_set_motors, rws_start_program, rws_write_*). Use a virtual controller for development. Point ABB_RWS_URL at a physical robot only when you fully understand the risks.
Credits & Attribution
- Original author: Elias Bitsch — abb-robotstudio-mcp (MIT License). The 50-tool foundation, SDK/RWS dual-transport architecture, and ClaudeBridge Add-In concept.
- Improvements: LiskinLabs — Silvestr Liskin & Claude Code
- TcpListener transport (eliminates admin rights requirement)
- 5 new MCP tools (screenshot, event log, variable listing, bounding box, IO signals)
- RAPID upload fixes (BOM-free UTF-8, CRLF normalization, module cleanup)
- AutoLoad manifest, security hardening, request timeouts
- Inspiration: zhou-zhichao/robotstudio-mcp — pioneered the TcpListener approach for Windows permission handling.
License
MIT — see LICENSE
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.