You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/norfab_changelog.md
+6Lines changed: 6 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,12 +4,18 @@
4
4
5
5
1. Fixing nornir tests nfcli shell to pass verbose_on_fail to results processing, to make sure return results as table even when have failed tests.
6
6
7
+
## FEATURES
8
+
9
+
1. Added FastMCP tool call guardrails to reject unsafe MCP tool calls before NorFab job dispatch. Guardrails can be defined by tasks or FastMCP inventory, support `regex`, `contains`, and `equals` checks, can disable built-in task guardrails with `tools.disable_builtin_guardrails`, and are visible through `show fastmcp tools`.
10
+
7
11
## ENHANCEMENTS
8
12
9
13
1. Extended Nornir worker statistics with SID, NetBox, Containerlab inventory load statuses and managed `nornir_hosts` count.
10
14
2. Enhanced NetBox worker REST filtering to route task-side `pynetbox.filter()` calls through adaptive `bulk_filter`, automatically chunking long list filters to avoid URI length errors while preserving query options such as `fields`, `limit`, and `ordering`.
11
15
3. Improved result status coloring for nornir test task
12
16
4. Nornir show hosts table added index column
17
+
5. Enhanced Nornir `cli` task MCP metadata with default guardrails that block reboot, reload, restart, configuration-mode, shell-mode, OS/image/package operations, outbound `ssh`/`telnet`, commit, delete, clear, debug, reset, zeroize, and related state-changing commands when called through FastMCP.
18
+
6. Enhanced Nornir `cfg` task MCP metadata with default guardrails that block reboot, reload, restart, `do ...` and `run ...` operational escapes, delete, erase, zeroize, and outbound `ssh`/`telnet` commands when called through FastMCP.
Copy file name to clipboardExpand all lines: docs/workers/nornir/services_nornir_service_tasks_cfg.md
+18Lines changed: 18 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -25,6 +25,24 @@ Nornir service `cfg` task designed to send configuration to devices using SSH an
25
25
26
26
The task returns per-host configuration results. When supported by the plugin and `add_details=True`, output can include `changed`, `diff`, `failed`, `exception`, `connection_retry`, and `task_retry` details.
27
27
28
+
## MCP Guardrails
29
+
30
+
When exposed through FastMCP, the `cfg` task includes default guardrails that
31
+
reject configuration input attempting to execute operational commands from
32
+
configuration mode, such as Cisco-style `do ...` and Junos-style `run ...`
33
+
commands. They also reject reboot, reload, restart, delete, erase, zeroize,
34
+
`ssh`, and `telnet` commands. These guardrails apply only to MCP tool calls.
35
+
!!! warning
36
+
Guardrails inspect inline `config` values only. If `config` points to a
37
+
Filesharing path such as `nf://cfg/config.txt`, FastMCP checks the path
38
+
string, not the downloaded or rendered file content.
39
+
40
+
Use NFCLI to inspect the currently published guardrails:
41
+
42
+
```bash
43
+
show fastmcp tools service nornir name *cfg*
44
+
```
45
+
28
46
## Examples
29
47
30
48
Example of sending configuration commands to devices.
Copy file name to clipboardExpand all lines: docs/workers/nornir/services_nornir_service_tasks_cli.md
+24Lines changed: 24 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -31,6 +31,30 @@ and NAPALM libraries to communicate with devices.
31
31
32
32
The task returns per-host command output keyed by command. With `add_details=True`, the result can include Nornir task metadata such as failure state, exception text, retry counters, and plugin-specific details.
33
33
34
+
## MCP Guardrails
35
+
36
+
When exposed through FastMCP, the `cli` task includes default guardrails that
37
+
reject high-risk command values before a NorFab job is dispatched. The defaults
38
+
block commands that reboot, reload, or restart devices; enter configuration
39
+
mode; enter device shell modes such as `bash`, `shell`, or `guestshell`; or
40
+
change OS images or packages; open outbound sessions such as `ssh` or
41
+
`telnet`; or commit, delete, clear, debug, reset, or otherwise change device
42
+
state.
43
+
44
+
These guardrails apply only to MCP tool calls. They do not change direct NorFab
45
+
client, NFCLI, FastAPI, or worker behavior. FastMCP operators can add inventory
46
+
guardrails or disable built-in guardrails with `tools.disable_builtin_guardrails`.
47
+
!!! warning
48
+
Guardrails inspect inline `commands` values only. If `commands` points to a
49
+
Filesharing path such as `nf://cli/commands.txt`, FastMCP checks the path
50
+
string, not the downloaded or rendered file content.
51
+
52
+
Use NFCLI to inspect the currently published guardrails:
53
+
54
+
```bash
55
+
show fastmcp tools service nornir name *cli*
56
+
```
57
+
34
58
## Examples
35
59
36
60
Below is an example of how to use the Nornir CLI task to retrieve command outputs from devices.
0 commit comments