Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MIKROTIK_TLSNoUse HTTPS / API-SSL (default true for rest, false for api)
MIKROTIK_HOSTNoRouter IP or hostname
MIKROTIK_PORTNoOverride the port (defaults: 443/80 for rest, 8728/8729 for api)
MIKROTIK_CONFIGNoPath to a JSON file listing several routers
MIKROTIK_DEVICESNoJSON array of several routers
MIKROTIK_INSECURENoAccept self-signed certificatesfalse
MIKROTIK_PASSWORDNoPassword
MIKROTIK_USERNAMENoUser nameadmin
MIKROTIK_READ_ONLYNoBlock every write toolfalse
MIKROTIK_TRANSPORTNoTransport to use: rest or apirest
MIKROTIK_TIMEOUT_MSNoRequest timeout30000

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

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
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 /<path> print in the terminal or opening a window in WinBox). Use this for anything without a dedicated tool, e.g. /ip/dns, /interface/bridge/port, /ip/ipsec/peer, /routing/ospf/neighbor, /queue/simple, /user.

mikrotik_addB

Add an item to any RouterOS menu (/<path> add ...). Returns the new item's .id.

mikrotik_setA

Change properties of an item (/<path> set <id> ...). Identify the item by id (e.g. "*1F") or a where filter matching exactly one item. For singleton menus such as /system/identity, /ip/dns or /ip/cloud omit both.

mikrotik_removeA

Remove an item (/<path> remove <id>), identified by id or a where filter matching exactly one item.

mikrotik_set_enabledA

Enable or disable an interface, firewall rule, route, user, etc. Identify it by id or a where filter.

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 once or count/duration arguments. On read-only devices only print/get/monitor/ping/traceroute style commands are allowed.

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. properties takes any rule property (src-address, dst-port, protocol, in-interface, connection-state, to-addresses, ...). Use placeBefore with a rule .id to insert it above an existing rule; otherwise it is appended to the end of the table.

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

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.4/5.0

Scored across 22 tools

Disambiguation3/5

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.

Naming Consistency4/5

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.

Tool Count4/5

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.

Completeness5/5

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.

Maintenance

ActivityMaintained
ResponsivenessNo issues