mikromcp 1.8.0 โ 1.9.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 +6 -5
- package/config/routers.example.yaml +19 -0
- package/dist/main.js +2022 -565
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -12,12 +12,12 @@
|
|
|
12
12
|
|
|
13
13
|
[](https://github.com/AliKarami/MikroMCP/actions/workflows/ci.yml)
|
|
14
14
|
[](https://github.com/AliKarami/MikroMCP/actions/workflows/release.yml)
|
|
15
|
-
[](package.json)
|
|
16
16
|
[](LICENSE)
|
|
17
17
|
[](package.json)
|
|
18
18
|
[](https://help.mikrotik.com/docs/display/ROS/REST+API)
|
|
19
19
|
[](https://modelcontextprotocol.io)
|
|
20
|
-
[](https://github.com/AliKarami/MikroMCP/wiki/Available-Tools)
|
|
21
21
|
[](https://glama.ai/mcp/servers/AliKarami/MikroMCP)
|
|
22
22
|
|
|
23
23
|
MikroMCP exists because raw router CLI access is the wrong abstraction for AI agents. RouterOS is powerful, but asking an LLM to improvise shell commands against production network gear is risky. MikroMCP gives agents a controlled tool surface: strict schemas, idempotent writes, dry-run previews, per-router circuit breakers, retry policies, RBAC, audit logs, snapshots, and rollback-aware change workflows.
|
|
@@ -46,6 +46,7 @@ That's the whole setup for a single-router stdio deployment. For standalone bina
|
|
|
46
46
|
| ๐ **Network operations** | Interfaces, VLANs, IP addresses, DHCP leases, DNS static records, bridge ports, WiFi clients |
|
|
47
47
|
| ๐ฅ **Firewall and policy** | Filter/NAT rules, mangle rules, address lists, route tables, routing rules |
|
|
48
48
|
| ๐ฐ๏ธ **Routing visibility** | Static routes, routing tables, BGP peers, OSPF neighbors |
|
|
49
|
+
| ๐ **SwOS switches** | *Experimental.* MikroTik SwOS and SwOS Lite switches (`deviceType: "swos"`) over the reverse-engineered `.b` HTTP API: port links, PoE, SFP diagnostics, and guarded whole-blob writes with a firmware-compatibility check |
|
|
49
50
|
| ๐ **Secure access** | HTTP bearer auth, bcrypt token hashes, RBAC, router/tool restrictions, confirmation tokens |
|
|
50
51
|
| ๐งช **Diagnostics** | Router-originated `ping`, `traceroute`, `torch`, log filtering, guarded SSH command execution |
|
|
51
52
|
| ๐ก๏ธ **Change safety** | Dry-run, idempotent writes, snapshots, write journal, `plan_changes`, `apply_plan`, `rollback_change` |
|
|
@@ -53,7 +54,7 @@ That's the whole setup for a single-router stdio deployment. For standalone bina
|
|
|
53
54
|
| ๐ค **AI-agent fit** | Human-readable responses plus structured JSON content for reasoning, chaining, and automation; server advertises an `instructions` string on MCP initialize so clients self-configure; optional [`routerId` resolved via `MIKROMCP_DEFAULT_ROUTER`](https://github.com/AliKarami/MikroMCP/wiki/Configuration) for single-router setups; [usage skill](docs/wiki/Using-the-Skill.md) for safe, guided tool use in Claude Code |
|
|
54
55
|
| ๐งฉ **MCP compatibility** | stdio for desktop clients, Streamable HTTP and legacy SSE for remote or service-style clients |
|
|
55
56
|
|
|
56
|
-
**
|
|
57
|
+
**122 typed tools** in total โ browse the full catalog with parameters, defaults, and copy-paste example prompts in **[Available Tools](https://github.com/AliKarami/MikroMCP/wiki/Available-Tools)**.
|
|
57
58
|
|
|
58
59
|
---
|
|
59
60
|
|
|
@@ -139,7 +140,7 @@ AI assistants can use MikroMCP to:
|
|
|
139
140
|
|
|
140
141
|
### What is MikroMCP?
|
|
141
142
|
|
|
142
|
-
MikroMCP is an open-source [Model Context Protocol](https://modelcontextprotocol.io) (MCP) server that exposes MikroTik RouterOS as
|
|
143
|
+
MikroMCP is an open-source [Model Context Protocol](https://modelcontextprotocol.io) (MCP) server that exposes MikroTik RouterOS as 122 typed, auditable tools โ letting AI assistants inspect, diagnose, and safely operate routers in natural language instead of improvising CLI commands.
|
|
143
144
|
|
|
144
145
|
### MikroMCP vs RouterOS API
|
|
145
146
|
|
|
@@ -188,7 +189,7 @@ The README stays intentionally short. Everything below is documented in depth in
|
|
|
188
189
|
| [Connecting to Claude Desktop](https://github.com/AliKarami/MikroMCP/wiki/Connecting-to-Claude-Desktop) | Register MikroMCP in Claude Desktop |
|
|
189
190
|
| [Connecting to AI Assistants](https://github.com/AliKarami/MikroMCP/wiki/Connecting-to-AI-Assistants) | Claude Code, Cursor, Codex, HTTP/Docker/systemd |
|
|
190
191
|
| [Using the Skill](docs/wiki/Using-the-Skill.md) | Install the MikroMCP usage skill so your assistant drives the tools safely |
|
|
191
|
-
| [Available Tools](https://github.com/AliKarami/MikroMCP/wiki/Available-Tools) | All
|
|
192
|
+
| [Available Tools](https://github.com/AliKarami/MikroMCP/wiki/Available-Tools) | All 122 tools โ parameters and example prompts |
|
|
192
193
|
| [Architecture](https://github.com/AliKarami/MikroMCP/wiki/Architecture) | System layers, request pipeline, auth model |
|
|
193
194
|
| [Error Handling](https://github.com/AliKarami/MikroMCP/wiki/Error-Handling) | Error categories, retry engine, circuit breaker |
|
|
194
195
|
| [Security](https://github.com/AliKarami/MikroMCP/wiki/Security) | Threat model, hardening checklist, vulnerability reporting |
|
|
@@ -26,6 +26,25 @@
|
|
|
26
26
|
# - "/ip/route/print*"
|
|
27
27
|
# - "/interface/print*"
|
|
28
28
|
# - "/ip/address/print*"
|
|
29
|
+
#
|
|
30
|
+
# SwOS switches (MikroTik SwOS and SwOS Lite, e.g. CSS326, CSS610-8P-2S+)
|
|
31
|
+
# โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
32
|
+
# Set deviceType: "swos" for switches that speak the ".b" HTTP API (digest
|
|
33
|
+
# auth, plain HTTP). One type covers both firmware editions โ the field-naming
|
|
34
|
+
# dialect is detected from the device's own response. "swos-lite" is accepted
|
|
35
|
+
# as an alias. RouterOS tools are refused on these devices and the swos_* tools
|
|
36
|
+
# are refused on RouterOS devices.
|
|
37
|
+
#
|
|
38
|
+
# tls and rosVersion are omitted here โ the firmware speaks plain HTTP only, so
|
|
39
|
+
# tls.enabled: true is rejected. Both stay REQUIRED for RouterOS devices below.
|
|
40
|
+
# switch-01:
|
|
41
|
+
# host: "10.0.0.2"
|
|
42
|
+
# port: 80 # SwOS uses plain HTTP on port 80
|
|
43
|
+
# deviceType: "swos"
|
|
44
|
+
# credentials:
|
|
45
|
+
# source: "env"
|
|
46
|
+
# envPrefix: "SWITCH_CORE01" # -> SWITCH_CORE01_USER, SWITCH_CORE01_PASS
|
|
47
|
+
# tags: ["access", "layer2"]
|
|
29
48
|
|
|
30
49
|
routers:
|
|
31
50
|
core-01:
|