One hub, one MCP server and one CLI over every router, access point and VPN in a home network — pluggable drivers, no vendor app required.
Argus demonstrates solid naming conventions (verb_noun pattern: argus_overview, netgear_nighthawk_radio_set) and comprehensive descriptions (avg 120 chars, all tools documented). However, schema quality is inconsistent: 11 tools have empty input schemas ({}), forcing a hard cap at 0 for schema scoring on those tools. Write-path tools (netgear_nighthawk_radio_set, netgear_nighthawk_ssid_set, devolo_dlan_ssid_set) properly declare confirm/dryRun parameters with descriptions, but lack explicit output schema documentation. Error handling is present (ArgusError class, recovery guidance in descriptions like 'may take a few seconds'), but not all tools document what errors they can raise or how to recover. Composition is strong: tools chain well (argus_capabilities feeds into argus_invoke), and the escape-hatch pattern (argus_invoke) is well-designed. Security is good: no credentials in parameters, confirm gates on destructive ops. Overall: above-average naming and descriptions, but empty schemas on 61% of tools and missing output documentation drag the score down.
Every capability across every device, with its reference and kind. Use with argus_invoke when a capability has no dedicated tool.
Escape hatch: calls any capability as "<device>.<capability>". Same path, same guards as the dedicated tools.
Every device Argus manages, whether it answered just now, and what it reports about itself. Start here.
One verdict on whether the network is exposed right now — gateway, access points and VPN read together. Answers "am I actually protected".
Scan the air on devolo dLAN (WiFi powerline adapter). Read-only probe; may take a few seconds.
Associated clients on devolo dLAN (WiFi powerline adapter). Read-only.
11 of 18 tools (61%) have empty input schemas ({}). This prevents LLMs from understanding parameter constraints and invites hallucinated values.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., device IDs for chaining). Responses are returned as text blobs, not structured objects.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 46 | 2026-07-28+ | v2 |
Live radio state on devolo dLAN (WiFi powerline adapter). Read-only.
Rename every non-guest network on devolo dLAN (WiFi powerline adapter). CHANGES DEVICE STATE. Runs as a dry run by default; pass confirm: true and dryRun: false to apply.
Saved wireless config on devolo dLAN (WiFi powerline adapter). Read-only.
Per-band wireless state on NETGEAR Nighthawk (RAX / R series). Read-only.
Attached devices on NETGEAR Nighthawk (RAX / R series). Read-only.
Device info on NETGEAR Nighthawk (RAX / R series). Read-only.
Compare passphrases without revealing them on NETGEAR Nighthawk (RAX / R series). Read-only probe; may take a few seconds.
Turn one band on or off on NETGEAR Nighthawk (RAX / R series). CHANGES DEVICE STATE. Runs as a dry run by default; pass confirm: true and dryRun: false to apply.
Fire a SOAP action verbatim on NETGEAR Nighthawk (RAX / R series). Read-only probe; may take a few seconds.
Rename a band (2.4 GHz only on current firmware) on NETGEAR Nighthawk (RAX / R series). CHANGES DEVICE STATE. Runs as a dry run by default; pass confirm: true and dryRun: false to apply.
Post the wireless form (currently rejected — see wlan-form.mjs) on NETGEAR Nighthawk (RAX / R series). CHANGES DEVICE STATE. Runs as a dry run by default; pass confirm: true and dryRun: false to apply.
Reconstruct the wireless page POST body on NETGEAR Nighthawk (RAX / R series). Read-only probe; may take a few seconds.
Read-only tools (argus_overview, argus_posture, netgear_nighthawk_info, etc.) lack pagination parameters (limit, offset, cursor). If devices or capabilities lists grow large, responses will bloat context and degrade LLM reasoning.
Tool descriptions lack dependency hints and discovery guidance. E.g., argus_capabilities says 'Use with argus_invoke when a capability has no dedicated tool' but does not explain when to call argus_capabilities first or how to interpret its output for downstream calls.
Error handling is implicit (ArgusError class exists) but tool descriptions do not document what errors each tool can raise or how to recover. E.g., netgear_nighthawk_radio_set does not explain what happens if the device is offline or if the band does not exist.