Skip to content

v1.6.0

Latest

Choose a tag to compare

@github-actions github-actions released this 30 May 10:04
9b2cfd4

Added

  • MIKROMCP_DEFAULT_ROUTER environment variable — sets the router used when a tool call omits routerId
  • MikroMCP usage skill (skills/mikromcp/) — a progressive-disclosure Claude Code skill for driving the tools safely (tool selection, dry-run/confirm/rollback flows, fleet ops, error recovery) with curated links to official MikroTik documentation. See docs/wiki/Using-the-Skill.md.
  • MCP server now sends a concise instructions string in the initialize response (safety nudge: dry-run writes, confirmation tokens, prefer dedicated tools over run_command) so any client gets baseline guidance even without the usage skill

Changed

  • routerId is now optional on every router-scoped tool. When omitted, the server resolves it from MIKROMCP_DEFAULT_ROUTER, or the sole configured router when exactly one exists; otherwise it returns a MISSING_ROUTER_ID error listing available routers
  • Slimmed the advertised tool catalog (tools/list) by reusing shared schema-field definitions and tightening the longest tool descriptions — roughly 14% fewer tokens per catalog with no change to tool behaviour
  • List tools now return a concise summary in their text content; full per-item detail remains in structuredContent, avoiding duplicate payloads across both result fields
  • mikromcp init now prompts whether to set the configured router as the default (MIKROMCP_DEFAULT_ROUTER), writes it into .env accordingly (active when accepted, commented-out otherwise), shows the choice in the summary, and points to the usage skill in its next-steps
  • mikromcp doctor now validates default-router resolution (errors if MIKROMCP_DEFAULT_ROUTER names an unknown router, notes the implicit sole-router default, warns when multiple routers have no default) and checks whether the usage skill is installed
  • Internal: extracted a shared paginate() helper for client-side pagination, a shared toolError() handler-error wrapper, and made the circuit breaker state getter side-effect-free (the open→half-open transition is now explicit). No user-facing behaviour change.

Fixed

  • Audit log redaction now recurses into arrays, so secrets nested in step arrays (e.g. apply_plan / bulk_execute step params) are stripped instead of leaking
  • manage_firewall_rule idempotency now compares src-address, dst-address, and protocol in addition to chain/action/ports — previously rules differing only by address or protocol were treated as identical (returned already_exists) instead of raising a CONFLICT
  • bulk_execute now takes config snapshots and writes journal entries for destructive sub-operations, matching single-router write tools (enables rollback of fleet changes)