MikroMCP logo

MikroMCP

by AliKarami

Manage MikroTik RouterOS routers and SwOS switches through typed MCP tools with previews, permissions, auditing, and rollback workflows.

Install MikroMCP

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "alikarami-mikromcp": {
      "command": "npx",
      "args": [
        "-y",
        "mikromcp"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Install not yet sandbox-tested— we haven't run this command through our automated sandbox yet. Not a red flag; we're working through the catalog.

Overview

AliKarami/MikroMCP exposes MikroTik RouterOS routers and SwOS switches to MCP clients such as Claude, Cursor, and Codex. It provides typed tools for inspection, diagnostics, network configuration, firewall policy, routing, wireless, and switch operations instead of requiring agents to construct raw CLI commands. Write operations can use validation, dry runs, idempotency checks, confirmation gates, snapshots, audit logs, and rollback-aware plans. Reach for it when an AI assistant needs controlled access to MikroTik infrastructure over stdio, Streamable HTTP, or legacy SSE.

Use cases

  • Inspect router health, interfaces, routes, DNS, and logs
  • Review firewall and NAT rules before making changes
  • Dry-run and approve static route, DNS, or address-list updates
  • Diagnose connectivity with router-originated ping, traceroute, and torch
  • Audit WireGuard peers, BGP sessions, and OSPF neighbors

Key features

  • Typed RouterOS and experimental SwOS MCP tools
  • Dry-run, idempotency, planning, and rollback workflows
  • RBAC, confirmation tokens, router restrictions, and audit logs
  • Per-router circuit breakers and read-operation retries
  • stdio, Streamable HTTP, and legacy SSE transports
  • Structured JSON and human-readable tool results

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked Today

Recent health check succeeded.

16/16 checks healthy over the last 79d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 11d ago via OSV.dev · mikromcp (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars83Stargazers on the source repository.
npm downloads735Package downloads in the last 30 days.
Last commit4d agoMost recent push to the default branch.
Directory activity4 viewsConfig copies, upvotes, and views on AllMCPs.

How MikroMCP works

What AliKarami/MikroMCP does

AliKarami/MikroMCP turns MikroTik infrastructure into an MCP tool surface for AI assistants and automation workflows. It connects to RouterOS 7.x devices through the RouterOS REST/API and exposes structured operations for reading state, diagnosing problems, and making guarded changes. SwOS and SwOS Lite switches are also supported experimentally through a reverse-engineered HTTP API.

The tool catalog spans system status, interfaces, VLANs, IP addresses, DHCP leases, DNS records, bridges, WiFi clients, firewall and NAT rules, address lists, routing tables, static routes, BGP, OSPF, WireGuard, logs, files, scripts, scheduler jobs, and containers. Diagnostic operations include router-originated ping, traceroute, torch, log filtering, and guarded SSH commands.

How it works

MCP clients call schema-defined tools rather than sending improvised RouterOS shell commands. Results can include both operator-readable text and structured JSON, allowing an assistant to summarize findings or chain several operations into a larger investigation.

Read operations support retry behavior, while each router has a circuit breaker to limit repeated failures. Changes can be previewed with dry runs and organized into a plan/apply/rollback sequence. Idempotent writes, snapshots, a write journal, correlation IDs, structured logs, audit logs, RBAC, router and tool restrictions, maintenance controls, and confirmation tokens provide additional safeguards around mutations.

For single-router deployments, the optional MIKROMCP_DEFAULT_ROUTER setting can supply the default router ID. The server also publishes MCP initialization instructions so compatible clients can discover guidance for using its tools.

Setup and configuration

The quick-start path uses Node.js 22 or newer, installs the package globally, and then initializes it:

Terminal
npm install -g mikromcp
mikromcp init

That flow targets a single-router stdio deployment. MikroMCP also supports standalone binaries, Docker, Streamable HTTP, and legacy SSE for remote or service-style deployments. RouterOS API prerequisites and deployment-specific configuration are part of the setup process, so choose the transport based on whether the client runs locally with the router workflow or connects to a remote service.

MCP clients named for the project include Claude Desktop, Claude Code, Cursor, and Codex. Stdio is intended for desktop-style clients, while Streamable HTTP and SSE support remote connections.

Tools and capabilities

  • Inspect system resources, versions, interfaces, routes, DNS settings, and logs.
  • Manage firewall filters, NAT and mangle rules, address lists, routing rules, VLANs, DHCP, and DNS records.
  • Examine WireGuard peers, BGP peers, OSPF neighbors, WiFi clients, and interface health.
  • Preview, plan, apply, journal, snapshot, and roll back configuration changes.
  • Operate SwOS switch ports, PoE, SFP diagnostics, backups, firmware upgrades, and whole-configuration YAML workflows.
  • Apply HTTP bearer authentication, bcrypt token hashes, RBAC, confirmation tokens, and router or tool restrictions.

Limitations and notes

SwOS support is marked experimental and uses a reverse-engineered .b HTTP API. Whole-switch writes include a firmware-compatibility check and are guarded rather than treated like ordinary RouterOS operations.

The documented platform target is RouterOS 7.x, with Node.js 22 or newer for the Node-based installation. SSH is used for operations such as ping and guarded command execution where REST cannot provide the required access; the primary RouterOS integration is through REST/API calls.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about MikroMCP

AliKarami/MikroMCP is an MCP server that connects AI assistants to MikroTik RouterOS routers and experimental SwOS switches. Its main tools inspect system and network state, manage firewall, routing, DHCP, DNS, VLAN, WiFi, and WireGuard settings, run diagnostics, and apply guarded changes with previews, permissions, auditing, and rollback workflows.

Install it with Node.js 22 or newer by running `npm install -g mikromcp`, then run `mikromcp init`. The quick-start flow configures a single-router stdio deployment; Docker, standalone binaries, Streamable HTTP, and SSE are also supported deployment options.

Yes, Cursor can connect to AliKarami/MikroMCP as an MCP server. The project supports stdio for local desktop-style use and Streamable HTTP or legacy SSE for remote or service-style connections.

Yes, write operations can be dry-run and organized into plan, approval, apply, and rollback workflows. The server also supports idempotent writes, snapshots, a write journal, confirmation tokens, and audit logging for guarded configuration changes.

Yes, but SwOS and SwOS Lite support is experimental. The server uses a reverse-engineered HTTP API for port links, PoE, SFP diagnostics, backups, firmware upgrades, and guarded whole-switch configuration workflows.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewMikroMCP AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/alikarami-mikromcp?style=directory)](https://allmcps.com/mcp/alikarami-mikromcp)
HTML Embed
<a href="https://allmcps.com/mcp/alikarami-mikromcp"><img src="https://allmcps.com/api/badge/alikarami-mikromcp?style=directory" alt="MikroMCP on AllMCPs" /></a>