Mikrotik MCP
MCP server for MikroTik routers: firewall, NAT, routing, DHCP, DNS, WireGuard and more via SSH.
Connector by wiresage · GitHub account verified by the MCP Registry
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/wiresage-mikrotik-mcp
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: cloud-management
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.
- Tools
- 92 read · 86 write · 28 delete · 6 not yet classified
- Secrets
- 3 (API keys, tokens or passwords)
- Install scripts
- Not scanned yet
- Runs as
- Python package
Tools by what they do 212
Read from the source code; the running server may list different tools.
Read 92 · Look things up without changing anything.
check_route_pathcheck_wireless_supportexport_sectionget_active_usersget_address_list_entryget_dhcp_serverget_dns_cacheget_dns_cache_statisticsget_dns_settingsget_dns_staticget_filter_ruleget_interface
Show 80 more tools
get_ip_addressget_ip_poolget_ipsec_active_peersget_ipsec_installed_saget_ipv6_addressget_ipv6_filter_ruleget_log_statisticsget_logsget_logs_by_severityget_logs_by_topicget_nat_ruleget_poe_monitorget_poe_settingsget_queue_treeget_queue_typeget_routeget_route_cacheget_route_statisticsget_routing_tableget_security_logsget_simple_queueget_system_clockget_system_eventsget_system_healthget_system_package_updateget_system_resourceget_system_routerboardget_userget_user_groupget_vlan_interfaceget_wireguard_interfaceget_wireguard_peerget_wireless_interfaceget_wireless_registration_tableget_wireless_security_profilelist_address_list_entrieslist_arp_entrieslist_backupslist_deviceslist_dhcp_leaseslist_dhcp_serverslist_dhcpv6_bindingslist_dns_staticlist_filter_ruleslist_interfaceslist_ip_addresseslist_ip_pool_usedlist_ip_poolslist_ip_serviceslist_ipsec_peerslist_ipsec_policieslist_ipsec_profileslist_ipsec_proposalslist_ipv6_addresseslist_ipv6_filter_ruleslist_ipv6_neighborslist_nat_ruleslist_netwatchlist_poelist_queue_treeslist_queue_typeslist_routeslist_schedulerslist_scriptslist_simple_queueslist_system_packageslist_user_groupslist_user_ssh_keyslist_userslist_vlan_interfaceslist_wireguard_interfaceslist_wireguard_peerslist_wireless_access_listlist_wireless_interfaceslist_wireless_security_profilesmonitor_logssafe_mode_statusscan_wireless_networkssearch_logstest_dns_query
Write 86 · Create, change, send or run things.
add_blackhole_routeadd_default_routeadd_dns_regexpadd_dns_staticadd_ip_addressadd_ipv6_addressadd_routeadd_useradd_user_groupadd_wireguard_peerbackup_infocommit_safe_mode
Show 74 more tools
create_address_list_entrycreate_backupcreate_basic_firewall_setupcreate_dhcp_networkcreate_dhcp_poolcreate_dhcp_servercreate_exportcreate_filter_rulecreate_ip_poolcreate_ipv6_filter_rulecreate_nat_rulecreate_queue_treecreate_queue_typecreate_simple_queuecreate_vlan_interfacecreate_wireguard_interfacecreate_wireless_access_listcreate_wireless_interfacecreate_wireless_security_profiledisable_address_list_entrydisable_dns_staticdisable_filter_ruledisable_interfacedisable_ipv6_filter_ruledisable_nat_ruledisable_queue_treedisable_routedisable_simple_queuedisable_userdisable_wireguard_interfacedisable_wireguard_peerdisable_wireless_interfacedownload_fileenable_address_list_entryenable_dns_staticenable_filter_ruleenable_interfaceenable_ipv6_filter_ruleenable_nat_ruleenable_queue_treeenable_routeenable_safe_modeenable_simple_queueenable_userenable_wireguard_interfaceenable_wireguard_peerenable_wireless_interfaceimport_configurationmove_filter_rulemove_ipv6_filter_rulemove_nat_rulerestore_backupset_dns_serversset_user_ssh_keysset_wireless_passphraseset_wireless_security_profileupdate_address_list_entryupdate_dhcp_networkupdate_dns_staticupdate_filter_ruleupdate_ip_poolupdate_ipv6_filter_ruleupdate_nat_ruleupdate_queue_treeupdate_queue_typeupdate_routeupdate_simple_queueupdate_userupdate_user_groupupdate_vlan_interfaceupdate_wireguard_interfaceupdate_wireguard_peerupdate_wireless_interfaceupload_file
Delete 28 · Delete, drop, revoke or wipe things.
clear_logsflush_dns_cacheflush_route_cacheremove_address_list_entryremove_dhcp_networkremove_dhcp_serverremove_dns_staticremove_fileremove_filter_ruleremove_ip_addressremove_ip_poolremove_ipv6_address
Show 16 more tools
remove_ipv6_filter_ruleremove_nat_ruleremove_queue_treeremove_queue_typeremove_routeremove_simple_queueremove_userremove_user_groupremove_user_ssh_keyremove_vlan_interfaceremove_wireguard_interfaceremove_wireguard_peerremove_wireless_access_list_entryremove_wireless_interfaceremove_wireless_security_profilerollback_safe_mode
Not yet classified 6 · We could not tell from the name and description.
disconnect_userexpand_ip_poolexport_dns_configexport_logsexport_user_configgenerate_wireguard_client_config
Secrets and settings it asks for
Secrets: values you paste in that let it act as you.
MIKROTIK_INVENTORYMIKROTIK_KEY_FILENAMEMIKROTIK_PASSWORD
Other settings (environment variables or headers).
MIKROTIK_HOSTMIKROTIK_INVENTORY_FILEMIKROTIK_PORTMIKROTIK_READ_ONLYMIKROTIK_SENSITIVE_HIDINGMIKROTIK_USERNAME
Files it touches
- Any path the agent passes to its tools
Tools (212)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
add_blackhole_routeAdds a blackhole route. Notes: dst_address: CIDR e.g. "10.0.0.0/8" distance: 1-255
add_default_routeAdds a default route.
add_dns_regexpAdds a DNS regexp entry.
add_dns_staticAdds a static DNS entry. Notes: regexp: a regular expression the name must match. A regexp entry has no name, so ``name`` is ignored when ``regexp`` is given (RouterOS refuses both: "only name or regexp allowed").
add_ip_addressAdds an IP address to an interface on the MikroTik device.
add_ipv6_addressAdds an IPv6 address to an interface on the MikroTik device. Notes: address: IPv6 address with prefix length, e.g. "2001:db8::1/64" or "fe80::1/64". When `from_pool` is used, supply the host part only, e.g. "::1/64". advertise: include this prefix in Router Advertisements (default no). eui_64: derive the host part of the address from the interface MAC. from_pool: name of an IPv6 pool to take the prefix from. no_dad: skip Duplicate Address Detection.
add_routeAdds a route to the routing table. Notes: dst_address: CIDR e.g. "0.0.0.0/0", "192.168.1.0/24" routing_table: name of a table from /routing table, e.g. "via_ISP2"; defaults to "main". RouterOS 6 called this the routing mark. check_gateway: "ping" or "arp" distance: 1-255 (lower = higher priority)
add_userAdds a user to MikroTik device.
add_user_groupAdds a user group.
add_wireguard_peerAdds a WireGuard peer (with public key and allowed addresses) to an interface on the MikroTik device. Notes: allowed_address: CIDR, comma-separated for multiple e.g. "10.0.0.2/32" or "10.0.0.0/24,192.168.0.0/24" endpoint_address: remote host IP or hostname e.g. "203.0.113.1" persistent_keepalive: seconds as string e.g. "25"
backup_infoGets detailed information about a backup file on the MikroTik device.
check_route_pathChecks the route MikroTik would use to reach a destination.
check_wireless_supportChecks if the device supports wireless and reports the RouterOS version and wireless interface type.
clear_logsExplains why MikroTik's in-memory log cannot be cleared on demand.
commit_safe_modeCommits all pending Safe Mode changes to persistent storage and exits Safe Mode.
Show 197 more tools
create_address_list_entryAdds an entry to an IPv4 or IPv6 firewall address list. Notes: address: an address or prefix; a hostname is also accepted and RouterOS adds a dynamic child entry per resolved address. timeout: RouterOS duration e.g. "1h". An entry with a timeout is dynamic, so it does not survive a reboot. list_name is matched exactly, including any leading or trailing spaces.
create_backupCreates a system backup on the MikroTik device.
create_basic_firewall_setupCreates a basic firewall setup with common security rules on the MikroTik device.
create_dhcp_networkCreates a DHCP network configuration (gateway, DNS, domain, etc.) on the MikroTik device.
create_dhcp_poolCreates a DHCP address pool with the given IP ranges on the MikroTik device. Notes: ranges: hyphen-separated range(s) e.g. "192.168.1.1-192.168.1.100" Multiple ranges comma-separated: "10.0.0.1-10.0.0.50,10.0.0.100-10.0.0.120"
create_dhcp_serverCreates a DHCP server bound to the specified interface on the MikroTik device. Notes: lease_time: duration e.g. "1d", "12h", "30m", "1h30m"
create_exportCreates a configuration export file (rsc/json/xml) on the MikroTik device.
create_filter_ruleCreates a firewall filter rule in the specified chain on the MikroTik device. Notes: connection_state: comma-separated e.g. "established,related,new,invalid" limit: RouterOS rate/burst string e.g. "10,5:packet" or "10/1s:packet" tcp_flags: RouterOS flag expression e.g. "syn,!ack" place_before: rule number or ID (*N) to insert before e.g. "0" or "*3" in_interface_list/out_interface_list: name of an /interface list (e.g. "LAN", "WAN") rather than a single interface
create_ip_poolCreates an IP pool with the given address ranges on the MikroTik device. Notes: ranges: hyphen-separated range(s) e.g. "192.168.1.1-192.168.1.100" Multiple ranges comma-separated: "10.0.0.1-10.0.0.50,10.0.0.100-10.0.0.120"
create_ipv6_filter_ruleCreates an IPv6 firewall filter rule on the MikroTik device. Notes: protocol: IPv6 uses "icmpv6", not the IPv4 spelling "icmp". jump_target: only used with action="jump".
create_nat_ruleCreates a NAT rule (srcnat or dstnat) on the MikroTik device. Notes: to_addresses: single IP or range e.g. "10.0.0.1" or "10.0.0.1-10.0.0.10" to_ports: single port or range e.g. "8080" or "8080-8090" place_before: rule number or ID (*N) to insert before e.g. "0" or "*3"
create_queue_treeCreates a hierarchical queue tree entry attached to a parent interface or queue. Notes: max_limit / limit_at / burst_limit / burst_threshold: bandwidth e.g. "10M", "512k", "1G" burst_time: duration e.g. "8s" parent: interface name e.g. "ether1" or parent queue name priority: 1 (highest) – 8 (lowest)
create_queue_typeCreates a queue type (qdisc). kind selects the discipline (cake, fq-codel, sfq, red, pcq, pfifo, bfifo); remaining params are per-discipline options. Notes: pcq_rate: bandwidth per flow e.g. "1M", "512k" pcq_classifier: comma-separated classifiers e.g. "src-address,dst-address" cake_rtt: round-trip time e.g. "50ms", "100ms" fq_codel_target / fq_codel_interval: time e.g. "5ms", "100ms"
create_simple_queueCreates a simple queue to rate-limit a target address or interface. Notes: target: IP/CIDR or interface e.g. "192.168.1.0/24" or "ether1" max_limit / limit_at / burst_limit / burst_threshold: upload/download bandwidth as "UL/DL" e.g. "10M/10M", or single value e.g. "10M" burst_time: duration e.g. "8s" priority: 1 (highest) – 8 (lowest)
create_vlan_interfaceCreates a VLAN interface on the MikroTik device with the given VLAN ID and parent interface.
create_wireguard_interfaceCreates a WireGuard interface on the MikroTik device.
create_wireless_access_listLegacy function - different in RouterOS v7.x
create_wireless_interfaceCreates a wireless interface on the MikroTik device (auto-detects RouterOS v6/v7 syntax).
create_wireless_security_profileLegacy function - not supported in RouterOS v7.x
disable_address_list_entryDisables an address list entry.
disable_dns_staticDisables a static DNS entry.
disable_filter_ruleDisables a firewall filter rule.
disable_interfaceDisables an interface on the MikroTik device. Notes: name: exact interface name e.g. "ether1", "bridge", "pppoe-out1"
disable_ipv6_filter_ruleDisables an IPv6 firewall filter rule.
disable_nat_ruleDisables a NAT rule.
disable_queue_treeDisables a queue tree.
disable_routeDisables a route. Notes: route_id: "*N" or "N" from list output e.g. "*3"
disable_simple_queueDisables a simple queue.
disable_userDisables a user.
disable_wireguard_interfaceDisables a WireGuard interface.
disable_wireguard_peerDisables a WireGuard peer. Notes: peer_id: "*N" or "N" from list output e.g. "*2"
disable_wireless_interfaceDisables a wireless interface.
disconnect_userDisconnects an active user session.
download_fileDownloads a backup or export file from the MikroTik device as base64-encoded content.
enable_address_list_entryEnables an address list entry.
enable_dns_staticEnables a static DNS entry.
enable_filter_ruleEnables a firewall filter rule.
enable_interfaceEnables an interface on the MikroTik device. Notes: name: exact interface name e.g. "ether1", "bridge", "pppoe-out1"
enable_ipv6_filter_ruleEnables an IPv6 firewall filter rule.
enable_nat_ruleEnables a NAT rule.
enable_queue_treeEnables a queue tree.
enable_routeEnables a route. Notes: route_id: "*N" or "N" from list output e.g. "*3"
enable_safe_modeActivates MikroTik Safe Mode; changes are held in memory and auto-reverted on disconnect until committed.
enable_simple_queueEnables a simple queue.
enable_userEnables a user.
enable_wireguard_interfaceEnables a WireGuard interface.
enable_wireguard_peerEnables a WireGuard peer. Notes: peer_id: "*N" or "N" from list output e.g. "*2"
enable_wireless_interfaceEnables a wireless interface.
expand_ip_poolExpands an existing IP pool by appending additional address ranges. Notes: additional_ranges: hyphen-separated range(s) e.g. "192.168.1.101-192.168.1.150" Multiple ranges comma-separated: "10.0.0.51-10.0.0.60,10.0.0.70-10.0.0.80"
export_dns_configExports DNS configuration to a file.
export_logsExports logs to a .txt file on the MikroTik device with optional topic and time filters.
export_sectionReturns a RouterOS configuration section as an export script. Notes: section: RouterOS path without leading slash e.g. "ip address", "interface vlan", "ip firewall filter", "ip firewall nat", "queue simple" hide_sensitive: keep secrets out of the output (False appends show-sensitive)
export_user_configExports user configuration to a file.
flush_dns_cacheFlushes the DNS cache.
flush_route_cacheFlushes the route cache.
generate_wireguard_client_configGenerates a wg0.conf client config string from the given keys and server endpoint. Does not communicate with the router.
get_active_usersGets currently active/logged-in users.
get_address_list_entryGets one address list entry by list name and address.
get_dhcp_serverGets detailed information about a specific DHCP server.
get_dns_cacheGets the current DNS cache.
get_dns_cache_statisticsGets DNS cache statistics.
get_dns_settingsGets current DNS configuration.
get_dns_staticGets details of a specific static DNS entry.
get_filter_ruleGets detailed information about a specific firewall filter rule. Notes: rule_id: positional number from list output (e.g. "12") or internal ID (e.g. "*1A")
get_interfaceGets detailed information about a specific interface by name. Notes: name: exact interface name e.g. "ether1", "bridge", "pppoe-out1", "wg0"
get_ip_addressGets detailed information about a specific IP address by ID or address value.
get_ip_poolGets detailed information about a specific IP pool including used address count.
get_ipsec_active_peersLists the IPsec peers with a live IKE session, with uptime and counters. Shows the parent (phase 1) side: `state`, `uptime`, `last-seen` and the byte counters. A peer can sit here `established` while its child SAs carry nothing — use `get_ipsec_installed_sa` to tell the difference. Notes: Both filters are exact matches.
get_ipsec_installed_saLists the installed IPsec security associations (child/phase 2 SAs). The Flags legend is the point of this view. On RouterOS 7 it reads: S - SEEN-TRAFFIC the SA has carried packets H - HW-AEAD the cipher is running in hardware E - ESP `S` is the only field that separates an SA carrying traffic from one that is merely installed. A remote end reporting the connection as up, or its own byte counters growing, does not contradict a missing `S`: those count what the far side sent, not what arrived. Two things this does NOT tell you, both easy to get wrong: - **A missing `S` c…
get_ipv6_addressGets detailed information about a specific IPv6 address by ID or address value. Notes: address_id: a RouterOS internal id (e.g. "*1") or the address value (e.g. "2001:db8::1/64").
get_ipv6_filter_ruleGets detailed information about a specific IPv6 firewall filter rule. Notes: rule_id: a RouterOS internal id ("*1") or a print position ("0").
get_log_statisticsGets log entry counts by topic and severity from the MikroTik device.
get_logsGets logs from the MikroTik device with optional topic, time, and message filters. Notes: topics: comma-separated, entry matches any of them e.g. "system,dhcp" time_filter: RouterOS duration e.g. "30s", "5m", "1h", "2d" message_filter: RouterOS regex matched against the message (case-sensitive) limit: keep only the newest N entries
get_logs_by_severityGets logs filtered by severity level (debug/info/warning/error/critical).
get_logs_by_topicGets logs for a specific topic/facility (system, dhcp, interface, firewall, etc.).
get_nat_ruleGets detailed information about a specific NAT rule. Notes: rule_id: use the ID from list output e.g. "*1" or "0"
get_poe_monitorReads real-time Power-over-Ethernet (PoE) monitor data for one or more ethernet interfaces — PoE-out status, voltage, current, and power. Runs ``/interface ethernet poe monitor <interfaces> once``. Notes: interfaces: comma-separated ethernet interface name(s), e.g. "ether1" or "ether9-ap,ether10-ap,ether11-ap,ether12-ap"
get_poe_settingsGets the detailed PoE-out settings of a specific ethernet interface (PoE-out mode, priority, voltage, low/high thresholds, …). Runs ``/interface ethernet poe print detail where name=<name>``. Notes: name: exact ethernet interface name, e.g. "ether1"
get_queue_treeGets detailed information about a specific queue tree.
get_queue_typeGets detailed information about a specific queue type.
get_routeGets detailed information about a specific route. Notes: route_id: "*N" or "N" from list output e.g. "*3"
get_route_cacheGets the route cache.
get_route_statisticsGets routing table statistics.
get_routing_tableGets a specific routing table.
get_security_logsGets security-related log entries (logins, failures, blocked connections, etc.).
get_simple_queueGets detailed information about a specific simple queue.
get_system_clockReports the device clock, time zone and DST setting. Notes: Log timestamps are only as trustworthy as this. A device without a working time source dates its own evidence wrongly, which matters when correlating an incident across sites.
get_system_eventsGets system-related log events (login, reboot, config-change, etc.).
get_system_healthReports the board sensors: voltage, temperature, fan and PSU state. Notes: Many boards carry no sensors at all and legitimately report nothing. An empty answer here means "this model does not measure it", not "the reading failed".
get_system_package_updateReports the installed RouterOS version against the latest on its channel. Notes: This reads the stored result of the last check; it does not contact MikroTik. `latest-version` can therefore be stale or empty on a device that has never checked or cannot reach the update server.
get_system_resourceReports uptime, RouterOS version, board name, architecture, CPU and memory. Notes: `free-memory` against `total-memory` and `cpu-load` are the two numbers worth reading before blaming the network for a slow device. On the low-power boards a single packet-sniffing tool can saturate the CPU on its own.
get_system_routerboardReports the model, serial number and bootloader firmware revision. Notes: `current-firmware` against `upgrade-firmware` is the RouterBOOT bootloader, which is upgraded separately from RouterOS and is easy to leave behind after a package upgrade.
get_userGets detailed information about a specific user.
get_user_groupGets detailed information about a specific user group.
get_vlan_interfaceGets detailed information about a specific VLAN interface.
get_wireguard_interfaceGets detailed information about a specific WireGuard interface.
get_wireguard_peerGets detailed information about a specific WireGuard peer by ID. Notes: peer_id: "*N" or "N" from list output e.g. "*2"
get_wireless_interfaceGets detailed information about a specific wireless interface.
get_wireless_registration_tableGets the wireless registration table (connected clients) from the MikroTik device.
get_wireless_security_profileLegacy function - not supported in RouterOS v7.x
import_configurationImports and executes a RouterOS configuration script (.rsc file) on the device.
list_address_list_entriesLists IPv4 or IPv6 firewall address list entries. Notes: list_filter: exact list name, including any trailing space. address_filter/comment_filter: partial match. static_only excludes the dynamic children a hostname entry creates.
list_arp_entriesLists detailed IPv4 ARP entries. Notes: Address and MAC filters are substring matches. Interface and status filters are exact matches.
list_backupsLists backup files on the MikroTik device.
list_devicesLists the MikroTik devices this server manages. Use this to discover which devices are available and what their titles are. Every other tool takes an optional `device` argument that must be one of the titles returned here. When only one device is configured, `device` may be omitted and that device is used automatically. Credentials are never returned.
list_dhcp_leasesLists detailed IPv4 DHCP leases, optionally filtering active lease fields. Notes: Address and identity filters are substring matches. Server, status, and lease time filters are exact matches against RouterOS `lease-time`.
list_dhcp_serversLists DHCP servers on the MikroTik device.
list_dhcpv6_bindingsLists detailed DHCPv6 bindings. Notes: Address and DUID filters are substring matches. IAID, server, status, and lease time filters are exact matches; lease time maps to `life-time`.
list_dns_staticLists static DNS entries.
list_filter_rulesLists firewall filter rules on the MikroTik device.
list_interfacesLists all interfaces on the MikroTik device (ethernet, bridge, WireGuard, PPPoE, VLAN, WiFi, SFP, LTE, loopback, and any other type). Notes: type_filter: RouterOS interface type e.g. "ether", "bridge", "vlan", "wg", "pppoe-out", "wifi", "lte", "loopback" name_filter: partial name match e.g. "ether" matches ether1, ether2 …
list_ip_addressesLists IP addresses on the MikroTik device.
list_ip_pool_usedLists currently used (allocated) addresses from IP pools.
list_ip_poolsLists IP pools on the MikroTik device.
list_ip_servicesLists the management services with their port and address restriction. Notes: `name_filter` is a substring match (`winbox`, `ssh`, `api`, `www`, `www-ssl`, `ftp`, `telnet`). `enabled_only=True` hides the disabled ones, which is the list that actually describes exposure. An empty `address` means unrestricted. Read that together with how the device is reached: unrestricted on a router whose WAN holds a public address means the service is published to the internet, whether or not the port was changed from its default. `ftp` deserves its own look: RouterOS also s…
list_ipsec_peersLists the configured IPsec peers. Notes: Filters are substring matches. Secrets live on `/ip ipsec identity` and are not exposed by any tool in this server.
list_ipsec_policiesLists the IPsec policies, with their phase 2 state. The Flags legend distinguishes configured policies from the ones a peer generated at runtime (`D` dynamic), and `ph2-state` says whether the child SA is established. A policy whose selectors do not match the far end's is the usual cause of a tunnel that comes up and passes nothing. Notes: `peer_filter` is a substring match on the peer name; the address filters are substring matches on the policy selectors, which are the encapsulated subnets, not the tunnel endpoints.
list_ipsec_profilesLists the IPsec profiles (phase 1 proposal: DH group, hash, lifetime, DPD). Notes: `lifetime` here is phase 1. It must be LONGER than the phase 2 lifetime on `/ip ipsec proposal`, so the child SA rekeys inside a live parent SA; equal lifetimes tear the tunnel down on every rekey. `dpd-interval` multiplied by `dpd-maximum-failures` is how many seconds of silence the peer tolerates.
list_ipsec_proposalsLists the IPsec proposals (phase 2: encryption, auth, PFS, lifetime). Notes: Compare `lifetime` against the phase 1 lifetime on `/ip ipsec profile`, and against whatever the far end proposes — a cloud provider's own SA lifetime counts as a third value in that comparison.
list_ipv6_addressesLists IPv6 addresses on the MikroTik device. Notes: address_filter: partial match on the address, e.g. "2001:db8" or "fe80". global_only: show only global (routable) addresses. link_local_only: show only link-local (fe80::/10) addresses.
list_ipv6_filter_rulesLists IPv6 firewall filter rules on the MikroTik device. Notes: protocol_filter: IPv6 uses "icmpv6", not the IPv4 spelling "icmp". src_address_filter/dst_address_filter: partial match on the address, e.g. "2001:db8" matches every rule whose address starts with it.
list_ipv6_neighborsLists detailed IPv6 neighbor-discovery entries. Notes: Address and MAC filters are substring matches. Interface and status filters are exact matches.
list_nat_rulesLists NAT rules on the MikroTik device.
list_netwatchLists the netwatch probes with their live status and measurements. Configuration first, then a LIVE STATE block with `status`, `since` — the timestamp of the last transition — and, on an ICMP probe, the last test's numbers: `rtt-avg`, `loss-percent`, `failed-tests`. Match the two blocks by `host`, or by the `.id` the live one carries. Notes: `host_filter` and `comment_filter` are substring matches; `status_filter` and `type_filter` are exact. Pass `status_filter="down"` to list only what is currently failing. `include_source=False` (the default) omits `up-script`, `down-…
list_poeLists the Power-over-Ethernet (PoE) configuration of PoE-capable ethernet interfaces (PoE-out mode, priority). Runs ``/interface ethernet poe print``. Notes: interface_filter: partial name match, e.g. "ether" matches ether1, ether2 …
list_queue_treesLists queue trees on the MikroTik device.
list_queue_typesLists queue types on the MikroTik device.
list_routesLists routes in MikroTik routing table.
list_schedulersLists the scheduled tasks with their interval, next run and run count. Notes: `name_filter` is a substring match. Read `next-run` together with `interval`: a scheduler whose `run-count` is not advancing is firing into a script that errors out, which RouterOS does not surface here — it shows up in the log under the `script` topic. `include_source=False` (the default) omits `on-event`, because a scheduler can carry commands inline, and those routinely hold a bot token or a password inside a URL. Redaction only recognises labelled secrets, so withholding the fiel…
list_scriptsLists the stored scripts: owner, policy, run count and last start. Notes: `include_source=False` (the default) omits the script body, because bodies routinely hold credentials in clear text. Set it to True only when you intend to read the code; the output is redacted either way, but redaction is pattern-based and is not a guarantee. `policy` is what the script may do when it runs, which can exceed what the user who scheduled it may do interactively.
list_simple_queuesLists simple queues on the MikroTik device.
list_system_packagesLists the installed RouterOS packages and which are disabled.
list_user_groupsLists user groups on MikroTik device.
list_user_ssh_keysLists SSH keys for a specific user.
list_usersLists users on MikroTik device.
list_vlan_interfacesLists VLAN interfaces on the MikroTik device.
list_wireguard_interfacesLists WireGuard interfaces on the MikroTik device.
list_wireguard_peersLists WireGuard peers on the MikroTik device.
list_wireless_access_listLegacy function - different in RouterOS v7.x
list_wireless_interfacesLists wireless interfaces on the MikroTik device.
list_wireless_security_profilesLegacy function - not supported in RouterOS v7.x
monitor_logsWatches for new log entries for a limited duration (max 60s) and returns them. Notes: duration: seconds to wait for new entries, capped at 60
move_filter_ruleMoves a firewall filter rule to a different position in the chain. Notes: rule_id: positional number from list output (e.g. "12") or internal ID (e.g. "*1A") destination: 0-based target position index
move_ipv6_filter_ruleMoves an IPv6 firewall filter rule to a different position in the chain. Notes: rule_id: a RouterOS internal id ("*1") or a print position ("0"). destination: 0-based target position index
move_nat_ruleMoves a NAT rule to a different position in the chain. Notes: rule_id: use the ID from list output e.g. "*1" or "0" destination: 0-based target position index
remove_address_list_entryRemoves an address list entry by list name and address. Notes: Removing a hostname entry also clears the dynamic entries RouterOS derived from it.
remove_dhcp_networkRemoves a DHCP network configuration from the MikroTik device.
remove_dhcp_serverRemoves a DHCP server from the MikroTik device.
remove_dns_staticRemoves a static DNS entry.
remove_fileRemoves a file from the MikroTik device filesystem.
remove_filter_ruleRemoves a firewall filter rule from the MikroTik device. Notes: rule_id: positional number from list output (e.g. "12") or internal ID (e.g. "*1A")
remove_ip_addressRemoves an IP address from the MikroTik device by ID or address value.
remove_ip_poolRemoves an IP pool from the MikroTik device (fails if pool is in use).
remove_ipv6_addressRemoves an IPv6 address from the MikroTik device by ID or address value. Notes: address_id: a RouterOS internal id (e.g. "*1") or the address value (e.g. "2001:db8::1/64").
remove_ipv6_filter_ruleRemoves an IPv6 firewall filter rule from the MikroTik device. Notes: rule_id: a RouterOS internal id ("*1") or a print position ("0").
remove_nat_ruleRemoves a NAT rule from the MikroTik device. Notes: rule_id: use the ID from list output e.g. "*1" or "0"
remove_queue_treeRemoves a queue tree from the MikroTik device.
remove_queue_typeRemoves a queue type from the MikroTik device.
remove_routeRemoves a route. Notes: route_id: "*N" or "N" from list output e.g. "*3"
remove_simple_queueRemoves a simple queue from the MikroTik device.
remove_userRemoves a user.
remove_user_groupRemoves a user group.
remove_user_ssh_keyRemoves an SSH key.
remove_vlan_interfaceRemoves a VLAN interface from the MikroTik device.
remove_wireguard_interfaceRemoves a WireGuard interface from the MikroTik device.
remove_wireguard_peerRemoves a WireGuard peer from the MikroTik device. Notes: peer_id: "*N" or "N" from list output e.g. "*2"
remove_wireless_access_list_entryLegacy function - different in RouterOS v7.x
remove_wireless_interfaceRemoves a wireless interface from the MikroTik device.
remove_wireless_security_profileLegacy function - not supported in RouterOS v7.x
restore_backupRestores a system backup on the MikroTik device; triggers a reboot.
rollback_safe_modeDiscards all pending Safe Mode changes by closing the SSH session, triggering automatic rollback.
safe_mode_statusReturns whether MikroTik Safe Mode is currently active.
scan_wireless_networksScans for nearby wireless networks using the specified interface.
search_logsSearches log messages for a literal term. Notes: search_term: treated literally (regex specials are escaped) case_sensitive: RouterOS matching is case-sensitive; by default the search emulates case-insensitivity with character classes
set_dns_serversSets DNS server configuration.
set_user_ssh_keysSets SSH keys for a specific user.
set_wireless_passphraseSets the WiFi passphrase directly on a RouterOS v7 wireless interface (/interface wifi or wifiwave2). Notes: authentication_types: comma-separated RouterOS auth types, e.g. "wpa2-psk,wpa3-psk"; unset keeps the current setting.
set_wireless_security_profileLegacy function - not supported in RouterOS v7.x
test_dns_queryTests a DNS query. Notes: type: accepted values are A/ipv4, AAAA/ipv6, any, any6
update_address_list_entryUpdates an address list entry, located by its current list name and address. Notes: Pass "" to clear comment or timeout. A change is confirmed on the device before success is reported.
update_dhcp_networkUpdates fields on an existing DHCP network entry on the MikroTik device. Notes: Pass an empty list for dns_servers/wins_servers/ntp_servers/dhcp_option (or "" for domain) to clear that field.
update_dns_staticUpdates a static DNS entry.
update_filter_ruleUpdates an existing firewall filter rule on the MikroTik device. Notes: rule_id: positional number from list output (e.g. "12") or internal ID (e.g. "*1A") connection_state: comma-separated e.g. "established,related" limit: RouterOS rate string e.g. "10,5:packet" tcp_flags: RouterOS flag expression e.g. "syn,!ack" Pass "" to clear an optional field (e.g. src_address="").
update_ip_poolUpdates an existing IP pool's name, ranges, or next-pool reference. Notes: ranges: hyphen-separated range(s) e.g. "192.168.1.1-192.168.1.100" Multiple ranges comma-separated: "10.0.0.1-10.0.0.50,10.0.0.100-10.0.0.120" Pass "" for next_pool to clear it.
update_ipv6_filter_ruleUpdates an existing IPv6 firewall filter rule on the MikroTik device. Notes: rule_id: a RouterOS internal id ("*1") or a print position ("0"). Pass "" to clear an optional field (e.g. src_address="").
update_nat_ruleUpdates an existing NAT rule on the MikroTik device. Notes: rule_id: use the ID from list output e.g. "*1" or "0" to_addresses: single IP or range e.g. "10.0.0.1" or "10.0.0.1-10.0.0.10" to_ports: single port or range e.g. "8080" or "8080-8090" Pass "" to clear an optional field.
update_queue_treeUpdates an existing queue tree entry (bandwidth limits, parent, priority, etc.). Notes: max_limit / limit_at / burst_limit / burst_threshold: bandwidth e.g. "10M", "512k" burst_time: duration e.g. "8s" priority: 1 (highest) – 8 (lowest)
update_queue_typeUpdates an existing queue type's discipline-specific settings.
update_routeUpdates a route. Notes: route_id: "*N" or "N" from list output e.g. "*3" dst_address: CIDR e.g. "192.168.1.0/24" check_gateway: "ping" or "arp" distance: 1-255 routing_table: name of a table from /routing table; "" moves the route back to "main", since every RouterOS 7 route belongs to a table. Pass "" to vrf_interface or pref_src to clear them.
update_simple_queueUpdates an existing simple queue's rate limits, target, or scheduling settings. Notes: target: IP/CIDR or interface e.g. "192.168.1.0/24" or "ether1" max_limit / limit_at / burst_limit / burst_threshold: upload/download bandwidth as "UL/DL" e.g. "10M/10M", or single value e.g. "10M" burst_time: duration e.g. "8s" priority: 1 (highest) – 8 (lowest)
update_userUpdates a user.
update_user_groupUpdates a user group.
update_vlan_interfaceUpdates an existing VLAN interface's settings on the MikroTik device.
update_wireguard_interfaceUpdates an existing WireGuard interface's settings on the MikroTik device.
update_wireguard_peerUpdates an existing WireGuard peer's allowed addresses, endpoint, keepalive, or enabled state. Notes: peer_id: "*N" or "N" from list output e.g. "*2" allowed_address: CIDR, comma-separated e.g. "10.0.0.2/32" or "10.0.0.0/24,192.168.0.0/24" persistent_keepalive: seconds as string e.g. "25" Pass "" for endpoint_address or preshared_key to clear them.
update_wireless_interfaceUpdates an existing wireless interface's settings (name, SSID, enabled state, etc.).
upload_fileUploads a base64-encoded file to the MikroTik device (for restore operations).
Compare and alternatives
Featured in
Signals
- Stars
- 305
- Forks
- 74
- Open issues
- 9
- Contributors
- 16
- Weekly downloads
- 2,287
- Last commit
- Oct 23, 2026 (5 days ago)
- Last release
- Oct 23, 2026 (5 days ago)
- Last package publish
- Oct 23, 2026 (5 days ago)
From GitHub (fetched Oct 24, 2026) and the package registry.
Details
- Registry name
io.github.wiresage/mikrotik-mcp- Version
- 0.26.1.0
- Auth
- API key
- Packages
- pypi mcp-server-mikrotik
- License
- MIT
- Repository
- github.com/wiresage/mikrotik-mcp
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
Cite this page
Mikrotik MCP. Agent Mart. https://agentmart.dev/connectors/wiresage-mikrotik-mcp (last updated 2026-10-24)