Tool tree
gradeNot graded
add_mac_addressesAction
Extract every MAC address from a block of text (ARP table, DHCP leases, nmap/pcap output, a spreadsheet paste) and add each one to the inventory as a pending row.
View tool JSON
{
"name": "add_mac_addresses",
"kind": "act",
"impl": "imperative",
"description": "Extract every MAC address from a block of text (ARP table, DHCP leases, nmap/pcap output, a spreadsheet paste) and add each one to the inventory as a pending row.",
"inputSchema": {
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "Raw text containing MAC addresses in any common format."
}
},
"required": [
"text"
]
}
}load_sample_dataAction
Load the bundled sample capture (a messy mix of ARP, DHCP and nmap output, about a dozen MAC addresses across real vendors, VMs and randomized addresses) into the input box and add every address to the inventory as a pending row. Use this to run the workflow without the human pasting data.
View tool JSON
{
"name": "load_sample_data",
"kind": "act",
"impl": "imperative",
"description": "Load the bundled sample capture (a messy mix of ARP, DHCP and nmap output, about a dozen MAC addresses across real vendors, VMs and randomized addresses) into the input box and add every address to the inventory as a pending row. Use this to run the workflow without the human pasting data.",
"inputSchema": {
"type": "object",
"properties": {}
}
}lookup_macAnswer
Look up a single MAC address and add it to the inventory. Returns the full macadress.com record (vendor, device category, virtualization, special-use, randomization).
View tool JSON
{
"name": "lookup_mac",
"kind": "answer",
"impl": "imperative",
"description": "Look up a single MAC address and add it to the inventory. Returns the full macadress.com record (vendor, device category, virtualization, special-use, randomization).",
"inputSchema": {
"type": "object",
"properties": {
"mac": {
"type": "string",
"description": "A MAC address in any format (colon, hyphen, dotted, or bare hex)."
}
},
"required": [
"mac"
]
}
}enrich_inventoryAction
Resolve every pending MAC address in the inventory against macadress.com. Safe to call repeatedly; only unresolved rows are fetched.
View tool JSON
{
"name": "enrich_inventory",
"kind": "act",
"impl": "imperative",
"description": "Resolve every pending MAC address in the inventory against macadress.com. Safe to call repeatedly; only unresolved rows are fetched.",
"inputSchema": {
"type": "object",
"properties": {}
}
}summarize_inventoryAnswer
Return counts across the enriched inventory: totals, how many are privacy-randomized, locally administered or unregistered, and breakdowns by vendor, device category and virtualization platform.
View tool JSON
{
"name": "summarize_inventory",
"kind": "answer",
"impl": "imperative",
"description": "Return counts across the enriched inventory: totals, how many are privacy-randomized, locally administered or unregistered, and breakdowns by vendor, device category and virtualization platform.",
"inputSchema": {
"type": "object",
"properties": {}
}
}filter_inventoryAction
Set the table filter so the human sees a specific slice. field is one of: all, randomized, unregistered, virtualization, vendor, device. For vendor and device also pass value.
View tool JSON
{
"name": "filter_inventory",
"kind": "act",
"impl": "imperative",
"description": "Set the table filter so the human sees a specific slice. field is one of: all, randomized, unregistered, virtualization, vendor, device. For vendor and device also pass value.",
"inputSchema": {
"type": "object",
"properties": {
"field": {
"type": "string",
"enum": [
"all",
"randomized",
"unregistered",
"virtualization",
"vendor",
"device"
]
},
"value": {
"type": "string",
"description": "Required when field is \"vendor\" (exact organization name) or \"device\" (category)."
}
},
"required": [
"field"
]
}
}export_filter_listAction
Turn the currently visible (filtered) rows into a text artifact: an nftables ether_addr set, a Zeek annotation file, or CSV. Use after filter_inventory to hand the human something actionable.
View tool JSON
{
"name": "export_filter_list",
"kind": "act",
"impl": "imperative",
"description": "Turn the currently visible (filtered) rows into a text artifact: an nftables ether_addr set, a Zeek annotation file, or CSV. Use after filter_inventory to hand the human something actionable.",
"inputSchema": {
"type": "object",
"properties": {
"format": {
"type": "string",
"enum": [
"nftables",
"zeek",
"csv"
],
"default": "nftables"
}
},
"required": [
"format"
]
}
}clear_inventoryAction
Remove every row and reset the filter. Use when starting a new investigation.
View tool JSON
{
"name": "clear_inventory",
"kind": "act",
"impl": "imperative",
"description": "Remove every row and reset the filter. Use when starting a new investigation.",
"inputSchema": {
"type": "object",
"properties": {}
}
}