BuildBB-0233

ETH Zurich project has a language model set rehab robot parameters over MCP

Celal Türkmen's ETH Zurich semester project has a language model convert a therapist's plain-language request into an MCP tool call for a rehabilitation robot. A validator built from each device's YAML file of parameters, units and bounds decides whether the call reaches the hardware. The README reports runs on a Novint Falcon haptic device under ROS 2 Jazzy.

Open original source github.com · Celal S. Turkmen

Claimed
Why this evidence label?

README and linked report describe end-to-end runs on a Novint Falcon with a latching emergency stop; images are renders, not footage.

How we check entries
Preview image for ETH Zurich project has a language model set rehab robot parameters over MCP
The source's own preview image, from github.com.

Briefing

The validator checks each value's type, its bounds and a per-parameter rate cap against the state the device reports, and it accepts or rejects a call as a whole. A latching emergency stop sits behind it, and force on the Falcon is clamped to 8 N. The report lists 20,000 generated commands with no invalid value reaching the device, and 0 of 500 commands getting through after an e-stop.

By the report's count, qwen3:4b on a laptop carried out 57% of 42 therapist instructions without reasoning and 76% with it. The project was done at the Sensory-Motor Systems Lab for the EU TAILOR project. The model-side host and the ROS 2 driver are not published, because they are other people's code.

From the GitHub API

Repository facts

Repository facts for celaltrk/rehab-robot-mcp, from the GitHub API
Repositorycelaltrk/rehab-robot-mcp
Stars1
LicenseMIT Permissive
LanguagePython
Last push12 Oct 2026 17 d ago

Tags

Report a problem with this entry