robot-nxt-control
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| current_programA | Report the currently running .rxe program, if any. |
| cycle_motor_on_touchB | Cycle a motor between touch press/release phases, then beep on success. |
| delete_fileC | Delete one NXT user-flash file. |
| drive_syncB | Start a firmware-synchronised two-motor drive pair. |
| emergency_stopA | Immediately coast all three output ports. |
| get_behaviorB | Return the source of a saved behavior. |
| i2c_transactionC | Perform one bounded opt-in NXT low-speed/I2C transaction. |
| keep_aliveA | Reset the stock firmware standby timer and report its configured timeout. |
| list_behaviorsA | List saved PC-side Python behaviors. |
| list_filesC | List files stored in NXT user flash. |
| log_exportB | Export completed or active telemetry samples as CSV. |
| log_startB | Start a bounded host-side telemetry log job. |
| log_statusA | Read the state and sample count of a telemetry job. |
| log_stopA | Request a telemetry job to stop. |
| mailbox_receiveC | Receive one NXT mailbox message. |
| mailbox_sendA | Send a bounded UTF-8 NXT mailbox message. |
| motor_positionA | Read a motor's absolute and raw encoder positions in degrees. |
| motor_stateA | Read detailed observable state for one motor. |
| move_motor_absoluteA | Move one motor to an absolute position relative to its last zero. |
| move_motor_relativeB | Rotate one motor by bounded relative encoder degrees, then stop. |
| move_motors_absoluteA | Move several motors concurrently to independent absolute positions. |
| move_motors_relativeB | Move several motors concurrently by independent bounded degrees. |
| nxt_infoA | Return identity, battery, and free storage for the connected NXT. |
| play_sound_fileB | Play an existing .rso sound file stored on the NXT. |
| play_toneC | Play a tone on the NXT brick. |
| query_all_stateB | Query the brick and all motor and sensor port states. |
| read_fileB | Read a bounded UTF-8-compatible file from NXT user flash. |
| read_sensorC | Configure and read one sensor port. |
| read_sensor_rawC | Return raw, normalized, scaled, and firmware sensor values. |
| read_sensor_relativeA | Read change from a previously captured sensor zero reference. |
| run_behaviorC | Run a saved behavior through the monitored robot interface. |
| run_motorB | Run a motor continuously; it keeps moving until explicitly stopped. |
| run_motor_until_sensorC | Run a motor until a sensor condition, timeout, or travel limit. |
| run_motorsA | Start one to three motors together with signed continuous power. |
| run_motors_until_sensorA | Run a motor group until a sensor condition or safety limit. |
| sensor_streamC | Collect a bounded series of sensor readings. |
| set_brick_nameA | Set the NXT's short ASCII display name. |
| start_programB | Start an .rxe program already stored on the NXT. |
| stop_motorA | Stop one motor, optionally actively holding its position. |
| stop_motorsA | Stop one to three motors together. |
| stop_programA | Stop the currently running .rxe program. |
| stop_soundA | Stop active brick sound playback. |
| submit_behaviorB | Validate and save a trusted PC-side behavior. |
| validate_behaviorA | Validate a restricted PC-side behavior without saving or running it. |
| wait_motorsC | Wait for motor ports to stop; stop them safely when the deadline expires. |
| wait_sensorA | Wait for a debounced sensor condition without moving a motor. |
| write_fileB | Write bounded data or sound files to NXT user flash. |
| zero_motor_positionA | Stop a motor and reset its absolute encoder reference to zero. |
| zero_sensor_referenceC | Capture the current light, color-intensity, or ultrasonic value as relative zero. |
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 49 tools
Most tools are clearly separated by subsystem and action, and singular/plural variants like run_motor/run_motors or move_motor_relative/move_motors_relative are understandable from their descriptions. A few near-overlaps exist among read_sensor, read_sensor_raw, read_sensor_relative and among motor_state, motor_position, query_all_state, but these are unlikely to cause major misselection.
The majority of names follow a clear verb_noun pattern such as list_files, read_sensor, and stop_motor, and subsystem prefixes like log_, mailbox_, motor_, and sensor_ add predictability. Deviations such as nxt_info, current_program, sensor_stream, and resource-first log/mailbox names prevent it from being perfectly uniform.
49 tools is far above the typical 3-15 well-scoped range and will likely overwhelm agents, even though the NXT domain is broad. Several motor-control variants could be consolidated into fewer parameterized commands.
The tool set covers motor motion and position, sensor reading, file I/O, program execution, sound, telemetry, behaviors, mailbox communication, and system information, so core workflows are well supported. Minor gaps such as no explicit behavior deletion and no clear .rxe upload path keep it from being fully complete.