Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
create_backupC

Creates a system backup on the MikroTik device.

list_backupsC

Lists backup files on the MikroTik device.

create_exportC

Creates a configuration export file (rsc/json/xml) on the MikroTik device.

export_sectionA

Exports a specific RouterOS configuration section to a file.

Notes: section: RouterOS path without leading slash e.g. "ip address", "interface vlan", "ip firewall filter", "ip firewall nat", "queue simple"

download_fileA

Downloads a backup or export file from the MikroTik device as base64-encoded content.

upload_fileB

Uploads a base64-encoded file to the MikroTik device (for restore operations).

restore_backupA

Restores a system backup on the MikroTik device; triggers a reboot.

import_configurationC

Imports and executes a RouterOS configuration script (.rsc file) on the device.

remove_fileA

Removes a file from the MikroTik device filesystem.

backup_infoA

Gets detailed information about a backup file on the MikroTik device.

create_dhcp_serverB

Creates a DHCP server bound to the specified interface on the MikroTik device.

Notes: lease_time: duration e.g. "1d", "12h", "30m", "1h30m"

list_dhcp_serversB

Lists DHCP servers on the MikroTik device.

get_dhcp_serverB

Gets detailed information about a specific DHCP server.

create_dhcp_networkC

Creates a DHCP network configuration (gateway, DNS, domain, etc.) on the MikroTik device.

create_dhcp_poolB

Creates 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"

remove_dhcp_serverA

Removes a DHCP server from the MikroTik device.

set_dns_serversC

Sets DNS server configuration.

get_dns_settingsC

Gets current DNS configuration.

add_dns_staticC

Adds a static DNS entry.

list_dns_staticB

Lists static DNS entries.

get_dns_staticA

Gets details of a specific static DNS entry.

update_dns_staticC

Updates a static DNS entry.

remove_dns_staticC

Removes a static DNS entry.

enable_dns_staticB

Enables a static DNS entry.

disable_dns_staticB

Disables a static DNS entry.

get_dns_cacheB

Gets the current DNS cache.

flush_dns_cacheB

Flushes the DNS cache.

get_dns_cache_statisticsC

Gets DNS cache statistics.

add_dns_regexpC

Adds a DNS regexp entry.

test_dns_queryC

Tests a DNS query.

export_dns_configC

Exports DNS configuration to a file.

create_filter_ruleA

Creates 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"

list_filter_rulesC

Lists firewall filter rules on the MikroTik device.

get_filter_ruleA

Gets detailed information about a specific firewall filter rule.

Notes: rule_id: use the ID from list output e.g. "*1" or "0"

update_filter_ruleA

Updates an existing firewall filter rule on the MikroTik device.

Notes: rule_id: use the ID from list output e.g. "*1" or "0" 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="").

remove_filter_ruleA

Removes a firewall filter rule from the MikroTik device.

Notes: rule_id: use the ID from list output e.g. "*1" or "0"

move_filter_ruleA

Moves a firewall filter 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

enable_filter_ruleB

Enables a firewall filter rule.

disable_filter_ruleB

Disables a firewall filter rule.

create_basic_firewall_setupC

Creates a basic firewall setup with common security rules on the MikroTik device.

create_nat_ruleB

Creates 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"

list_nat_rulesB

Lists NAT rules on the MikroTik device.

get_nat_ruleA

Gets detailed information about a specific NAT rule.

Notes: rule_id: use the ID from list output e.g. "*1" or "0"

update_nat_ruleA

Updates 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.

remove_nat_ruleB

Removes a NAT rule from the MikroTik device.

Notes: rule_id: use the ID from list output e.g. "*1" or "0"

move_nat_ruleA

Moves 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

enable_nat_ruleC

Enables a NAT rule.

disable_nat_ruleA

Disables a NAT rule.

list_interfacesA

Lists 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 …

get_interfaceA

Gets detailed information about a specific interface by name.

Notes: name: exact interface name e.g. "ether1", "bridge", "pppoe-out1", "wg0"

enable_interfaceB

Enables an interface on the MikroTik device.

Notes: name: exact interface name e.g. "ether1", "bridge", "pppoe-out1"

disable_interfaceB

Disables an interface on the MikroTik device.

Notes: name: exact interface name e.g. "ether1", "bridge", "pppoe-out1"

list_devicesA

Lists 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.

add_ip_addressC

Adds an IP address to an interface on the MikroTik device.

list_ip_addressesB

Lists IP addresses on the MikroTik device.

get_ip_addressB

Gets detailed information about a specific IP address by ID or address value.

remove_ip_addressA

Removes an IP address from the MikroTik device by ID or address value.

add_ipv6_addressA

Adds 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.

list_ipv6_addressesA

Lists 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.

get_ipv6_addressA

Gets 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").

remove_ipv6_addressA

Removes 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").

create_ip_poolA

Creates 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"

list_ip_poolsC

Lists IP pools on the MikroTik device.

get_ip_poolA

Gets detailed information about a specific IP pool including used address count.

update_ip_poolA

Updates 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.

remove_ip_poolA

Removes an IP pool from the MikroTik device (fails if pool is in use).

list_ip_pool_usedA

Lists currently used (allocated) addresses from IP pools.

expand_ip_poolA

Expands 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"

get_logsB

Gets logs from the MikroTik device with optional topic, time, and message filters.

get_logs_by_severityB

Gets logs filtered by severity level (debug/info/warning/error/critical).

get_logs_by_topicA

Gets logs for a specific topic/facility (system, dhcp, interface, firewall, etc.).

search_logsB

Searches log messages for a specific term.

get_system_eventsB

Gets system-related log events (login, reboot, config-change, etc.).

get_security_logsB

Gets security-related log entries (login failures, blocked connections, etc.).

clear_logsB

Clears all logs from the MikroTik device. This action cannot be undone.

get_log_statisticsA

Gets log entry counts by topic and severity from the MikroTik device.

export_logsB

Exports logs to a file on the MikroTik device with optional topic and time filters.

monitor_logsA

Monitors MikroTik logs in near-real-time for a limited duration (max 60s).

get_poe_monitorA

Reads 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"

list_poeA

Lists 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 …

get_poe_settingsA

Gets 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"

create_queue_typeB

Creates 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"

list_queue_typesB

Lists queue types on the MikroTik device.

get_queue_typeC

Gets detailed information about a specific queue type.

update_queue_typeB

Updates an existing queue type's discipline-specific settings.

remove_queue_typeB

Removes a queue type from the MikroTik device.

create_queue_treeB

Creates 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)

list_queue_treesC

Lists queue trees on the MikroTik device.

get_queue_treeA

Gets detailed information about a specific queue tree.

update_queue_treeA

Updates 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)

remove_queue_treeB

Removes a queue tree from the MikroTik device.

enable_queue_treeC

Enables a queue tree.

disable_queue_treeC

Disables a queue tree.

create_simple_queueA

Creates 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)

list_simple_queuesB

Lists simple queues on the MikroTik device.

get_simple_queueA

Gets detailed information about a specific simple queue.

update_simple_queueA

Updates 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)

remove_simple_queueB

Removes a simple queue from the MikroTik device.

enable_simple_queueC

Enables a simple queue.

disable_simple_queueC

Disables a simple queue.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jeff-nasseri/mikrotik-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server