@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.
- package/README.md +61 -22
- package/dist/cli.js +75679 -4194
- package/dist/index.d.ts +1 -1
- package/dist/index.js +15035 -66
- package/dist/shared/cli-ejryxvb3.js +13 -0
- package/dist/shared/library-hsq1a106.js +11 -0
- package/dist/shared/{cli-gyqfq9j6.js → library-srhzw8ym.js} +36138 -27615
- package/dist/ui/aaa.html +48 -58
- package/dist/ui/connected-devices.html +48 -58
- package/dist/ui/dashboard.html +48 -58
- package/dist/ui/firewall-audit.html +48 -58
- package/dist/ui/firewall.html +49 -59
- package/dist/ui/interfaces.html +48 -58
- package/dist/ui/observability.html +169 -69
- package/dist/ui/records.html +49 -59
- package/package.json +34 -25
- package/prompts/build-tunnel-transactionally.md +13 -10
- package/schemas/README.md +1 -1
- package/schemas/config.schema.json +79 -0
- package/schemas/tool-catalog.json +514 -10
- package/schemas/tools/audit_service_contracts.json +7 -0
- package/schemas/tools/create_investigation.json +42 -0
- package/schemas/tools/create_service_contract.json +53 -0
- package/schemas/tools/get_investigation.json +14 -0
- package/schemas/tools/inspect_flow_path.json +50 -0
- package/schemas/tools/list_client_flow_candidates.json +14 -0
- package/schemas/tools/list_investigations.json +7 -0
- package/schemas/tools/list_service_contracts.json +7 -0
- package/schemas/tools/list_service_probe_targets.json +7 -0
- package/schemas/tools/run_service_contract.json +14 -0
- package/schemas/tools/service_contract_history.json +14 -0
- package/schemas/tools/start_rollout.json +21 -0
- package/schemas/tools/trace_round_trip.json +129 -0
- package/dist/shared/cli-h41j14aw.js +0 -13
- package/dist/shared/library-135yzct0.js +0 -45586
- 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 —
|
|
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-
|
|
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 **
|
|
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
|
-
-
|
|
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
|
-
**
|
|
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** |
|
|
357
|
-
| **Security** |
|
|
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** |
|
|
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:
|
|
379
|
-
|
|
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.
|