MikroTik RouterOS MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MIKROTIK_ROUTEROS_CONFIG | No | Path to the devices configuration file (YAML or JSON). If not set, defaults to ./devices.yaml, ./devices.yml, or ./devices.json. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_server_configD | – |
| list_devicesD | – |
| describe_deviceD | – |
| system_infoD | – |
| interfacesD | – |
| ip_addressesD | – |
| routesD | – |
| firewall_filtersD | – |
| nat_rulesD | – |
| dns_settingsD | – |
| dhcp_serversD | – |
| dhcp_leasesD | – |
| address_listsD | – |
| bridgesD | – |
| bridge_portsD | – |
| neighborsD | – |
| wireguard_interfacesD | – |
| wireguard_peersD | – |
| logsD | – |
| pingD | – |
| export_configD | – |
| run_api_printD | – |
| plan_script_changeD | – |
| apply_script_changeA | Apply a change inside a RouterOS Safe Mode session: the config is snapshotted first, and the router itself reverts the change if the session drops or the post-apply health check fails. |
| list_snapshotsB | List config snapshots taken before Safe Mode writes, newest first. |
| diff_snapshotsC | Unified diff between two config snapshots of a device. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 26 tools
Most tools target a distinct RouterOS resource, but `run_api_print` overlaps broadly with the per-resource getters, and `describe_device` vs `system_info` could be confused for device-level metadata. Overall, boundaries are mostly clear but not completely unambiguous.
Names use lower_snake_case, but the pattern varies: `list_devices`, `describe_device`, and `get_server_config` are verb_noun, while `interfaces`, `routes`, and `nat_rules` are bare plural nouns. `run_api_print` and `diff_snapshots` further mix action styles, making the convention inconsistent yet still readable.
With 26 tools, the set is over the comfortable range and many look like 1-1 maps to read a single recurring resource. The count adds clutter for an agent, and `run_api_print` already covers a more generic route. Some overlapping read tools could be consolidated.
The set covers device discovery, system info, networking health endpoints, dynamic tables, WireGuard, logs, ping, config export, and a safe-mode script-change workflow with snapshots. It lacks explicit per-resource CRUD and a rollback-restore from snapshots, but `apply_script_change` is a reasonable generic mechanism for management.