find_locomotive
Resolve a locomotive's spoken or typed name to its DCC address for throttle control. Handles partial, case-insensitive, accent-insensitive matches and asks for clarification when ambiguous.
Instructions
Resolve a locomotive's spoken/typed name to its DCC address.
Use this whenever the user names a locomotive ("the Autorail", "141R", "start the Pacific") instead of giving a DCC address directly — call this first to get the address, then pass that address to acquire_throttle/set_speed/set_direction/set_function/ lights_on/lights_off/etc.
Matching is tolerant: case-insensitive, accent-insensitive (useful for French names — "boite a sel" matches "Boite à Sel"), and accepts an exact name or an unambiguous partial match ("autorail" matches "Autorail"). If the name matches more than one roster entry, or matches none, this returns an "error" explaining why (listing the candidates or the full roster) instead of guessing — ask the user to clarify rather than picking one yourself.
Includes the same "dcc_system"/"dcc_system_name"/"max_speed_percent" fields as list_roster — see that tool's docstring for what they mean.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"name": "<name>"
},
"name": "find_locomotive"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes |