@usex/mikrotik-mcp 5.5.0 → 5.7.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.
Files changed (37) hide show
  1. package/README.md +39 -20
  2. package/dist/cli.js +48117 -616
  3. package/dist/index.d.ts +10 -3
  4. package/dist/index.js +55 -55
  5. package/dist/shared/cli-569n3azr.js +13 -0
  6. package/dist/shared/library-3602qc6e.js +11 -0
  7. package/dist/shared/{cli-cvq8pxvn.js → library-v0tysa18.js} +24160 -23632
  8. package/dist/ui/aaa.html +39 -54
  9. package/dist/ui/connected-devices.html +39 -54
  10. package/dist/ui/dashboard.html +39 -54
  11. package/dist/ui/firewall-audit.html +39 -54
  12. package/dist/ui/firewall.html +40 -55
  13. package/dist/ui/interfaces.html +39 -54
  14. package/dist/ui/observability.html +62 -62
  15. package/dist/ui/records.html +40 -55
  16. package/package.json +19 -18
  17. package/schemas/README.md +1 -1
  18. package/schemas/config.schema.json +79 -0
  19. package/schemas/tool-catalog.json +523 -7
  20. package/schemas/tools/add_ospf_interface_template.json +9 -1
  21. package/schemas/tools/audit_service_contracts.json +7 -0
  22. package/schemas/tools/create_investigation.json +42 -0
  23. package/schemas/tools/create_service_contract.json +53 -0
  24. package/schemas/tools/get_investigation.json +14 -0
  25. package/schemas/tools/inspect_flow_path.json +50 -0
  26. package/schemas/tools/list_client_flow_candidates.json +14 -0
  27. package/schemas/tools/list_investigations.json +7 -0
  28. package/schemas/tools/list_service_contracts.json +7 -0
  29. package/schemas/tools/list_service_probe_targets.json +7 -0
  30. package/schemas/tools/run_service_contract.json +14 -0
  31. package/schemas/tools/service_contract_history.json +14 -0
  32. package/schemas/tools/start_rollout.json +21 -0
  33. package/schemas/tools/trace_round_trip.json +129 -0
  34. package/schemas/tools/update_wireguard_peer.json +4 -0
  35. package/dist/shared/cli-qqwjbjnv.js +0 -13
  36. package/dist/shared/library-241wsfpw.js +0 -13
  37. package/dist/shared/library-5p5mk963.js +0 -45394
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@usex/mikrotik-mcp",
3
- "version": "5.5.0",
3
+ "version": "5.7.0",
4
4
  "description": "MCP server for MikroTik RouterOS — 780+ tools over SSH for firewall, NAT, routing, DHCP, DNS, WireGuard, wireless, QoS and more.",
5
5
  "keywords": [
6
6
  "ai",
@@ -85,49 +85,50 @@
85
85
  "prepare": "vp config"
86
86
  },
87
87
  "dependencies": {
88
- "@modelcontextprotocol/ext-apps": "^1.7.5",
88
+ "@modelcontextprotocol/client": "^2.0.0",
89
+ "@modelcontextprotocol/core": "^2.0.0",
90
+ "@modelcontextprotocol/ext-apps": "^2.0.0",
89
91
  "@modelcontextprotocol/sdk": "^1.30.0",
90
92
  "@tikoci/centrs": "^0.1.0",
91
93
  "figlet": "^1.11.4",
92
94
  "gradient-string": "^3.0.0",
93
- "ipaddr.js": "^2.4.0",
95
+ "ipaddr.js": "^2.5.0",
94
96
  "ssh2": "^1.17.0",
95
- "zod": "^4.4.3"
97
+ "zod": "^4.5.4"
96
98
  },
97
99
  "devDependencies": {
98
100
  "@anthropic-ai/mcpb": "^2.1.2",
99
101
  "@resvg/resvg-js": "^2.6.2",
100
102
  "@tailwindcss/vite": "^4.3.3",
101
- "@types/bun": "latest",
103
+ "@types/bun": "1.4.2",
102
104
  "@types/figlet": "^1.7.0",
103
- "@types/node": "^26.1.2",
105
+ "@types/node": "^26.5.0",
104
106
  "@types/react": "^19.2.18",
105
- "@types/react-dom": "^19.2.4",
106
- "@types/ssh2": "^1.15.5",
107
+ "@types/react-dom": "^19.2.7",
108
+ "@types/ssh2": "^1.15.6",
107
109
  "@types/update-notifier": "^6.0.8",
108
- "@vitest/coverage-v8": "4.1.10",
109
- "@vitest/ui": "4.1.10",
110
+ "@typescript/native": "npm:typescript@^7.0.2",
111
+ "@vitest/coverage-v8": "4.1.11",
112
+ "@vitest/ui": "4.1.11",
110
113
  "bunup": "^0.16.32",
111
114
  "class-variance-authority": "^0.7.1",
112
115
  "clsx": "^2.1.1",
113
116
  "gsap": "^3.15.0",
114
117
  "license-checker": "^25.0.1",
115
- "lucide-react": "^1.28.0",
118
+ "lucide-react": "^1.43.0",
116
119
  "radix-ui": "^1.6.7",
117
120
  "react": "^19.2.8",
118
121
  "react-dom": "^19.2.8",
119
122
  "recharts": "^3.10.1",
120
- "release-it": "^21.0.1",
121
- "sonner": "^2.0.7",
123
+ "release-it": "^21.0.2",
124
+ "sonner": "^2.0.8",
122
125
  "tailwind-merge": "^3.6.0",
123
126
  "tailwindcss": "^4.3.3",
124
127
  "tw-animate-css": "^1.4.0",
128
+ "typescript": "npm:@typescript/typescript6@^6.0.2",
125
129
  "vite": "catalog:",
126
130
  "vite-plus": "catalog:"
127
131
  },
128
- "peerDependencies": {
129
- "typescript": "^7.0.2"
130
- },
131
132
  "overrides": {
132
133
  "vite": "catalog:"
133
134
  },
@@ -136,8 +137,8 @@
136
137
  },
137
138
  "packageManager": "bun@1.3.14",
138
139
  "catalog": {
139
- "vite": "npm:@voidzero-dev/vite-plus-core@0.2.4",
140
- "vite-plus": "0.2.4"
140
+ "vite": "npm:@voidzero-dev/vite-plus-core@0.3.1",
141
+ "vite-plus": "0.3.1"
141
142
  },
142
143
  "changelog": {
143
144
  "labels": {
package/schemas/README.md CHANGED
@@ -7,7 +7,7 @@ edit by hand — regenerate instead.
7
7
  | File | Contents |
8
8
  | -------------------- | ------------------------------------------------------------------------------------------ |
9
9
  | `config.schema.json` | The runtime configuration object (env vars / CLI flags). |
10
- | `tool-catalog.json` | Every one of the 891 tools: `name`, `risk`, `title`, `description`, and input JSON Schema. |
10
+ | `tool-catalog.json` | Every one of the 903 tools: `name`, `risk`, `title`, `description`, and input JSON Schema. |
11
11
  | `tools/<name>.json` | The input JSON Schema for a single tool. |
12
12
 
13
13
  `risk` is derived from the MCP tool annotations:
@@ -3,6 +3,84 @@
3
3
  "title": "MikrotikConfig",
4
4
  "type": "object",
5
5
  "properties": {
6
+ "serviceProbes": {
7
+ "default": {
8
+ "scheduled": {},
9
+ "targets": {},
10
+ "timeoutMs": 5000
11
+ },
12
+ "type": "object",
13
+ "properties": {
14
+ "scheduled": {
15
+ "default": {},
16
+ "type": "object",
17
+ "propertyNames": {
18
+ "type": "string"
19
+ },
20
+ "additionalProperties": {
21
+ "maxItems": 5,
22
+ "type": "array",
23
+ "items": {
24
+ "type": "string",
25
+ "format": "uuid",
26
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
27
+ }
28
+ }
29
+ },
30
+ "targets": {
31
+ "default": {},
32
+ "type": "object",
33
+ "propertyNames": {
34
+ "type": "string",
35
+ "pattern": "^[a-z\\d_-]{1,64}$"
36
+ },
37
+ "additionalProperties": {
38
+ "type": "object",
39
+ "properties": {
40
+ "kind": {
41
+ "type": "string",
42
+ "enum": ["dns", "tcp", "tls", "https"]
43
+ },
44
+ "host": {
45
+ "type": "string",
46
+ "minLength": 1,
47
+ "maxLength": 253,
48
+ "pattern": "^[a-z\\d](?:[a-z\\d.-]*[a-z\\d])?$"
49
+ },
50
+ "port": {
51
+ "default": 443,
52
+ "type": "integer",
53
+ "minimum": 1,
54
+ "maximum": 65535
55
+ },
56
+ "path": {
57
+ "default": "/health",
58
+ "type": "string",
59
+ "maxLength": 1024
60
+ },
61
+ "addresses": {
62
+ "minItems": 1,
63
+ "maxItems": 32,
64
+ "type": "array",
65
+ "items": {
66
+ "type": "string"
67
+ }
68
+ }
69
+ },
70
+ "required": ["kind", "host", "port", "path", "addresses"],
71
+ "additionalProperties": false
72
+ }
73
+ },
74
+ "timeoutMs": {
75
+ "default": 5000,
76
+ "type": "integer",
77
+ "minimum": 100,
78
+ "maximum": 10000
79
+ }
80
+ },
81
+ "required": ["scheduled", "targets", "timeoutMs"],
82
+ "additionalProperties": false
83
+ },
6
84
  "devices": {
7
85
  "default": {
8
86
  "default": {
@@ -808,6 +886,7 @@
808
886
  }
809
887
  },
810
888
  "required": [
889
+ "serviceProbes",
811
890
  "devices",
812
891
  "defaultDevice",
813
892
  "mcp",