@usex/mikrotik-mcp 4.7.0 → 4.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 (44) hide show
  1. package/README.md +35 -28
  2. package/dist/cli.js +1 -1
  3. package/dist/index.js +1 -1
  4. package/dist/shared/{cli-38m6waxx.js → cli-s2s6hryh.js} +4689 -3226
  5. package/dist/shared/{cli-jd7xqp2f.js → cli-xfa5x65h.js} +1 -1
  6. package/dist/shared/{library-31wz8hdh.js → library-6zh75zhp.js} +1 -1
  7. package/dist/shared/{library-fs4nps73.js → library-wm3vc8kq.js} +4689 -3226
  8. package/package.json +1 -1
  9. package/prompts/security-hardening-sweep.md +132 -0
  10. package/prompts/setup-eoip-tunnel-between-sites.md +119 -0
  11. package/prompts/setup-gre-tunnel-between-sites.md +163 -0
  12. package/prompts/setup-ipip-tunnel-between-sites.md +110 -0
  13. package/prompts/setup-openvpn-tunnel-between-sites.md +136 -0
  14. package/prompts/setup-sstp-tunnel-between-sites.md +136 -0
  15. package/prompts/setup-tunnel-between-sites.md +55 -8
  16. package/prompts/setup-vxlan-tunnel-between-sites.md +129 -0
  17. package/prompts/setup-wireguard-tunnel-between-sites.md +183 -0
  18. package/schemas/README.md +1 -1
  19. package/schemas/tool-catalog.json +658 -2
  20. package/schemas/tools/add_firewall_default_deny.json +25 -0
  21. package/schemas/tools/apply_security_hardening_fixes.json +25 -0
  22. package/schemas/tools/audit_account_hygiene.json +7 -0
  23. package/schemas/tools/audit_address_list_enforcement.json +7 -0
  24. package/schemas/tools/audit_certificate_hygiene.json +7 -0
  25. package/schemas/tools/audit_connection_tracking_helpers.json +7 -0
  26. package/schemas/tools/audit_dns_resolver_exposure.json +7 -0
  27. package/schemas/tools/audit_firewall_default_deny.json +7 -0
  28. package/schemas/tools/audit_ip_service_exposure.json +7 -0
  29. package/schemas/tools/audit_ipv6_firewall_baseline.json +7 -0
  30. package/schemas/tools/audit_kernel_ip_hardening.json +7 -0
  31. package/schemas/tools/audit_management_plane_exposure.json +7 -0
  32. package/schemas/tools/audit_network_segmentation.json +7 -0
  33. package/schemas/tools/audit_ssh_hardening.json +7 -0
  34. package/schemas/tools/bootstrap_ipv6_firewall_baseline.json +25 -0
  35. package/schemas/tools/enforce_address_list_blocking.json +25 -0
  36. package/schemas/tools/fix_certificate_crl_policy.json +25 -0
  37. package/schemas/tools/fix_password_policy.json +25 -0
  38. package/schemas/tools/harden_connection_tracking_helpers.json +25 -0
  39. package/schemas/tools/harden_dns_resolver_exposure.json +25 -0
  40. package/schemas/tools/harden_ip_service_exposure.json +25 -0
  41. package/schemas/tools/harden_kernel_ip_settings.json +25 -0
  42. package/schemas/tools/harden_management_plane_exposure.json +25 -0
  43. package/schemas/tools/harden_ssh_service.json +25 -0
  44. package/schemas/tools/run_security_hardening_audit.json +29 -0
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>A Bun-native MCP server that turns one or more MikroTik routers into 706 tools your AI can drive.</strong><br/>
3
+ <p><strong>A Bun-native MCP server that turns one or more MikroTik routers into 819 tools your AI can drive.</strong><br/>
4
4
  Firewall · routing · DHCP/DNS · wireless · QoS · and a complete VPN suite — over SSH, with transactional Safe Mode.</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-706%20tools-1F2937.svg">
10
+ <img alt="MCP" src="https://img.shields.io/badge/MCP-819%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` exposes **MikroTik RouterOS** as **706 [Model Context Protocol](https://modelcontextprotocol.io)
17
+ `@usex/mikrotik-mcp` exposes **MikroTik RouterOS** as **819 [Model Context Protocol](https://modelcontextprotocol.io)
18
18
  tools across 111 modules**, so an AI client (Claude Desktop, Claude Code, any MCP
19
19
  client) can read and configure your router in plain language. It speaks to the
20
20
  device over **SSH** — no agent, no API package to install on RouterOS — runs on
@@ -46,7 +46,7 @@ in memory and auto-reverts if your session drops, so you can't lock yourself out
46
46
 
47
47
  ## Why it's different
48
48
 
49
- - 🧰 **Breadth** — 706 tools covering the whole device: L2 (bridge, VLAN, wireless,
49
+ - 🧰 **Breadth** — 819 tools covering the whole device: L2 (bridge, VLAN, wireless,
50
50
  PoE), L3 (addressing, routing, DHCP, DNS), security (firewall, NAT, address-lists,
51
51
  certificates), QoS (queues), and system ops (users, logs, backups, scheduler).
52
52
  - 🔐 **A complete VPN suite** — WireGuard, IPsec (IKEv1/IKEv2), L2TP, PPTP, SSTP,
@@ -93,7 +93,7 @@ mikrotik-mcp serve
93
93
  against the server (from source):
94
94
 
95
95
  ```bash
96
- bun run inspect # opens the Inspector UI to browse/run all 706 tools
96
+ bun run inspect # opens the Inspector UI to browse/run all 819 tools
97
97
  ```
98
98
 
99
99
  **Prefer SSH keys over a password?** Point the server at a key file instead — and
@@ -149,7 +149,7 @@ manifest) before packing. Pass `--no-smoke` to skip that last check.
149
149
 
150
150
  ## The tool catalog
151
151
 
152
- **706 tools across 111 modules.** Full, always-current reference (parameters +
152
+ **819 tools across 111 modules.** Full, always-current reference (parameters +
153
153
  risk per tool) is generated from source: **[docs/tools-reference.md](docs/tools-reference.md)**.
154
154
 
155
155
  | Group | Tools | Modules |
@@ -343,6 +343,12 @@ On top of the per-scope tools, the server ships higher-level workflows:
343
343
  - **[Firewall Audit](docs/firewall-audit.md)** — `firewall_audit` finds shadowed,
344
344
  overly-broad, missing-default-drop, duplicate and dead rules, risk-scored, with
345
345
  one-click fixes in MCP App hosts.
346
+ - **[Security Hardening](docs/security-hardening.md)** — granular audit+remediate
347
+ pairs per risk category (firewall default-deny, address-list enforcement, kernel
348
+ IP, IPv6 baseline, SSH, service exposure, helpers, management plane, accounts,
349
+ CRL, segmentation, DNS) plus an orchestrator. Every audit is read-only; every
350
+ fix defaults to dry-run and snapshots + Safe-Modes before writing, remediating
351
+ by explicit `finding_id`.
346
352
  - **[Packet Capture Studio](docs/packet-capture.md)** — stream mirrored packets to
347
353
  the host as TZSP, decode them live in the dashboard, and export `.pcap`.
348
354
  - **[Discovery](docs/discovery.md)** — `bun run discover` lists MikroTik devices on
@@ -361,28 +367,29 @@ source** (`bun run gen:schemas`) so they can never drift:
361
367
 
362
368
  ## Documentation
363
369
 
364
- | Doc | |
365
- | ------------------------------------------------------------- | ----------------------------------------------------------- |
366
- | [Getting started](docs/getting-started.md) | Install, verify, first run |
367
- | [Configuration](docs/configuration.md) | Every env var & flag |
368
- | [Multiple devices](docs/multi-device.md) | Manage several routers; per-call targeting |
369
- | [Connecting clients](docs/connecting-clients.md) | Claude Desktop, stdio, HTTP |
370
- | [Transports](docs/transports.md) | stdio / HTTP / SSE, DNS-rebinding |
371
- | **[Observability](docs/observability.md)** | Real-time dashboard: live feed + analytics, SQLite |
372
- | [Safe Mode](docs/safe-mode.md) | Transactional changes |
373
- | **[Change Plan & Dry-Run](docs/change-plan.md)** | Preview commands, apply with the exact diff + auto-rollback |
374
- | **[Config Snapshots](docs/config-snapshots.md)** | `/export` snapshots + time-travel diff |
375
- | **[Firewall Audit](docs/firewall-audit.md)** | Shadowed/broad/dead rules, risk-scored |
376
- | **[Packet Capture Studio](docs/packet-capture.md)** | Live TZSP capture + pcap export |
377
- | **[Discovery](docs/discovery.md)** | `bun run discover`, MNDP neighbours, topology map |
378
- | **[Config Studio](docs/config-studio.md)** | Edit config in the dashboard with autocomplete |
379
- | **[VPN guide](docs/vpn-guide.md)** | Every tunnel type + how to build it |
380
- | [Prompts](docs/prompts.md) | The 9 guided workflows |
381
- | [Architecture](docs/architecture.md) | How it's built |
382
- | [Security](docs/security.md) | Credentials, risk gating |
383
- | [Tool reference](docs/tools-reference.md) | The full generated catalog |
384
- | [MCP Inspector](docs/inspector.md) | Test tools/prompts in the UI or CLI |
385
- | [Development](docs/development.md) · [Docker](docs/docker.md) | Build, test, deploy |
370
+ | Doc | |
371
+ | ------------------------------------------------------------- | --------------------------------------------------------------------- |
372
+ | [Getting started](docs/getting-started.md) | Install, verify, first run |
373
+ | [Configuration](docs/configuration.md) | Every env var & flag |
374
+ | [Multiple devices](docs/multi-device.md) | Manage several routers; per-call targeting |
375
+ | [Connecting clients](docs/connecting-clients.md) | Claude Desktop, stdio, HTTP |
376
+ | [Transports](docs/transports.md) | stdio / HTTP / SSE, DNS-rebinding |
377
+ | **[Observability](docs/observability.md)** | Real-time dashboard: live feed + analytics, SQLite |
378
+ | [Safe Mode](docs/safe-mode.md) | Transactional changes |
379
+ | **[Change Plan & Dry-Run](docs/change-plan.md)** | Preview commands, apply with the exact diff + auto-rollback |
380
+ | **[Config Snapshots](docs/config-snapshots.md)** | `/export` snapshots + time-travel diff |
381
+ | **[Firewall Audit](docs/firewall-audit.md)** | Shadowed/broad/dead rules, risk-scored |
382
+ | **[Security Hardening](docs/security-hardening.md)** | Per-category audit+remediate, fix by finding_id, snapshot + Safe-Mode |
383
+ | **[Packet Capture Studio](docs/packet-capture.md)** | Live TZSP capture + pcap export |
384
+ | **[Discovery](docs/discovery.md)** | `bun run discover`, MNDP neighbours, topology map |
385
+ | **[Config Studio](docs/config-studio.md)** | Edit config in the dashboard with autocomplete |
386
+ | **[VPN guide](docs/vpn-guide.md)** | Every tunnel type + how to build it |
387
+ | [Prompts](docs/prompts.md) | The 9 guided workflows |
388
+ | [Architecture](docs/architecture.md) | How it's built |
389
+ | [Security](docs/security.md) | Credentials, risk gating |
390
+ | [Tool reference](docs/tools-reference.md) | The full generated catalog |
391
+ | [MCP Inspector](docs/inspector.md) | Test tools/prompts in the UI or CLI |
392
+ | [Development](docs/development.md) · [Docker](docs/docker.md) | Build, test, deploy |
386
393
 
387
394
  ## Development
388
395
 
package/dist/cli.js CHANGED
@@ -106,7 +106,7 @@ import {
106
106
  updateAaaEntity,
107
107
  updateSummaryLine,
108
108
  writeBackup
109
- } from "./shared/cli-38m6waxx.js";
109
+ } from "./shared/cli-s2s6hryh.js";
110
110
 
111
111
  // src/cli.ts
112
112
  import { existsSync as existsSync2 } from "fs";
package/dist/index.js CHANGED
@@ -29,7 +29,7 @@ import {
29
29
  selectToolModules,
30
30
  setConfig,
31
31
  updateSummaryLine
32
- } from "./shared/library-fs4nps73.js";
32
+ } from "./shared/library-wm3vc8kq.js";
33
33
  // src/server.ts
34
34
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
35
35
  import { ListToolsRequestSchema } from "@modelcontextprotocol/sdk/types.js";