@usex/mikrotik-mcp 2.3.0 → 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +88 -62
- package/dist/cli.js +4293 -2094
- package/dist/index.d.ts +0 -4
- package/dist/index.js +3758 -2075
- package/dist/ui/dashboard.html +1 -1
- package/dist/ui/firewall-audit.html +20 -0
- package/dist/ui/firewall.html +1 -1
- package/dist/ui/interfaces.html +1 -1
- package/dist/ui/observability.html +11 -7
- package/dist/ui/records.html +1 -1
- package/package.json +4 -2
- package/schemas/README.md +5 -5
- package/schemas/tool-catalog.json +465 -4
- package/schemas/tools/apply_plan.json +23 -0
- package/schemas/tools/capture_config_snapshot.json +30 -0
- package/schemas/tools/diff_config_snapshots.json +31 -0
- package/schemas/tools/firewall_audit.json +19 -0
- package/schemas/tools/get_config_snapshot.json +16 -0
- package/schemas/tools/get_neighbor_discovery_settings.json +7 -0
- package/schemas/tools/list_config_snapshots.json +15 -0
- package/schemas/tools/list_neighbors.json +24 -0
- package/schemas/tools/mirror_traffic_to_capture.json +36 -0
- package/schemas/tools/packet_capture_status.json +16 -0
- package/schemas/tools/plan_changes.json +19 -0
- package/schemas/tools/remove_config_snapshot.json +16 -0
- package/schemas/tools/set_neighbor_discovery_settings.json +25 -0
- package/schemas/tools/start_packet_capture.json +31 -0
- package/schemas/tools/stop_packet_capture.json +7 -0
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"title": "capture_config_snapshot",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"properties": {
|
|
6
|
+
"label": {
|
|
7
|
+
"description": "Human label, e.g. 'pre-firewall-change'.",
|
|
8
|
+
"type": "string"
|
|
9
|
+
},
|
|
10
|
+
"section": {
|
|
11
|
+
"description": "RouterOS path without leading slash, e.g. \"ip firewall filter\". Omit for full config.",
|
|
12
|
+
"type": "string"
|
|
13
|
+
},
|
|
14
|
+
"terse": {
|
|
15
|
+
"default": true,
|
|
16
|
+
"description": "Use `/export terse` (one self-contained line per item) for cleaner diffs.",
|
|
17
|
+
"type": "boolean"
|
|
18
|
+
},
|
|
19
|
+
"show_sensitive": {
|
|
20
|
+
"default": false,
|
|
21
|
+
"type": "boolean"
|
|
22
|
+
},
|
|
23
|
+
"force": {
|
|
24
|
+
"default": false,
|
|
25
|
+
"type": "boolean"
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
"required": ["terse", "show_sensitive", "force"],
|
|
29
|
+
"additionalProperties": false
|
|
30
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"title": "diff_config_snapshots",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"properties": {
|
|
6
|
+
"from": {
|
|
7
|
+
"type": "string",
|
|
8
|
+
"description": "Baseline side: `<id>`, `latest` (newest stored), or `live` (capture the device now)."
|
|
9
|
+
},
|
|
10
|
+
"to": {
|
|
11
|
+
"default": "live",
|
|
12
|
+
"description": "Comparison side: `<id>`, `latest` (newest stored), or `live` (capture the device now). Defaults to live.",
|
|
13
|
+
"type": "string"
|
|
14
|
+
},
|
|
15
|
+
"context_lines": {
|
|
16
|
+
"default": 3,
|
|
17
|
+
"type": "integer",
|
|
18
|
+
"minimum": 0,
|
|
19
|
+
"maximum": 20
|
|
20
|
+
},
|
|
21
|
+
"max_output_lines": {
|
|
22
|
+
"default": 800,
|
|
23
|
+
"description": "Truncate the unified diff beyond this many lines.",
|
|
24
|
+
"type": "integer",
|
|
25
|
+
"minimum": 50,
|
|
26
|
+
"maximum": 5000
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"required": ["from", "to", "context_lines", "max_output_lines"],
|
|
30
|
+
"additionalProperties": false
|
|
31
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"title": "firewall_audit",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"properties": {
|
|
6
|
+
"include_nat": {
|
|
7
|
+
"default": true,
|
|
8
|
+
"description": "Also audit `/ip firewall nat`.",
|
|
9
|
+
"type": "boolean"
|
|
10
|
+
},
|
|
11
|
+
"include_mangle": {
|
|
12
|
+
"default": false,
|
|
13
|
+
"description": "Also audit `/ip firewall mangle`.",
|
|
14
|
+
"type": "boolean"
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"required": ["include_nat", "include_mangle"],
|
|
18
|
+
"additionalProperties": false
|
|
19
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"title": "get_config_snapshot",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"properties": {
|
|
6
|
+
"id": {
|
|
7
|
+
"type": "string"
|
|
8
|
+
},
|
|
9
|
+
"include_body": {
|
|
10
|
+
"default": true,
|
|
11
|
+
"type": "boolean"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"required": ["id", "include_body"],
|
|
15
|
+
"additionalProperties": false
|
|
16
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"title": "list_config_snapshots",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"properties": {
|
|
6
|
+
"limit": {
|
|
7
|
+
"default": 50,
|
|
8
|
+
"type": "integer",
|
|
9
|
+
"minimum": 1,
|
|
10
|
+
"maximum": 500
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
"required": ["limit"],
|
|
14
|
+
"additionalProperties": false
|
|
15
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"title": "list_neighbors",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"properties": {
|
|
6
|
+
"interface_filter": {
|
|
7
|
+
"description": "Match the local discovery interface.",
|
|
8
|
+
"type": "string"
|
|
9
|
+
},
|
|
10
|
+
"identity_filter": {
|
|
11
|
+
"description": "Match the neighbour's identity (substring).",
|
|
12
|
+
"type": "string"
|
|
13
|
+
},
|
|
14
|
+
"address_filter": {
|
|
15
|
+
"description": "Match the neighbour's IP address (substring).",
|
|
16
|
+
"type": "string"
|
|
17
|
+
},
|
|
18
|
+
"mac_filter": {
|
|
19
|
+
"description": "Match the neighbour's MAC address (substring).",
|
|
20
|
+
"type": "string"
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"additionalProperties": false
|
|
24
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"title": "mirror_traffic_to_capture",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"properties": {
|
|
6
|
+
"receiver_host": {
|
|
7
|
+
"type": "string",
|
|
8
|
+
"description": "TZSP stream destination (this host's IP)."
|
|
9
|
+
},
|
|
10
|
+
"port": {
|
|
11
|
+
"default": 37008,
|
|
12
|
+
"type": "integer",
|
|
13
|
+
"minimum": 1,
|
|
14
|
+
"maximum": 65535
|
|
15
|
+
},
|
|
16
|
+
"chain": {
|
|
17
|
+
"default": "forward",
|
|
18
|
+
"type": "string",
|
|
19
|
+
"enum": ["forward", "input", "output", "prerouting", "postrouting"]
|
|
20
|
+
},
|
|
21
|
+
"src_address": {
|
|
22
|
+
"type": "string"
|
|
23
|
+
},
|
|
24
|
+
"dst_address": {
|
|
25
|
+
"type": "string"
|
|
26
|
+
},
|
|
27
|
+
"protocol": {
|
|
28
|
+
"type": "string"
|
|
29
|
+
},
|
|
30
|
+
"dst_port": {
|
|
31
|
+
"type": "string"
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
"required": ["receiver_host", "port", "chain"],
|
|
35
|
+
"additionalProperties": false
|
|
36
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"title": "packet_capture_status",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"properties": {
|
|
6
|
+
"limit": {
|
|
7
|
+
"default": 40,
|
|
8
|
+
"description": "Recent packets to include.",
|
|
9
|
+
"type": "integer",
|
|
10
|
+
"minimum": 1,
|
|
11
|
+
"maximum": 500
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"required": ["limit"],
|
|
15
|
+
"additionalProperties": false
|
|
16
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"title": "plan_changes",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"properties": {
|
|
6
|
+
"commands": {
|
|
7
|
+
"description": "Intended RouterOS CLI commands.",
|
|
8
|
+
"type": "array",
|
|
9
|
+
"items": {
|
|
10
|
+
"type": "string"
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
"script": {
|
|
14
|
+
"description": "Newline-delimited commands (alternative to `commands`).",
|
|
15
|
+
"type": "string"
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
"additionalProperties": false
|
|
19
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"title": "remove_config_snapshot",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"properties": {
|
|
6
|
+
"ids": {
|
|
7
|
+
"minItems": 1,
|
|
8
|
+
"type": "array",
|
|
9
|
+
"items": {
|
|
10
|
+
"type": "string"
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"required": ["ids"],
|
|
15
|
+
"additionalProperties": false
|
|
16
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"title": "set_neighbor_discovery_settings",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"properties": {
|
|
6
|
+
"discover_interface_list": {
|
|
7
|
+
"description": "Interface-list to run discovery on, e.g. \"all\", \"LAN\", \"none\".",
|
|
8
|
+
"type": "string"
|
|
9
|
+
},
|
|
10
|
+
"mode": {
|
|
11
|
+
"description": "Whether the router transmits and/or receives discovery frames.",
|
|
12
|
+
"type": "string",
|
|
13
|
+
"enum": ["tx-only", "rx-only", "tx-and-rx"]
|
|
14
|
+
},
|
|
15
|
+
"protocol": {
|
|
16
|
+
"description": "Comma-separated protocols, e.g. \"mndp,cdp,lldp\".",
|
|
17
|
+
"type": "string"
|
|
18
|
+
},
|
|
19
|
+
"lldp_med_net_policy_vlan": {
|
|
20
|
+
"description": "LLDP-MED network-policy VLAN, e.g. \"auto\" or a VLAN id.",
|
|
21
|
+
"type": "string"
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
"additionalProperties": false
|
|
25
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"title": "start_packet_capture",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"properties": {
|
|
6
|
+
"receiver_host": {
|
|
7
|
+
"type": "string",
|
|
8
|
+
"description": "IP this host is reachable at from the device (the TZSP stream destination)."
|
|
9
|
+
},
|
|
10
|
+
"port": {
|
|
11
|
+
"default": 37008,
|
|
12
|
+
"type": "integer",
|
|
13
|
+
"minimum": 1,
|
|
14
|
+
"maximum": 65535
|
|
15
|
+
},
|
|
16
|
+
"interface": {
|
|
17
|
+
"description": "Capture interface, or omit for all (`filter-interface`).",
|
|
18
|
+
"type": "string"
|
|
19
|
+
},
|
|
20
|
+
"protocol": {
|
|
21
|
+
"description": "Limit to an IP protocol, e.g. \"tcp\", \"icmp\".",
|
|
22
|
+
"type": "string"
|
|
23
|
+
},
|
|
24
|
+
"port_filter": {
|
|
25
|
+
"description": "Limit to a TCP/UDP port number.",
|
|
26
|
+
"type": "string"
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"required": ["receiver_host", "port"],
|
|
30
|
+
"additionalProperties": false
|
|
31
|
+
}
|