@usex/mikrotik-mcp 5.6.0 → 5.8.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 (36) hide show
  1. package/README.md +61 -22
  2. package/dist/cli.js +75679 -4194
  3. package/dist/index.d.ts +1 -1
  4. package/dist/index.js +15035 -66
  5. package/dist/shared/cli-ejryxvb3.js +13 -0
  6. package/dist/shared/library-hsq1a106.js +11 -0
  7. package/dist/shared/{cli-gyqfq9j6.js → library-srhzw8ym.js} +36138 -27615
  8. package/dist/ui/aaa.html +48 -58
  9. package/dist/ui/connected-devices.html +48 -58
  10. package/dist/ui/dashboard.html +48 -58
  11. package/dist/ui/firewall-audit.html +48 -58
  12. package/dist/ui/firewall.html +49 -59
  13. package/dist/ui/interfaces.html +48 -58
  14. package/dist/ui/observability.html +169 -69
  15. package/dist/ui/records.html +49 -59
  16. package/package.json +34 -25
  17. package/prompts/build-tunnel-transactionally.md +13 -10
  18. package/schemas/README.md +1 -1
  19. package/schemas/config.schema.json +79 -0
  20. package/schemas/tool-catalog.json +514 -10
  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/dist/shared/cli-h41j14aw.js +0 -13
  35. package/dist/shared/library-135yzct0.js +0 -45586
  36. package/dist/shared/library-v52e871r.js +0 -13
package/README.md CHANGED
@@ -1,20 +1,20 @@
1
1
  <div align="center">
2
2
  <img src="assets/logo.svg" alt="@usex/mikrotik-mcp" width="440" />
3
- <p><strong>Drive one or more MikroTik routers in plain language — 885 risk-annotated tools your AI can call, over SSH.</strong><br/>
3
+ <p><strong>Drive one or more MikroTik routers in plain language — 901 risk-annotated tools your AI can call, over SSH.</strong><br/>
4
4
  Firewall · routing · DHCP/DNS · wireless · QoS · a complete VPN suite · transactional Safe Mode · live attack detection · and an observability dashboard that watches every call.</p>
5
5
 
6
6
  <p>
7
7
  <a href="LICENSE"><img alt="License: MIT" src="https://img.shields.io/badge/License-MIT-7C3AED.svg"></a>
8
8
  <img alt="Runtime: Bun" src="https://img.shields.io/badge/runtime-Bun%20%E2%89%A5%201.3-06B6D4.svg">
9
9
  <img alt="TypeScript" src="https://img.shields.io/badge/TypeScript-strict-6366F1.svg">
10
- <img alt="MCP" src="https://img.shields.io/badge/MCP-885%20tools-1F2937.svg">
10
+ <img alt="MCP" src="https://img.shields.io/badge/MCP-901%20tools-1F2937.svg">
11
11
  <a href="docs/"><img alt="Docs" src="https://img.shields.io/badge/docs-reference-7C3AED.svg"></a>
12
12
  </p>
13
13
  </div>
14
14
 
15
15
  ---
16
16
 
17
- `@usex/mikrotik-mcp` turns **MikroTik RouterOS** into **885 [Model Context Protocol](https://modelcontextprotocol.io)
17
+ `@usex/mikrotik-mcp` turns **MikroTik RouterOS** into **901 [Model Context Protocol](https://modelcontextprotocol.io)
18
18
  tools** any MCP client (Claude Desktop, Claude Code, Cursor, …) can call to read and
19
19
  configure your router by talking to it. It reaches the device over **plain SSH** — no
20
20
  agent, no package to install on RouterOS — runs on **[Bun](https://bun.sh)**, and
@@ -46,7 +46,26 @@ Then just ask:
46
46
 
47
47
  ## Highlights
48
48
 
49
- - 🧰 **885 tools, one per RouterOS scope** L2 (bridge, VLAN, wireless, PoE),
49
+ - **Round-trip path lab** model explicit forward/reverse static IPv4 paths across
50
+ fresh snapshots, with per-hop evidence and declared asymmetry. NAT or unsupported
51
+ state stops with UNKNOWN; modelled forwarding is not live connectivity.
52
+ A guided three-step editor selects routers, dated captures and interfaces without
53
+ writing JSON, with an optional mirrored return path and plain-language result labels.
54
+ [Guide](docs/round-trip-paths.md)
55
+ - **Service health contracts** — approved DNS/TCP/TLS/HTTPS endpoint checks from the
56
+ MCP host, optional fresh-export packet regressions, historical evidence, explicit
57
+ scheduled enrollment and fail-closed rollout gates. Disabled until targets are
58
+ approved. [Guide](docs/service-contracts.md)
59
+ - **Client/service investigations** — save multi-router DHCP/ARP/bridge and network
60
+ evidence with timestamps, explicit unknowns and next experiments. Router ICMP
61
+ success never masquerades as verified application health.
62
+ [Guide](docs/client-investigations.md) · [Delivery tracker](docs/enterprise-roadmap.md)
63
+ - **Exported client-flow paths** — select a recent TCP/UDP flow and visualize its
64
+ reported ingress/exit, with named VPN-interface lookup and colored JSON evidence.
65
+ Uses existing NetFlow/IPFIX exports; never enables capture or changes router settings.
66
+ Missing telemetry remains unknown, not a fabricated blocking hop.
67
+ [Flow-path guide](docs/client-flow-paths.md)
68
+ - 🧰 **901 tools, one per RouterOS scope** — L2 (bridge, VLAN, wireless, PoE),
50
69
  L3 (addressing, routing, DHCP, DNS), security (firewall, NAT, address-lists,
51
70
  certificates), QoS, and system ops (users, logs, backups, scheduler).
52
71
  - 🛡️ **Attack detection** — reads every device's log, correlates brute force,
@@ -346,26 +365,44 @@ an upgrade.
346
365
 
347
366
  Full reference: **[docs/observability.md](docs/observability.md)**.
348
367
 
368
+ The dashboard includes a responsive operations shell with searchable grouped
369
+ navigation, pinned page shortcuts, a mobile drawer, and coordinated light/dark themes.
370
+ The activity chart pairs a dotted canvas with animated successful-call trends and
371
+ independent error bars, with reduced-motion and pause controls.
372
+ BeUI now powers the dashboard's shared buttons, inputs, badges, checkboxes,
373
+ switches, selects, tabs, tooltips, loaders, theme toggle and animated numbers.
374
+ Animated Sidebar adds a collapsible icon rail while retaining search and pins.
375
+ Live Feed uses Animated Badges and an Expandable Action Bar; Overview, Devices
376
+ and Live Feed offer read-only Pull to Refresh with a keyboard-accessible button.
377
+ The local BeUI registry retains the 16 collections used by the dashboard and
378
+ their supporting components; unused component demonstrations have been removed.
379
+ The fixed **Operations Island** expands into live activity, router checks and
380
+ recent tool completions, using existing data without extra probes or configuration
381
+ changes. Missing and stale observations are explicitly labelled.
382
+ For frontend development, `bun run dev:dashboard` connects
383
+ the UI on port 9191 to the existing dashboard backend on port 9091.
384
+ See the [dashboard design system](docs/dashboard-design.md).
385
+
349
386
  ## The tool catalog
350
387
 
351
- **885 tools across 137 modules.** Full, always-current reference (parameters + risk per
388
+ **901 tools across 143 modules.** Full, always-current reference (parameters + risk per
352
389
  tool) is generated from source: **[docs/tools-reference.md](docs/tools-reference.md)**.
353
390
 
354
- | Group | Tools | Modules |
355
- | ------------------------ | ----: | ----------------------------------------------------------------------------------------------------------------- |
356
- | **System & Ops** | 182 | system, network tools, scheduler/scripts, users, logs, backup, Safe Mode, transactions, rollout, scheduled audits |
357
- | **Security** | 125 | firewall filter, NAT, address-lists, certificates, IP services, hardening, policy-as-code, attack detection |
358
- | **VPN & Tunneling** | 108 | WireGuard, IPsec, PPP, L2TP, PPTP, SSTP, OpenVPN, GRE/IPIP/EoIP/VXLAN |
359
- | **Dynamic Routing** | 99 | router-id, tables, rules, next-hops, filters, BFD, BGP, OSPF, RIP, PIM-SM, IGMP proxy, GMP, RPKI |
360
- | **IPv6** | 90 | addressing, DHCPv6, ND, neighbours, pools, routes, firewall filter/NAT/mangle/raw |
361
- | **Tools** | 67 | ping, traceroute, bandwidth test, sniffer, traffic generator, RoMON, Wake-on-LAN, SMS |
362
- | **Addressing & Routing** | 62 | IP addresses, IP pools, routing, DHCP, DNS |
363
- | **Interfaces** | 56 | interfaces, VLAN, bridge, wireless, PoE |
364
- | **AAA** | 34 | RADIUS, User Manager, 802.1X |
365
- | **QoS** | 23 | queue types, queue trees, simple queues |
366
- | **Switch** | 18 | switch settings, ports, rules, port isolation |
367
- | **Discovery & Meta** | 9 | tool gateway (find/describe/invoke), server pulse, capability probe |
368
- | **Memory** | 9 | persistent knowledge graph |
391
+ | Group | Tools | Modules |
392
+ | ------------------------ | ----: | ------------------------------------------------------------------------------------------------------------------------------ |
393
+ | **System & Ops** | 194 | system, network tools, investigations, service contracts, round-trip paths, Safe Mode, transactions, rollout, scheduled audits |
394
+ | **Security** | 127 | firewall filter, NAT, address-lists, certificates, IP services, hardening, policy-as-code, attack detection |
395
+ | **VPN & Tunneling** | 108 | WireGuard, IPsec, PPP, L2TP, PPTP, SSTP, OpenVPN, GRE/IPIP/EoIP/VXLAN |
396
+ | **Dynamic Routing** | 99 | router-id, tables, rules, next-hops, filters, BFD, BGP, OSPF, RIP, PIM-SM, IGMP proxy, GMP, RPKI |
397
+ | **IPv6** | 90 | addressing, DHCPv6, ND, neighbours, pools, routes, firewall filter/NAT/mangle/raw |
398
+ | **Tools** | 67 | ping, traceroute, bandwidth test, sniffer, traffic generator, RoMON, Wake-on-LAN, SMS |
399
+ | **Addressing & Routing** | 62 | IP addresses, IP pools, routing, DHCP, DNS |
400
+ | **Interfaces** | 56 | interfaces, VLAN, bridge, wireless, PoE |
401
+ | **AAA** | 34 | RADIUS, User Manager, 802.1X |
402
+ | **QoS** | 23 | queue types, queue trees, simple queues |
403
+ | **Switch** | 18 | switch settings, ports, rules, port isolation |
404
+ | **Discovery & Meta** | 11 | tool gateway (find/describe/invoke), server pulse, capability probe |
405
+ | **Memory** | 9 | persistent knowledge graph |
369
406
 
370
407
  ## Beyond the catalog
371
408
 
@@ -375,8 +412,10 @@ Higher-level workflows built on top of the per-scope tools:
375
412
  terraform-style plan, apply under Safe Mode, show the exact `/export` diff, commit
376
413
  only if still reachable.
377
414
  - **[Cross-Device Transactions](docs/transactions.md)** — coordinate Safe Mode across
378
- several routers: prepare, verify while still uncommitted, then commit everywhere or
379
- roll back everywhere.
415
+ several routers: the recommended MCP workflow for related VPN, peering, route and
416
+ ACL changes. Plan → stage → verify → commit with approval. Best-effort, not ACID;
417
+ partial commits require manual recovery. Connection instructions and cross-device
418
+ prompts steer the model here before independent writes, not for read-only tasks.
380
419
  - **[Staged Fleet Rollout](docs/fleet-rollout.md)** — apply one change as canary → wave →
381
420
  fleet with a health gate and soak between waves, reverting everything already changed
382
421
  on the first failure.