Tool tree
gradeNot graded
get_topologyAnswer
Inspect the current NetLab topology. Returns every device and physical connection in the live network lab. Use this first when you need to understand which devices exist and how they are connected.
View tool JSON
{
"name": "get_topology",
"kind": "answer",
"impl": "imperative",
"description": "Inspect the current NetLab topology. Returns every device and physical connection in the live network lab. Use this first when you need to understand which devices exist and how they are connected.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
}get_device_stateAnswer
Inspect the current configuration of one device in NetLab. Use this when diagnosing a specific PC or router after discovering its ID through get_topology. deviceId must be the stable internal device ID, not the display name.
View tool JSON
{
"name": "get_device_state",
"kind": "answer",
"impl": "imperative",
"description": "Inspect the current configuration of one device in NetLab. Use this when diagnosing a specific PC or router after discovering its ID through get_topology. deviceId must be the stable internal device ID, not the display name.",
"inputSchema": {
"type": "object",
"properties": {
"deviceId": {
"type": "string",
"description": "Stable internal device ID from get_topology (for example pc-1 or router-2)."
}
},
"required": [
"deviceId"
],
"additionalProperties": false
}
}test_connectivityAction
Test bidirectional IP connectivity between two endpoint devices using NetLab's deterministic simulator. Returns success/failure, packet path, routing decisions and structured failure information. Use this when determining whether two devices can communicate or diagnosing where connectivity fails. Updates the human packet-trace UI; does not change topology or configuration.
View tool JSON
{
"name": "test_connectivity",
"kind": "act",
"impl": "imperative",
"description": "Test bidirectional IP connectivity between two endpoint devices using NetLab's deterministic simulator. Returns success/failure, packet path, routing decisions and structured failure information. Use this when determining whether two devices can communicate or diagnosing where connectivity fails. Updates the human packet-trace UI; does not change topology or configuration.",
"inputSchema": {
"type": "object",
"properties": {
"sourceDeviceId": {
"type": "string",
"description": "Stable internal ID of the source device from get_topology."
},
"destinationDeviceId": {
"type": "string",
"description": "Stable internal ID of the destination device from get_topology."
}
},
"required": [
"sourceDeviceId",
"destinationDeviceId"
],
"additionalProperties": false
}
}add_static_routeAction
Add one static route to an existing router in the live NetLab workspace. Use this only when the user wants the network configuration changed. Calls the same add-route action as the human inspector. deviceId must be a router ID from get_topology. destination must be a valid IPv4 CIDR. nextHop must be a valid IPv4 address on a connected network.
View tool JSON
{
"name": "add_static_route",
"kind": "act",
"impl": "imperative",
"description": "Add one static route to an existing router in the live NetLab workspace. Use this only when the user wants the network configuration changed. Calls the same add-route action as the human inspector. deviceId must be a router ID from get_topology. destination must be a valid IPv4 CIDR. nextHop must be a valid IPv4 address on a connected network.",
"inputSchema": {
"type": "object",
"properties": {
"deviceId": {
"type": "string",
"description": "Stable internal router ID from get_topology (for example router-2)."
},
"destination": {
"type": "string",
"description": "IPv4 destination CIDR to add, for example 192.168.1.0/24."
},
"nextHop": {
"type": "string",
"description": "IPv4 next-hop address, for example 10.0.0.1."
}
},
"required": [
"deviceId",
"destination",
"nextHop"
],
"additionalProperties": false
}
}remove_static_routeAction
Remove one static route from an existing router in the live NetLab workspace. Use this only when the user wants the network configuration changed. Prefer routeId from get_device_state. If routeId is unknown, provide both destination and nextHop. Calls the same remove-route action as the human inspector.
View tool JSON
{
"name": "remove_static_route",
"kind": "act",
"impl": "imperative",
"description": "Remove one static route from an existing router in the live NetLab workspace. Use this only when the user wants the network configuration changed. Prefer routeId from get_device_state. If routeId is unknown, provide both destination and nextHop. Calls the same remove-route action as the human inspector.",
"inputSchema": {
"type": "object",
"properties": {
"deviceId": {
"type": "string",
"description": "Stable internal router ID from get_topology."
},
"routeId": {
"type": "string",
"description": "Stable route ID from get_device_state. Prefer this when available."
},
"destination": {
"type": "string",
"description": "IPv4 destination CIDR of the route to remove, used with nextHop when routeId is not provided."
},
"nextHop": {
"type": "string",
"description": "IPv4 next-hop of the route to remove, used with destination when routeId is not provided."
}
},
"required": [
"deviceId"
],
"additionalProperties": false
}
}highlight_deviceAction
Select a device on the shared NetLab canvas and open its inspector so the human can see it. Does not change network configuration. Use this to direct the human's attention to a specific device after diagnosing an issue.
View tool JSON
{
"name": "highlight_device",
"kind": "act",
"impl": "imperative",
"description": "Select a device on the shared NetLab canvas and open its inspector so the human can see it. Does not change network configuration. Use this to direct the human's attention to a specific device after diagnosing an issue.",
"inputSchema": {
"type": "object",
"properties": {
"deviceId": {
"type": "string",
"description": "Stable internal device ID from get_topology."
}
},
"required": [
"deviceId"
],
"additionalProperties": false
}
}