MikroTik MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MIKROTIK_TLS | No | Use HTTPS / API-SSL (default true for rest, false for api) | |
| MIKROTIK_HOST | No | Router IP or hostname | |
| MIKROTIK_PORT | No | Override the port (defaults: 443/80 for rest, 8728/8729 for api) | |
| MIKROTIK_CONFIG | No | Path to a JSON file listing several routers | |
| MIKROTIK_DEVICES | No | JSON array of several routers | |
| MIKROTIK_INSECURE | No | Accept self-signed certificates | false |
| MIKROTIK_PASSWORD | No | Password | |
| MIKROTIK_USERNAME | No | User name | admin |
| MIKROTIK_READ_ONLY | No | Block every write tool | false |
| MIKROTIK_TRANSPORT | No | Transport to use: rest or api | rest |
| MIKROTIK_TIMEOUT_MS | No | Request timeout | 30000 |
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": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| mikrotik_list_devicesA | List the MikroTik routers this server is configured to manage (no credentials are returned). |
| mikrotik_printA | Print items from any RouterOS menu path (the equivalent of |
| mikrotik_addB | Add an item to any RouterOS menu ( |
| mikrotik_setA | Change properties of an item ( |
| mikrotik_removeA | Remove an item ( |
| mikrotik_set_enabledA | Enable or disable an interface, firewall rule, route, user, etc. Identify it by |
| mikrotik_run_commandB | Run an arbitrary RouterOS command, e.g. /system/script/run, /interface/ethernet/monitor (with once=yes), /ip/dhcp-server/lease/make-static, /tool/fetch. Commands that never finish (monitor, torch, ping without count) must be given |
| mikrotik_system_overviewB | Identity, RouterOS version, board, CPU/memory/disk usage, uptime, clock and health sensors in one call. |
| mikrotik_interfacesB | List interfaces with type, running/disabled state, MAC, MTU and traffic counters. |
| mikrotik_ip_addressesB | List IPv4 (or IPv6) addresses assigned to interfaces. |
| mikrotik_routesA | List the IPv4 (or IPv6) routing table, optionally only active routes or a single destination. |
| mikrotik_firewall_rulesB | List firewall rules in order (filter, nat, mangle or raw), including packet/byte counters. |
| mikrotik_dhcp_leasesA | List DHCP server leases (IP, MAC, hostname, status), optionally for one DHCP server. |
| mikrotik_wireless_clientsB | List connected Wi-Fi clients from the registration table (supports the wifi, wifiwave2, legacy wireless and CAPsMAN packages). |
| mikrotik_arp_tableA | List ARP entries and discovered neighbors (MNDP/CDP/LLDP) to see which hosts are on the network. |
| mikrotik_logsA | Read the most recent system log entries, optionally filtered by topic or text. |
| mikrotik_pingA | Ping a host from the router itself (useful to test connectivity from a specific interface or source address). |
| mikrotik_tracerouteC | Trace the path from the router to a host. |
| mikrotik_firewall_add_ruleB | Add a firewall rule. |
| mikrotik_address_listC | Add or remove an address in a firewall address list (commonly used to block or allow hosts). |
| mikrotik_backupA | Save a binary backup (.backup) and/or a text export (.rsc) of the configuration to the router's file system. |
| mikrotik_rebootA | Reboot the router. The connection will drop for about a minute. Always confirm with the user first. |
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 22 tools
The generic mikrotik_print/add/set/remove/run_command tools overlap substantially with dedicated tools such as mikrotik_ip_addresses, mikrotik_interfaces, mikrotik_firewall_add_rule, mikrotik_address_list, and mikrotik_set_enabled. Descriptions help by steering agents toward dedicated tools for common tasks, but an agent can still reasonably choose either path for several operations.
All tools use a consistent mikrotik_ snake_case prefix, and the split between noun-style read tools and verb-style action tools is mostly predictable. Minor inconsistency remains because some read tools include list_ while others are bare resource nouns.
Twenty-two tools is on the high side but reasonable for the broad MikroTik management domain, covering system info, interfaces, routing, firewall, DHCP, wireless, ARP, logs, diagnostics, and generic RouterOS operations. The generic CRUD tools also prevent the surface from needing dozens of menu-specific tools.
The set covers core read views, generic add/set/remove operations for any RouterOS menu, arbitrary command execution, diagnostics, firewall/address-list helpers, backup, and reboot. Remaining lifecycle operations such as restore or package updates can be reached through mikrotik_run_command, so there are no obvious dead ends.