SuzieQ Network Observability
Server & Configuration
- Server script:
mcp-servers/suzieq-mcp/server.py
- Transport: stdio (JSON-RPC 2.0)
- Environment variables:
SUZIEQ_API_URL, SUZIEQ_API_KEY
- Optional:
SUZIEQ_VERIFY_SSL (default: true), SUZIEQ_TIMEOUT (default: 30s)
All 5 Available Tools
1. suzieq_show
Query detailed network state data from any SuzieQ table. Supports filtering by device, namespace, time range, and columns. Use for current or historical (time-travel) network state queries.
table (string, required): SuzieQ table name (e.g., "bgp", "route", "interface")
namespace (string): Filter by SuzieQ namespace
hostname (string): Filter by device hostname
columns (string): Comma-separated column names to return
start_time (string): Start time for time-travel query (ISO 8601 or relative e.g., "1h", "2d")
end_time (string): End time for time-travel query
view (string): Data view: "latest", "all", or "changes"
filters (string): Additional key=value pairs separated by ampersand
Use when: Querying current network state, investigating specific devices, performing time-travel queries for historical analysis.
2. suzieq_summarize
Get aggregated statistics and summary views of any SuzieQ network table. Returns counts, distributions, and per-device breakdowns.
table (string, required): SuzieQ table name
namespace (string): Filter by SuzieQ namespace
hostname (string): Filter by device hostname
start_time (string): Start time for historical summary
end_time (string): End time for historical summary
Use when: Getting high-level network overview, distribution analysis, capacity planning.
3. suzieq_assert
Run validation assertions against network state. Checks conditions like "all BGP peers established" or "no interface errors".
table (string, required): Must be one of: bgp, ospf, interface, evpnVni
namespace (string): Filter by SuzieQ namespace
hostname (string): Filter by device hostname
Use when: Validating network health, pre/post-change verification, compliance checks.
4. suzieq_unique
Get distinct values and their counts for a specific column in a SuzieQ table.
table (string, required): SuzieQ table name
column (string, required): Column name to get unique values for
namespace (string): Filter by SuzieQ namespace
hostname (string): Filter by device hostname
Use when: Understanding value distributions (unique VRFs, BGP states, interface types).
5. suzieq_path
Trace the forwarding path between two endpoints through the network.
namespace (string, required): SuzieQ namespace
source (string, required): Source IP address
destination (string, required): Destination IP address
vrf (string): VRF name (default: "default")
Use when: Troubleshooting connectivity, verifying forwarding paths, path analysis.
Workflow
- Start with
suzieq_show or suzieq_summarize to understand current network state
- Use
suzieq_assert to validate health (BGP established, OSPF full, interfaces up)
- Use
suzieq_unique to explore value distributions for specific columns
- Use
suzieq_path to trace forwarding paths between endpoints
- Use
start_time/end_time on show/summarize for time-travel historical analysis
Supported Tables
address, arpnd, bgp, device, devconfig, evpnVni, fs, ifCounters, interface, inventory, lldp, mac, mlag, namespace, network, ospf, route, sqPoller, topology, vlan
1---
2name: suzieq-observability
3description: "SuzieQ network observability — query current and historical network state, run validation assertions, get summary statistics, trace forwarding paths, and discover unique values across 20+ network tables. Use when investigating BGP/OSPF state, checking interface health, performing time-travel queries, validating network assertions, or tracing packet paths through the network via SuzieQ."
4license: Apache-2.0
5user-invocable: true
6metadata:
7 { "openclaw": { "requires": { "bins": ["python3"], "env": ["SUZIEQ_API_URL", "SUZIEQ_API_KEY"] } } }
8---
9
10# SuzieQ Network Observability
11
12## Server & Configuration
13
14- **Server script:** `mcp-servers/suzieq-mcp/server.py`
15- **Transport:** stdio (JSON-RPC 2.0)
16- **Environment variables:** `SUZIEQ_API_URL`, `SUZIEQ_API_KEY`
17- **Optional:** `SUZIEQ_VERIFY_SSL` (default: true), `SUZIEQ_TIMEOUT` (default: 30s)
18
19## All 5 Available Tools
20
21### 1. `suzieq_show`
22
23Query detailed network state data from any SuzieQ table. Supports filtering by device, namespace, time range, and columns. Use for current or historical (time-travel) network state queries.
24
25- `table` (string, required): SuzieQ table name (e.g., "bgp", "route", "interface")
26- `namespace` (string): Filter by SuzieQ namespace
27- `hostname` (string): Filter by device hostname
28- `columns` (string): Comma-separated column names to return
29- `start_time` (string): Start time for time-travel query (ISO 8601 or relative e.g., "1h", "2d")
30- `end_time` (string): End time for time-travel query
31- `view` (string): Data view: "latest", "all", or "changes"
32- `filters` (string): Additional key=value pairs separated by ampersand
33
34**Use when:** Querying current network state, investigating specific devices, performing time-travel queries for historical analysis.
35
36### 2. `suzieq_summarize`
37
38Get aggregated statistics and summary views of any SuzieQ network table. Returns counts, distributions, and per-device breakdowns.
39
40- `table` (string, required): SuzieQ table name
41- `namespace` (string): Filter by SuzieQ namespace
42- `hostname` (string): Filter by device hostname
43- `start_time` (string): Start time for historical summary
44- `end_time` (string): End time for historical summary
45
46**Use when:** Getting high-level network overview, distribution analysis, capacity planning.
47
48### 3. `suzieq_assert`
49
50Run validation assertions against network state. Checks conditions like "all BGP peers established" or "no interface errors".
51
52- `table` (string, required): Must be one of: bgp, ospf, interface, evpnVni
53- `namespace` (string): Filter by SuzieQ namespace
54- `hostname` (string): Filter by device hostname
55
56**Use when:** Validating network health, pre/post-change verification, compliance checks.
57
58### 4. `suzieq_unique`
59
60Get distinct values and their counts for a specific column in a SuzieQ table.
61
62- `table` (string, required): SuzieQ table name
63- `column` (string, required): Column name to get unique values for
64- `namespace` (string): Filter by SuzieQ namespace
65- `hostname` (string): Filter by device hostname
66
67**Use when:** Understanding value distributions (unique VRFs, BGP states, interface types).
68
69### 5. `suzieq_path`
70
71Trace the forwarding path between two endpoints through the network.
72
73- `namespace` (string, required): SuzieQ namespace
74- `source` (string, required): Source IP address
75- `destination` (string, required): Destination IP address
76- `vrf` (string): VRF name (default: "default")
77
78**Use when:** Troubleshooting connectivity, verifying forwarding paths, path analysis.
79
80## Workflow
81
821. Start with `suzieq_show` or `suzieq_summarize` to understand current network state
832. Use `suzieq_assert` to validate health (BGP established, OSPF full, interfaces up)
843. Use `suzieq_unique` to explore value distributions for specific columns
854. Use `suzieq_path` to trace forwarding paths between endpoints
865. Use `start_time`/`end_time` on show/summarize for time-travel historical analysis
87
88## Supported Tables
89
90address, arpnd, bgp, device, devconfig, evpnVni, fs, ifCounters, interface, inventory, lldp, mac, mlag, namespace, network, ospf, route, sqPoller, topology, vlan