RouterOS

MCP server for MikroTik RouterOS devices
  • python

3

GitHub Stars

python

Language

6 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "sevaepsteyn-routeros_mcp": {
      "command": "uv",
      "args": [
        "run",
        "routeros-mcp"
      ],
      "env": {
        "ROUTEROS_TIMEOUT": "10",
        "ROUTEROS_API_PORT": "8728",
        "ROUTEROS_SSH_PORT": "22",
        "ROUTEROS_LOG_LEVEL": "INFO",
        "ROUTEROS_API_SSL_PORT": "8729",
        "ROUTEROS_DEVICES_CONFIG": "/path/to/devices.yaml",
        "ROUTEROS_CONNECTION_ORDER": "api,api_ssl,ssh"
      }
    }
  }
}

This MCP server lets you manage MikroTik RouterOS devices from a single, reliable controller. It supports multiple connection methods, automatic fallbacks, and a rich set of tools to inspect, monitor, and configure devices across your network with safety and type guarantees.

How to use

You run the MCP server locally and connect to it from your MCP client. The server exposes a set of tools to query system information, interfaces, IP addresses, routes, neighbors, bridges, logs, and configuration exports. When you need to perform actions that require write access, the server will automatically fall back to SSH if API permissions are insufficient. You can manage multiple RouterOS devices from a single MCP server by listing them in a YAML configuration.

How to install

Prerequisites: you need Python and/or UV to run the MCP server, depending on your chosen installation method.

Install with UV

cd routeros_mcp
uv sync

Install with Python (pip)

cd routeros_mcp
pip install -e .

Run the server

Choose your preferred runtime and start the server using one of the following commands.

# With UV
uv run routeros-mcp

# With Python
python -m routeros_mcp

Available tools

list_devices

List all configured RouterOS devices and their basic metadata.

system_info

Retrieve system information for a specified device, such as version, uptime, and hardware details.

interfaces

List network interfaces on a device, with their statuses and configurations.

ip_addresses

Show IP addresses configured on device interfaces.

ip_routes

Display routing table entries, with an option to filter by active routes.

neighbors

List discovered neighbors via CDP/LLDP to map neighbor relationships.

bridges

List Layer 2 bridge configurations and their member interfaces.

logs

Fetch device logs with topics, limits, and offset for pagination.

config

Export the full device configuration, with automatic fallback to SSH when needed.

ping

Execute a ping from the device to a target address with configurable parameters.

command

Execute a core RouterOS API command with provided parameters.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational