MikroTik · MCP
Bun-native · MCP · RouterOS

Drive your router with words.

640+ risk-annotated tools over SSH turn one — or a whole fleet — of MikroTik devices into something your AI can read, configure and secure in natural language.

SCROLL
0
tools exposed
0
RouterOS modules
0
risk tiers
0
MCP transports
The surface

640+ tools. 88 modules.
Twelve domains.

Scroll to traverse

What it does

One safe choke point. Hundreds of scopes. Zero string concatenation.

Transactional Safe Mode

Push changes through RouterOS Safe Mode's persistent session — a broken config rolls back instead of locking you out of the box.

// safe-mode.ts

Injection-safe by design

Every device command is assembled with a typed Cmd builder and quoteValue escaping — even control chars and newlines never reach the SSH channel raw.

// routeros.ts

Fleet-aware

Manage many routers from one server. Tools auto-expose a device selector and the registry peels it off before your handler runs.

// runtime.ts

Live observability

An opt-in localhost dashboard streams every tool call in real time — latency, errors, per-device health and a redaction-aware feed.

// dashboard.ts

MCP Apps UI

Interactive ui:// views for interfaces, firewall, records and the device dashboard — built as self-contained single-file apps.

// ui-resources.ts

Anywhere transport

stdio, SSE and streamable-HTTP — with CORS and a read-only mode for safe public exposure, plus a self-contained Docker image.

// cli.ts
Anatomy of a call

How one natural-language request reaches the wire.

LLM prompt registry risk gate Cmd quote + build RouterOS SSH
tool call · validated against a five-tier risk preset
v2.0.0 — first release

Configuration
as conversation.

Point any MCP client at your MikroTik and start talking. Bun ≥ 1.3 · RouterOS 6.x ∴ 7.x · MIT.

Get it on npm