You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
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)