@usex/mikrotik-mcp 3.27.0 → 3.28.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.
@@ -0,0 +1,93 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "add_container",
4
+ "type": "object",
5
+ "properties": {
6
+ "name": {
7
+ "description": "Container name (recommended for management)",
8
+ "type": "string"
9
+ },
10
+ "remote_image": {
11
+ "description": "Registry image, e.g. 'library/alpine:latest'",
12
+ "type": "string"
13
+ },
14
+ "file": {
15
+ "description": "Local Docker-v1 tar on the device (alternative to remote_image)",
16
+ "type": "string"
17
+ },
18
+ "interface": {
19
+ "description": "VETH interface name",
20
+ "type": "string"
21
+ },
22
+ "root_dir": {
23
+ "description": "Filesystem root, e.g. 'disk1/myapp'",
24
+ "type": "string"
25
+ },
26
+ "env": {
27
+ "description": "Inline env vars: 'K=v,K2=v2' (7.21+)",
28
+ "type": "string"
29
+ },
30
+ "envlists": {
31
+ "description": "Named env list name(s) (add_container_env)",
32
+ "type": "string"
33
+ },
34
+ "mount": {
35
+ "description": "Inline mount: 'src=disk1/data,dst=/data' (7.21+)",
36
+ "type": "string"
37
+ },
38
+ "mountlists": {
39
+ "description": "Named mount name(s) (add_container_mount)",
40
+ "type": "string"
41
+ },
42
+ "cmd": {
43
+ "description": "Override container CMD",
44
+ "type": "string"
45
+ },
46
+ "entrypoint": {
47
+ "description": "Override container ENTRYPOINT",
48
+ "type": "string"
49
+ },
50
+ "workdir": {
51
+ "description": "Override working directory",
52
+ "type": "string"
53
+ },
54
+ "hostname": {
55
+ "type": "string"
56
+ },
57
+ "dns": {
58
+ "description": "DNS server for the container",
59
+ "type": "string"
60
+ },
61
+ "user": {
62
+ "type": "string"
63
+ },
64
+ "stop_signal": {
65
+ "description": "Signal used to stop the container",
66
+ "type": "string"
67
+ },
68
+ "devices": {
69
+ "description": "Pass-through physical devices (7.20+)",
70
+ "type": "string"
71
+ },
72
+ "cpu_list": {
73
+ "description": "CPU core affinity",
74
+ "type": "string"
75
+ },
76
+ "memory_high": {
77
+ "description": "RAM limit, e.g. '256M'",
78
+ "type": "string"
79
+ },
80
+ "logging": {
81
+ "description": "Send stdout/stderr to the RouterOS log",
82
+ "type": "boolean"
83
+ },
84
+ "start_on_boot": {
85
+ "description": "Auto-start on device boot",
86
+ "type": "boolean"
87
+ },
88
+ "comment": {
89
+ "type": "string"
90
+ }
91
+ },
92
+ "additionalProperties": false
93
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "add_container_env",
4
+ "type": "object",
5
+ "properties": {
6
+ "list": {
7
+ "type": "string",
8
+ "description": "Env-list (group) name, e.g. 'MYAPP'"
9
+ },
10
+ "key": {
11
+ "type": "string",
12
+ "description": "Variable name, e.g. 'TZ'"
13
+ },
14
+ "value": {
15
+ "type": "string",
16
+ "description": "Variable value"
17
+ }
18
+ },
19
+ "required": ["list", "key", "value"],
20
+ "additionalProperties": false
21
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "add_container_mount",
4
+ "type": "object",
5
+ "properties": {
6
+ "name": {
7
+ "type": "string",
8
+ "description": "Mount name, e.g. 'appdata'"
9
+ },
10
+ "src": {
11
+ "type": "string",
12
+ "description": "Host source path, e.g. 'disk1/appdata'"
13
+ },
14
+ "dst": {
15
+ "type": "string",
16
+ "description": "Container destination path, e.g. '/data'"
17
+ }
18
+ },
19
+ "required": ["name", "src", "dst"],
20
+ "additionalProperties": false
21
+ }
@@ -0,0 +1,38 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "add_disk",
4
+ "type": "object",
5
+ "properties": {
6
+ "type": {
7
+ "type": "string",
8
+ "description": "Virtual disk type: 'raid', 'rsync', 'tmpfs', 'encrypted', …"
9
+ },
10
+ "slot": {
11
+ "description": "Name/slot for the new virtual disk",
12
+ "type": "string"
13
+ },
14
+ "raid_type": {
15
+ "description": "For type=raid, e.g. 'raid1', 'raid5'",
16
+ "type": "string"
17
+ },
18
+ "tmpfs_max_size": {
19
+ "description": "For type=tmpfs, e.g. '256M'",
20
+ "type": "string"
21
+ },
22
+ "comment": {
23
+ "type": "string"
24
+ },
25
+ "properties": {
26
+ "description": "Extra RouterOS attribute=value pairs for this disk type",
27
+ "type": "object",
28
+ "propertyNames": {
29
+ "type": "string"
30
+ },
31
+ "additionalProperties": {
32
+ "type": "string"
33
+ }
34
+ }
35
+ },
36
+ "required": ["type"],
37
+ "additionalProperties": false
38
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "eject_disk",
4
+ "type": "object",
5
+ "properties": {
6
+ "slot": {
7
+ "type": "string",
8
+ "description": "Disk slot to eject, e.g. 'usb1'"
9
+ }
10
+ },
11
+ "required": ["slot"],
12
+ "additionalProperties": false
13
+ }
@@ -3,24 +3,36 @@
3
3
  "title": "format_disk",
4
4
  "type": "object",
5
5
  "properties": {
6
- "name": {
6
+ "slot": {
7
7
  "type": "string",
8
- "description": "Disk name to format, e.g. 'disk1'"
8
+ "description": "Disk slot to format, e.g. 'usb1'"
9
9
  },
10
10
  "file_system": {
11
- "description": "File system to create",
11
+ "description": "Filesystem to create (RouterOS can format these)",
12
12
  "type": "string",
13
- "enum": ["ext4", "fat32", "exfat", "ntfs"]
13
+ "enum": ["ext4", "exfat", "fat32", "ntfs"]
14
14
  },
15
15
  "label": {
16
16
  "description": "Volume label",
17
17
  "type": "string"
18
18
  },
19
+ "partition_size": {
20
+ "description": "Format only this much as a partition, e.g. '10G' (omit = whole drive)",
21
+ "type": "string"
22
+ },
23
+ "encryption": {
24
+ "description": "Encryption algorithm to enable, e.g. 'aes-cbc' (RouterOS value)",
25
+ "type": "string"
26
+ },
27
+ "encryption_password": {
28
+ "description": "Passphrase when encryption is set",
29
+ "type": "string"
30
+ },
19
31
  "confirm": {
20
32
  "type": "boolean",
21
- "description": "Must be true to actually erase the disk"
33
+ "description": "Must be true to actually ERASE the disk"
22
34
  }
23
35
  },
24
- "required": ["name", "confirm"],
36
+ "required": ["slot", "confirm"],
25
37
  "additionalProperties": false
26
38
  }
@@ -0,0 +1,16 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "get_container",
4
+ "type": "object",
5
+ "properties": {
6
+ "name": {
7
+ "description": "Container name (set via add_container)",
8
+ "type": "string"
9
+ },
10
+ "tag": {
11
+ "description": "Image tag to match (e.g. 'pihole') if no name",
12
+ "type": "string"
13
+ }
14
+ },
15
+ "additionalProperties": false
16
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "get_container_config",
4
+ "type": "object",
5
+ "properties": {},
6
+ "additionalProperties": false
7
+ }
@@ -3,11 +3,11 @@
3
3
  "title": "get_disk",
4
4
  "type": "object",
5
5
  "properties": {
6
- "name": {
6
+ "slot": {
7
7
  "type": "string",
8
- "description": "Disk name, e.g. 'disk1'"
8
+ "description": "Disk slot, e.g. 'nvme1', 'usb1'"
9
9
  }
10
10
  },
11
- "required": ["name"],
11
+ "required": ["slot"],
12
12
  "additionalProperties": false
13
13
  }
@@ -0,0 +1,12 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "list_container_envs",
4
+ "type": "object",
5
+ "properties": {
6
+ "list_filter": {
7
+ "description": "Partial env-list (group) name match",
8
+ "type": "string"
9
+ }
10
+ },
11
+ "additionalProperties": false
12
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "list_container_mounts",
4
+ "type": "object",
5
+ "properties": {
6
+ "name_filter": {
7
+ "description": "Partial mount name match",
8
+ "type": "string"
9
+ }
10
+ },
11
+ "additionalProperties": false
12
+ }
@@ -0,0 +1,26 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "list_containers",
4
+ "type": "object",
5
+ "properties": {
6
+ "name_filter": {
7
+ "description": "Partial container name match",
8
+ "type": "string"
9
+ },
10
+ "tag_filter": {
11
+ "description": "Partial image tag match",
12
+ "type": "string"
13
+ },
14
+ "status_filter": {
15
+ "description": "e.g. 'running', 'stopped'",
16
+ "type": "string"
17
+ },
18
+ "detail": {
19
+ "default": false,
20
+ "description": "Show the full per-container property block",
21
+ "type": "boolean"
22
+ }
23
+ },
24
+ "required": ["detail"],
25
+ "additionalProperties": false
26
+ }
@@ -2,6 +2,25 @@
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "title": "list_disks",
4
4
  "type": "object",
5
- "properties": {},
5
+ "properties": {
6
+ "slot_filter": {
7
+ "description": "Partial slot match, e.g. 'usb'",
8
+ "type": "string"
9
+ },
10
+ "type_filter": {
11
+ "description": "Partial type match, e.g. 'raid', 'partition'",
12
+ "type": "string"
13
+ },
14
+ "interface_filter": {
15
+ "description": "Partial interface match, e.g. 'nvme', 'usb'",
16
+ "type": "string"
17
+ },
18
+ "detail": {
19
+ "default": false,
20
+ "description": "Show the full per-disk property block",
21
+ "type": "boolean"
22
+ }
23
+ },
24
+ "required": ["detail"],
6
25
  "additionalProperties": false
7
26
  }
@@ -0,0 +1,16 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "remove_container",
4
+ "type": "object",
5
+ "properties": {
6
+ "name": {
7
+ "description": "Container name (set via add_container)",
8
+ "type": "string"
9
+ },
10
+ "tag": {
11
+ "description": "Image tag to match (e.g. 'pihole') if no name",
12
+ "type": "string"
13
+ }
14
+ },
15
+ "additionalProperties": false
16
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "remove_container_env",
4
+ "type": "object",
5
+ "properties": {
6
+ "list": {
7
+ "type": "string",
8
+ "description": "Env-list (group) name"
9
+ },
10
+ "key": {
11
+ "type": "string",
12
+ "description": "Variable name to remove"
13
+ }
14
+ },
15
+ "required": ["list", "key"],
16
+ "additionalProperties": false
17
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "remove_container_mount",
4
+ "type": "object",
5
+ "properties": {
6
+ "name": {
7
+ "type": "string",
8
+ "description": "Mount name to remove"
9
+ }
10
+ },
11
+ "required": ["name"],
12
+ "additionalProperties": false
13
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "remove_disk",
4
+ "type": "object",
5
+ "properties": {
6
+ "slot": {
7
+ "type": "string",
8
+ "description": "Virtual disk slot to remove"
9
+ }
10
+ },
11
+ "required": ["slot"],
12
+ "additionalProperties": false
13
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "set_container_config",
4
+ "type": "object",
5
+ "properties": {
6
+ "registry_url": {
7
+ "description": "Image registry URL",
8
+ "type": "string"
9
+ },
10
+ "tmpdir": {
11
+ "description": "Pull/extract temp dir, e.g. 'disk1/pull'",
12
+ "type": "string"
13
+ },
14
+ "layer_dir": {
15
+ "description": "Directory for extracted image layers",
16
+ "type": "string"
17
+ },
18
+ "ram_high": {
19
+ "description": "RAM-high limit, e.g. '256M'",
20
+ "type": "string"
21
+ },
22
+ "username": {
23
+ "description": "Registry username (private registries)",
24
+ "type": "string"
25
+ },
26
+ "password": {
27
+ "description": "Registry password (private registries)",
28
+ "type": "string"
29
+ }
30
+ },
31
+ "additionalProperties": false
32
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "set_disk",
4
+ "type": "object",
5
+ "properties": {
6
+ "slot": {
7
+ "type": "string",
8
+ "description": "Disk slot to modify"
9
+ },
10
+ "label": {
11
+ "description": "Volume / disk label",
12
+ "type": "string"
13
+ },
14
+ "comment": {
15
+ "type": "string"
16
+ },
17
+ "raid_master": {
18
+ "description": "Slot of the RAID disk to make this a member of",
19
+ "type": "string"
20
+ },
21
+ "parent": {
22
+ "description": "Parent disk slot to attach under",
23
+ "type": "string"
24
+ },
25
+ "disabled": {
26
+ "type": "boolean"
27
+ }
28
+ },
29
+ "required": ["slot"],
30
+ "additionalProperties": false
31
+ }
@@ -0,0 +1,29 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "share_disk",
4
+ "type": "object",
5
+ "properties": {
6
+ "slot": {
7
+ "type": "string",
8
+ "description": "Disk slot to share"
9
+ },
10
+ "smb_sharing": {
11
+ "description": "Enable/disable SMB (CIFS) sharing",
12
+ "type": "boolean"
13
+ },
14
+ "smb_share_name": {
15
+ "description": "SMB share name shown to clients",
16
+ "type": "string"
17
+ },
18
+ "smb_users": {
19
+ "description": "Comma-separated SMB users allowed to access the share",
20
+ "type": "string"
21
+ },
22
+ "nfs_sharing": {
23
+ "description": "Enable/disable NFS sharing",
24
+ "type": "boolean"
25
+ }
26
+ },
27
+ "required": ["slot"],
28
+ "additionalProperties": false
29
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "start_container",
4
+ "type": "object",
5
+ "properties": {
6
+ "name": {
7
+ "description": "Container name (set via add_container)",
8
+ "type": "string"
9
+ },
10
+ "tag": {
11
+ "description": "Image tag to match (e.g. 'pihole') if no name",
12
+ "type": "string"
13
+ }
14
+ },
15
+ "additionalProperties": false
16
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "stop_container",
4
+ "type": "object",
5
+ "properties": {
6
+ "name": {
7
+ "description": "Container name (set via add_container)",
8
+ "type": "string"
9
+ },
10
+ "tag": {
11
+ "description": "Image tag to match (e.g. 'pihole') if no name",
12
+ "type": "string"
13
+ }
14
+ },
15
+ "additionalProperties": false
16
+ }
@@ -0,0 +1,64 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "update_container",
4
+ "type": "object",
5
+ "properties": {
6
+ "name": {
7
+ "description": "Container name (set via add_container)",
8
+ "type": "string"
9
+ },
10
+ "tag": {
11
+ "description": "Image tag to match (e.g. 'pihole') if no name",
12
+ "type": "string"
13
+ },
14
+ "interface": {
15
+ "type": "string"
16
+ },
17
+ "root_dir": {
18
+ "type": "string"
19
+ },
20
+ "env": {
21
+ "type": "string"
22
+ },
23
+ "envlists": {
24
+ "type": "string"
25
+ },
26
+ "mount": {
27
+ "type": "string"
28
+ },
29
+ "mountlists": {
30
+ "type": "string"
31
+ },
32
+ "cmd": {
33
+ "type": "string"
34
+ },
35
+ "entrypoint": {
36
+ "type": "string"
37
+ },
38
+ "workdir": {
39
+ "type": "string"
40
+ },
41
+ "hostname": {
42
+ "type": "string"
43
+ },
44
+ "dns": {
45
+ "type": "string"
46
+ },
47
+ "cpu_list": {
48
+ "type": "string"
49
+ },
50
+ "memory_high": {
51
+ "type": "string"
52
+ },
53
+ "logging": {
54
+ "type": "boolean"
55
+ },
56
+ "start_on_boot": {
57
+ "type": "boolean"
58
+ },
59
+ "comment": {
60
+ "type": "string"
61
+ }
62
+ },
63
+ "additionalProperties": false
64
+ }