mikromcp 1.10.0 → 1.12.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 -6
- package/config/routers.example.yaml +5 -4
- package/dist/main.js +984 -470
- 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.
|
|
@@ -54,7 +54,7 @@ That's the whole setup for a single-router stdio deployment. For standalone bina
|
|
|
54
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 |
|
|
55
55
|
| 🧩 **MCP compatibility** | stdio for desktop clients, Streamable HTTP and legacy SSE for remote or service-style clients |
|
|
56
56
|
|
|
57
|
-
**
|
|
57
|
+
**126 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)**.
|
|
58
58
|
|
|
59
59
|
---
|
|
60
60
|
|
|
@@ -140,7 +140,7 @@ AI assistants can use MikroMCP to:
|
|
|
140
140
|
|
|
141
141
|
### What is MikroMCP?
|
|
142
142
|
|
|
143
|
-
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 126 typed, auditable tools — letting AI assistants inspect, diagnose, and safely operate routers in natural language instead of improvising CLI commands.
|
|
144
144
|
|
|
145
145
|
### MikroMCP vs RouterOS API
|
|
146
146
|
|
|
@@ -148,7 +148,7 @@ The RouterOS REST/API exposes raw endpoints. MikroMCP wraps them in schema-valid
|
|
|
148
148
|
|
|
149
149
|
### MikroMCP vs SSH automation
|
|
150
150
|
|
|
151
|
-
Instead of brittle SSH scripts that screen-scrape CLI output, MikroMCP returns structured, typed results with confirmation gates and per-router circuit breakers. SSH is used only where REST can't reach — `ping
|
|
151
|
+
Instead of brittle SSH scripts that screen-scrape CLI output, MikroMCP returns structured, typed results with confirmation gates and per-router circuit breakers. SSH is used only where REST can't reach — `ping` and guarded `run_command`.
|
|
152
152
|
|
|
153
153
|
### MikroMCP for Claude Code
|
|
154
154
|
|
|
@@ -189,7 +189,7 @@ The README stays intentionally short. Everything below is documented in depth in
|
|
|
189
189
|
| [Connecting to Claude Desktop](https://github.com/AliKarami/MikroMCP/wiki/Connecting-to-Claude-Desktop) | Register MikroMCP in Claude Desktop |
|
|
190
190
|
| [Connecting to AI Assistants](https://github.com/AliKarami/MikroMCP/wiki/Connecting-to-AI-Assistants) | Claude Code, Cursor, Codex, HTTP/Docker/systemd |
|
|
191
191
|
| [Using the Skill](docs/wiki/Using-the-Skill.md) | Install the MikroMCP usage skill so your assistant drives the tools safely |
|
|
192
|
-
| [Available Tools](https://github.com/AliKarami/MikroMCP/wiki/Available-Tools) | All
|
|
192
|
+
| [Available Tools](https://github.com/AliKarami/MikroMCP/wiki/Available-Tools) | All 126 tools — parameters and example prompts |
|
|
193
193
|
| [Architecture](https://github.com/AliKarami/MikroMCP/wiki/Architecture) | System layers, request pipeline, auth model |
|
|
194
194
|
| [Error Handling](https://github.com/AliKarami/MikroMCP/wiki/Error-Handling) | Error categories, retry engine, circuit breaker |
|
|
195
195
|
| [Security](https://github.com/AliKarami/MikroMCP/wiki/Security) | Threat model, hardening checklist, vulnerability reporting |
|
|
@@ -10,10 +10,9 @@
|
|
|
10
10
|
# /user group set <group> policy=...,ftp,...
|
|
11
11
|
# FTP service must also be enabled on the router (/ip service enable ftp).
|
|
12
12
|
#
|
|
13
|
-
# The `ssh` policy is required for ping,
|
|
14
|
-
#
|
|
15
|
-
#
|
|
16
|
-
# The `sniff` policy is additionally required for torch (packet-capture access).
|
|
13
|
+
# The `ssh` policy is required for ping, run_command, and export_config, which
|
|
14
|
+
# execute via SSH. traceroute and torch use the REST API and need `test`;
|
|
15
|
+
# torch additionally needs `sniff` (packet-capture access).
|
|
17
16
|
#
|
|
18
17
|
# run_command policy modes
|
|
19
18
|
# ─────────────────────────
|
|
@@ -61,6 +60,8 @@ routers:
|
|
|
61
60
|
tags: ["datacenter", "core"]
|
|
62
61
|
rosVersion: "7.14"
|
|
63
62
|
# sshPort: 22 # SSH port (default 22)
|
|
63
|
+
# sshUsername: "automation" # Optional SSH/SFTP username; defaults to REST username
|
|
64
|
+
# sshPrivateKeyPath: "/home/user/.ssh/id_ed25519" # Absolute path; suppresses SSH/SFTP password auth
|
|
64
65
|
# sshFingerprint: "aabbcc..." # Pin SSH host key SHA256 fingerprint (hex)
|
|
65
66
|
# cmdAllow: # Strict allow-list for run_command (see above)
|
|
66
67
|
# - "/ip/route/print*"
|