mikrotik-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MIKROTIK_MCP_CONFIG | No | Optional path or colon-separated list of paths to config files. Overrides the default config search path. |
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_profilesA | Search the configured MikroTik router profiles. Config files are re-read on every call. Returns connection details and whether each profile is read-only. Never returns secrets — passwords and passphrases live in environment variables, and only the variable name is shown. Call this first to discover the profile name that mikrotik_exec needs. |
| mikrotik_execA | Run a single RouterOS command on a configured router over SSH and return its output. Stateless: each call opens a fresh connection and closes it before returning, so there is no session, working directory or shell state carried between calls — send absolute command paths such as '/system resource print'. Profiles are read-only by default, in which case commands that would change the router are refused before connecting. Use mikrotik_list_profiles to find profile names. Item numbers printed by RouterOS are NOT stable: they are reassigned per session and again on the next print, and every call here is a new session. Never pass a number seen in an earlier call to a later one — it will act on whatever holds that number now. Select by predicate instead, e.g. /ip firewall filter remove [find where comment="x"]. See mikrotik_search_docs for more. |
| mikrotik_search_docsA | Search bundled RouterOS reference material for command syntax, idioms and version differences. Covers RouterOS v6 and v7. Use this before composing an unfamiliar command, and especially before any write — it documents traps such as item numbers being unstable between calls. Offline and read-only; it does not touch any router. |
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 3 tools
Each tool has a clearly distinct role: mikrotik_exec runs commands against the router, mikrotik_search_docs searches offline documentation, and mikrotik_list_profiles discovers configured profiles. There is no overlap in purpose and the descriptions reinforce the intended call order (list_profiles → search_docs → exec).
All names share the mikrotik_ prefix and are snake_case, with search_docs and list_profiles following a clean verb_noun pattern. mikrotik_exec deviates slightly by using a bare verb with no noun object, but the convention is otherwise predictable.
Three tools is on the lean side, but this is intentional and well-scoped: a single generic exec tool subsumes arbitrary RouterOS commands, so no per-command tools are needed. Anything less (e.g. dropping the docs or profile helper) would hurt usability, so the count is justified.
The lifecycle is covered end to end: discover profiles, look up syntax, then execute (read or write) with read-only safety enforced. Minor gaps exist, such as no batch/multi-command execution or profile management, but agents can work around these using the generic exec tool.