Tool tree
gradeNot graded
describe_sessionAnswer
Summarise loaded files, selected signals and their axes, decode states, visible ranges, crosshairs and legend readout. Use screenshots to inspect the plot shape.
View tool JSON
{
"name": "describe_session",
"kind": "answer",
"impl": "imperative",
"description": "Summarise loaded files, selected signals and their axes, decode states, visible ranges, crosshairs and legend readout. Use screenshots to inspect the plot shape.",
"inputSchema": {
"type": "object",
"additionalProperties": false
}
}search_signalsAnswer
Search the loaded DBC and MF4-native signal catalogues. Results contain stable keys for later tool calls.
View tool JSON
{
"name": "search_signals",
"kind": "answer",
"impl": "imperative",
"description": "Search the loaded DBC and MF4-native signal catalogues. Results contain stable keys for later tool calls.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Signal, message, or CAN identifier text."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"default": 25
}
},
"required": [
"query"
],
"additionalProperties": false
}
}set_signal_selectionAction
Select or deselect signals by stable key or exact label. Selection decodes signals for plotting and inspection.
View tool JSON
{
"name": "set_signal_selection",
"kind": "act",
"impl": "imperative",
"description": "Select or deselect signals by stable key or exact label. Selection decodes signals for plotting and inspection.",
"inputSchema": {
"type": "object",
"properties": {
"signals": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"maxItems": 50
},
"selected": {
"type": "boolean"
}
},
"required": [
"signals",
"selected"
],
"additionalProperties": false
}
}set_time_windowAction
Set the visible plot time window in trace-relative milliseconds, clamped to the plot domain, preserving Y zoom. Omit both bounds to reset all axes to their full extent.
View tool JSON
{
"name": "set_time_window",
"kind": "act",
"impl": "imperative",
"description": "Set the visible plot time window in trace-relative milliseconds, clamped to the plot domain, preserving Y zoom. Omit both bounds to reset all axes to their full extent.",
"inputSchema": {
"type": "object",
"properties": {
"startMs": {
"type": "number"
},
"endMs": {
"type": "number"
}
},
"additionalProperties": false
}
}inspect_at_timesAnswer
Read nearest decoded samples, units, enum labels and deltas without moving the plot. Omit timesMs to read current crosshairs in C1/C2 order. Sample timestamps and distances show sampling uncertainty; nearest samples are not interpolated or necessarily simultaneous.
View tool JSON
{
"name": "inspect_at_times",
"kind": "answer",
"impl": "imperative",
"description": "Read nearest decoded samples, units, enum labels and deltas without moving the plot. Omit timesMs to read current crosshairs in C1/C2 order. Sample timestamps and distances show sampling uncertainty; nearest samples are not interpolated or necessarily simultaneous.",
"inputSchema": {
"type": "object",
"properties": {
"timesMs": {
"type": "array",
"items": {
"type": "number"
},
"minItems": 1,
"maxItems": 20
},
"signals": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"maxItems": 20,
"description": "Stable keys or exact labels. Omit to inspect plotted signals."
}
},
"additionalProperties": false
}
}set_crosshairsAction
Replace the plot crosshairs; use an empty array to clear them. Times are trace-relative milliseconds, clamped to the full plot domain. Optional value is the horizontal marker in primary Y-axis units; omitted values keep that marker's height or use the viewport centre. The time window stays unchanged.
View tool JSON
{
"name": "set_crosshairs",
"kind": "act",
"impl": "imperative",
"description": "Replace the plot crosshairs; use an empty array to clear them. Times are trace-relative milliseconds, clamped to the full plot domain. Optional value is the horizontal marker in primary Y-axis units; omitted values keep that marker's height or use the viewport centre. The time window stays unchanged.",
"inputSchema": {
"type": "object",
"properties": {
"crosshairs": {
"type": "array",
"maxItems": 2,
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"enum": [
1,
2
]
},
"timeMs": {
"type": "number"
},
"value": {
"type": "number"
}
},
"required": [
"id",
"timeMs"
],
"additionalProperties": false
}
},
"readout": {
"type": "string",
"enum": [
"c1",
"c2",
"delta"
],
"description": "Legend readout. Delta requires both markers."
}
},
"required": [
"crosshairs"
],
"additionalProperties": false
}
}set_signal_axesAction
Assign selected signals to axis numbers Y1–Y5 in legend order, creating axes as needed. Existing signals keep their assignments unless listed. Axes refit using the same behaviour as the legend move menu; existing Y zoom is retained.
View tool JSON
{
"name": "set_signal_axes",
"kind": "act",
"impl": "imperative",
"description": "Assign selected signals to axis numbers Y1–Y5 in legend order, creating axes as needed. Existing signals keep their assignments unless listed. Axes refit using the same behaviour as the legend move menu; existing Y zoom is retained.",
"inputSchema": {
"type": "object",
"properties": {
"assignments": {
"type": "array",
"minItems": 1,
"maxItems": 50,
"items": {
"type": "object",
"properties": {
"signal": {
"type": "string"
},
"axis": {
"type": "integer",
"minimum": 1,
"maximum": 5
}
},
"required": [
"signal",
"axis"
],
"additionalProperties": false
}
}
},
"required": [
"assignments"
],
"additionalProperties": false
}
}