Search Firewalla Alarms
firewalla_search_alarmsSearch active security alarms on your Firewalla network to monitor threats, audit events by device or type, and identify patterns like rogue devices or repeated attacks.
Instructions
Search active Firewalla alarms with the MSP query grammar. This is the primary tool for "what security events are happening right now?" audits.
Use this to answer:
"Any alarms from devices not in a known group?"
"How many alarms of type X in the last 24h, grouped by device?"
"Which remote countries are triggering the most alarms?"
"Any alarms relating to a specific device (by MAC)?"
Args:
query (string, optional): Firewalla query grammar. Examples:
type:1,device.mac:AA:BB:CC:DD:EE:FF,remote.country:CN,ts:>1700000000.group_by (string, optional): e.g.
device,type,remote.country.sort_by (string, optional): e.g.
ts:desc(default),ts:asc.limit (number, 1–500, default 200).
cursor (string, optional): pagination cursor from a prior response.
response_format ('markdown' | 'json'): Output format (default: markdown).
Returns: { count: number, // items in this page next_cursor?: string, // echo back to fetch the next page alarms: Array<{ aid, gid, type, ts, message, status?, device?: { id?, name?, ip? }, remote?: { ip?, country?, name?, region?, category? } }> }
Audit framing:
Alarm from an unknown MAC (device.id not in firewalla_list_devices) → rogue device.
Repeated alarms to the same remote.country → likely a single piece of malware, check firewalla_list_rules.
When counts get big, use group_by=type first for a birds-eye view, then drill.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Firewalla query string (pass-through). See Firewalla docs for the grammar — supports filters like `device.mac:AA:BB:CC:DD:EE:FF`, `blocked:true`, `region:CN`, `ts:>1700000000`, etc. Omit to match everything. | |
| group_by | No | Group results by one or more fields (comma-separated). Examples: `device`, `device,domain`, `region`. When set, results are aggregated per group. | |
| sort_by | No | Sort expression. Format: `<field>:<asc|desc>`. Common: `ts:desc` (default, newest first), `ts:asc` (oldest first), `download:desc` (biggest flows first). | |
| limit | No | Maximum results per page (1–500, default 200). Smaller values are recommended when auditing — easier to review. | |
| cursor | No | Pagination cursor echoed from a prior response's `next_cursor`. Omit for the first page. | |
| response_format | No | Output format. 'markdown' (default) renders human-readable audit tables. 'json' returns structured data suitable for chaining into another tool call. | markdown |