mikromcp 1.4.0 โ†’ 1.6.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 (3) hide show
  1. package/README.md +20 -12
  2. package/dist/main.js +2631 -1363
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -12,12 +12,12 @@
12
12
 
13
13
  [![CI](https://github.com/AliKarami/MikroMCP/actions/workflows/ci.yml/badge.svg)](https://github.com/AliKarami/MikroMCP/actions/workflows/ci.yml)
14
14
  [![Release](https://github.com/AliKarami/MikroMCP/actions/workflows/release.yml/badge.svg)](https://github.com/AliKarami/MikroMCP/actions/workflows/release.yml)
15
- [![Version](https://img.shields.io/badge/version-v1.4.0-EA580C)](package.json)
15
+ [![Version](https://img.shields.io/badge/version-v1.6.0-EA580C)](package.json)
16
16
  [![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
17
17
  [![Node.js >= 22](https://img.shields.io/badge/node-%3E%3D22-339933)](package.json)
18
18
  [![RouterOS 7.x](https://img.shields.io/badge/RouterOS-7.x-293239)](https://help.mikrotik.com/docs/display/ROS/REST+API)
19
19
  [![MCP Server](https://img.shields.io/badge/MCP-server-6f42c1)](https://modelcontextprotocol.io)
20
- [![Tools](https://img.shields.io/badge/MCP%20tools-99-0f766e)](#available-tools)
20
+ [![Tools](https://img.shields.io/badge/MCP%20tools-117-0f766e)](#available-tools)
21
21
  [![MikroMCP MCP server](https://glama.ai/mcp/servers/AliKarami/MikroMCP/badges/score.svg)](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.
@@ -52,7 +52,7 @@ MikroMCP exists because raw router CLI access is the wrong abstraction for AI ag
52
52
  | ๐Ÿงช **Diagnostics** | Router-originated `ping`, `traceroute`, `torch`, log filtering, guarded SSH command execution |
53
53
  | ๐Ÿ›ก๏ธ **Change safety** | Dry-run, idempotent writes, snapshots, write journal, `plan_changes`, `apply_plan`, `rollback_change` |
54
54
  | โš™๏ธ **Production behavior** | Retries for read tools, per-router circuit breakers, correlation IDs, structured logs, audit logs |
55
- | ๐Ÿค– **AI-agent fit** | Human-readable responses plus structured JSON content for reasoning, chaining, and automation |
55
+ | ๐Ÿค– **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`](#configuration-reference) for single-router setups; [usage skill](docs/wiki/Using-the-Skill.md) for safe, guided tool use in Claude Code |
56
56
  | ๐Ÿงฉ **MCP compatibility** | stdio for desktop clients, Streamable HTTP and legacy SSE for remote or service-style clients |
57
57
 
58
58
  ---
@@ -71,7 +71,7 @@ MikroMCP exists because raw router CLI access is the wrong abstraction for AI ag
71
71
 
72
72
  ### MCP Inspector
73
73
 
74
- ![The 99 registered MikroMCP tools with schemas](docs/assets/mcp-inspector-tools.png)
74
+ ![The 117 registered MikroMCP tools with schemas](docs/assets/mcp-inspector-tools.png)
75
75
 
76
76
  ---
77
77
 
@@ -265,6 +265,7 @@ All settings can be placed in `~/.mikromcp/.env` or passed as environment variab
265
265
  | --------------------------------- | -------------------------------- | ------------------------------------------------------ |
266
266
  | `MIKROMCP_TRANSPORT` | `stdio` | `stdio` or `http` |
267
267
  | `MIKROMCP_CONFIG_PATH` | `~/.mikromcp/routers.yaml` | Router registry path |
268
+ | `MIKROMCP_DEFAULT_ROUTER` | unset | Router ID used when a tool call omits `routerId`; falls back to the sole configured router if only one exists |
268
269
  | `MIKROMCP_IDENTITIES_PATH` | `~/.mikromcp/identities.yaml` | Identity and bearer-token registry |
269
270
  | `MIKROMCP_STDIO_IDENTITY` | built-in superadmin | Named identity for stdio mode |
270
271
  | `MIKROMCP_PORT` | `3000` | HTTP transport port |
@@ -285,22 +286,23 @@ All settings can be placed in `~/.mikromcp/.env` or passed as environment variab
285
286
 
286
287
  ## Available Tools
287
288
 
288
- MikroMCP currently registers **99 MCP tools**.
289
+ MikroMCP currently registers **117 MCP tools**.
289
290
 
290
291
  | Area | Tools |
291
292
  | ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
292
293
  | System | `get_system_status`, `get_system_clock`, `set_system_clock`, `reboot` |
293
294
  | Interfaces and IP | `list_interfaces`, `manage_vlan`, `manage_ip_address` |
294
- | DHCP and DNS | `list_dhcp_leases`, `manage_dhcp_lease`, `list_dns_entries`, `manage_dns_entry`, `get_dns_settings` |
295
+ | DHCP and DNS | `list_dhcp_leases`, `manage_dhcp_lease`, `list_dns_entries`, `manage_dns_entry`, `get_dns_settings`, `manage_dns_settings` |
295
296
  | DHCP Servers & Pools | `list_dhcp_servers`, `manage_dhcp_server`, `list_ip_pools`, `manage_ip_pool` |
296
297
  | DHCP Clients | `list_dhcp_clients`, `manage_dhcp_client` |
297
298
  | IP Services | `list_ip_services`, `manage_ip_service` |
298
299
  | PPPoE & OpenVPN | `list_pppoe_clients`, `manage_pppoe_client`, `list_ovpn_clients`, `manage_ovpn_client`, `get_ovpn_server`, `manage_ovpn_server` |
300
+ | PPP Profiles | `list_ppp_profiles`, `manage_ppp_profile` |
299
301
  | Routing | `list_routes`, `manage_route`, `list_routing_rules`, `manage_routing_rule`, `list_routing_tables`, `manage_routing_table` |
300
302
  | Routing protocols | `list_bgp_peers`, `list_ospf_neighbors` |
301
- | Firewall | `list_firewall_rules`, `manage_firewall_rule`, `list_mangle_rules`, `manage_mangle_rule`, `list_address_list_entries`, `manage_address_list_entry` |
302
- | Bridge, WiFi, WireGuard | `list_bridges`, `manage_bridge`, `manage_bridge_port`, `list_wifi_interfaces`, `list_wifi_clients`, `manage_wifi_interface`, `list_wireguard_interfaces`, `list_wireguard_peers`, `manage_wireguard_peer` |
303
- | IPSec/VPN | `list_ipsec_peers`, `list_ipsec_policies`, `manage_ipsec_peer` |
303
+ | Firewall | `list_firewall_rules`, `manage_firewall_rule`, `list_mangle_rules`, `manage_mangle_rule`, `list_address_list_entries`, `manage_address_list_entry`, `list_interface_lists`, `manage_interface_list`, `manage_interface_list_member` |
304
+ | Bridge, WiFi, WireGuard | `list_bridges`, `manage_bridge`, `manage_bridge_port`, `list_wifi_interfaces`, `list_wifi_clients`, `manage_wifi_interface`, `list_wireguard_interfaces`, `list_wireguard_peers`, `manage_wireguard_peer`, `manage_wireguard_interface` |
305
+ | IPSec/VPN | `list_ipsec_peers`, `list_ipsec_policies`, `manage_ipsec_peer`, `manage_ipsec_policy` |
304
306
  | Certificates | `list_certificates`, `manage_certificate` |
305
307
  | Users | `list_users`, `manage_user` |
306
308
  | Queues/QoS | `list_queues`, `manage_queue` |
@@ -308,9 +310,9 @@ MikroMCP currently registers **99 MCP tools**.
308
310
  | SNMP & NTP | `get_snmp_settings`, `get_ntp_settings` |
309
311
  | Netwatch | `list_netwatch_entries`, `manage_netwatch_entry` |
310
312
  | Discovery & ARP | `list_neighbors`, `list_arp_entries` |
311
- | Diagnostics | `ping`, `traceroute`, `torch`, `get_log`, `run_command` |
313
+ | Diagnostics | `ping`, `traceroute`, `torch`, `get_log`, `run_command`, `bandwidth_test`, `fetch_url`, `list_connections` |
312
314
  | Automation | `list_scripts`, `manage_script`, `run_script`, `list_scheduled_jobs`, `manage_scheduled_job` |
313
- | Runtime | `list_packages`, `manage_package`, `list_files`, `get_file_content`, `upload_file`, `list_containers`, `manage_container` |
315
+ | Runtime | `list_packages`, `manage_package`, `list_files`, `get_file_content`, `upload_file`, `delete_file`, `list_containers`, `manage_container`, `get_container_config`, `manage_container_config`, `list_container_envs`, `manage_container_env`, `list_container_mounts`, `manage_container_mount` |
314
316
  | Change management | `plan_changes`, `apply_plan`, `rollback_change` |
315
317
  | Fleet operations | `check_router_health`, `bulk_execute` |
316
318
 
@@ -422,7 +424,8 @@ AI assistants can use MikroMCP to:
422
424
  | [Configuration](https://github.com/AliKarami/MikroMCP/wiki/Configuration) | Router registry, credentials, all environment variables |
423
425
  | [Connecting to Claude Desktop](https://github.com/AliKarami/MikroMCP/wiki/Connecting-to-Claude-Desktop) | Register MikroMCP in Claude Desktop |
424
426
  | [Connecting to AI Assistants](https://github.com/AliKarami/MikroMCP/wiki/Connecting-to-AI-Assistants) | Claude Code, Cursor, Codex, HTTP/Docker/systemd |
425
- | [Available Tools](https://github.com/AliKarami/MikroMCP/wiki/Available-Tools) | All 99 tools โ€” parameters and example prompts |
427
+ | [Using the Skill](docs/wiki/Using-the-Skill.md) | Install the MikroMCP usage skill so your AI assistant drives the tools safely. |
428
+ | [Available Tools](https://github.com/AliKarami/MikroMCP/wiki/Available-Tools) | All 117 tools โ€” parameters and example prompts |
426
429
  | [Architecture](https://github.com/AliKarami/MikroMCP/wiki/Architecture) | System layers, request pipeline, auth model |
427
430
  | [Error Handling](https://github.com/AliKarami/MikroMCP/wiki/Error-Handling) | Error categories, retry engine, circuit breaker |
428
431
  | [Running](https://github.com/AliKarami/MikroMCP/wiki/Running) | Run commands, HTTP transport, troubleshooting |
@@ -468,6 +471,11 @@ Key project paths:
468
471
  | v0.8 | โœ… Shipped | Snapshots, write journal, plan/apply, rollback, maintenance windows |
469
472
  | v0.9 | โœ… Shipped | Fleet operations, IPSec, certificates, users, DHCP servers/pools, queues/QoS, VRRP, SNMP/NTP, Netwatch, discovery, ARP, health checks |
470
473
  | v1.0 | โœ… Shipped | npm package, standalone binaries, Docker images, `mikromcp init` wizard, `mikromcp doctor`, `~/.mikromcp/` convention |
474
+ | v1.1 | โœ… Shipped | Correctness, security hardening, orchestration: retry/circuit-breaker fixes, audit redaction, Prometheus metrics, fleet-confirmed `bulk_execute` |
475
+ | v1.2 | โœ… Shipped | DHCP & interface completeness: `manage_vlan`, `list/manage_ip_pool`, `manage_dhcp_lease`, DHCP clients, IP services |
476
+ | v1.3 | โœ… Shipped | PPPoE & OpenVPN: `list/manage_pppoe_client`, `list/manage_ovpn_client`, `get/manage_ovpn_server` |
477
+ | v1.4 | โœ… Shipped | System administration depth: user groups, firmware upgrade, config backup/export, log rule management, NTP write |
478
+ | v1.5 | โœ… Shipped | Container depth & diagnostics: container config/env/mount tools, `bandwidth_test` (99 โ†’ 117 tools) |
471
479
 
472
480
  See [ROADMAP.md](ROADMAP.md) for the complete milestone plan.
473
481