MCP server for MikroTik routers: firewall, NAT, routing, DHCP, DNS, WireGuard and more via SSH.
Connect Runs on your machine
claude mcp add mikrotik-mcp -e MIKROTIK_HOST=<MIKROTIK_HOST> -e MIKROTIK_USERNAME=<MIKROTIK_USERNAME> -e MIKROTIK_PASSWORD=<MIKROTIK_PASSWORD> -e MIKROTIK_PORT=<MIKROTIK_PORT> -e MIKROTIK_KEY_FILENAME=<MIKROTIK_KEY_FILENAME> -e MIKROTIK_READ_ONLY=<MIKROTIK_READ_ONLY> -e MIKROTIK_SENSITIVE_HIDING=<MIKROTIK_SENSITIVE_HIDING> -e MIKROTIK_INVENTORY_FILE=<MIKROTIK_INVENTORY_FILE> -e MIKROTIK_INVENTORY=<MIKROTIK_INVENTORY> -- uvx mcp-server-mikrotik==0.28.2.0
{
"mcpServers": {
"mikrotik-mcp": {
"command": "uvx",
"args": [
"mcp-server-mikrotik==0.28.2.0"
],
"env": {
"MIKROTIK_HOST": "<MIKROTIK_HOST>",
"MIKROTIK_USERNAME": "<MIKROTIK_USERNAME>",
"MIKROTIK_PASSWORD": "<MIKROTIK_PASSWORD>",
"MIKROTIK_PORT": "<MIKROTIK_PORT>",
"MIKROTIK_KEY_FILENAME": "<MIKROTIK_KEY_FILENAME>",
"MIKROTIK_READ_ONLY": "<MIKROTIK_READ_ONLY>",
"MIKROTIK_SENSITIVE_HIDING": "<MIKROTIK_SENSITIVE_HIDING>",
"MIKROTIK_INVENTORY_FILE": "<MIKROTIK_INVENTORY_FILE>",
"MIKROTIK_INVENTORY": "<MIKROTIK_INVENTORY>"
}
}
}
}
{
"mcpServers": {
"mikrotik-mcp": {
"command": "uvx",
"args": [
"mcp-server-mikrotik==0.28.2.0"
],
"env": {
"MIKROTIK_HOST": "<MIKROTIK_HOST>",
"MIKROTIK_USERNAME": "<MIKROTIK_USERNAME>",
"MIKROTIK_PASSWORD": "<MIKROTIK_PASSWORD>",
"MIKROTIK_PORT": "<MIKROTIK_PORT>",
"MIKROTIK_KEY_FILENAME": "<MIKROTIK_KEY_FILENAME>",
"MIKROTIK_READ_ONLY": "<MIKROTIK_READ_ONLY>",
"MIKROTIK_SENSITIVE_HIDING": "<MIKROTIK_SENSITIVE_HIDING>",
"MIKROTIK_INVENTORY_FILE": "<MIKROTIK_INVENTORY_FILE>",
"MIKROTIK_INVENTORY": "<MIKROTIK_INVENTORY>"
}
}
}
}
{
"servers": {
"mikrotik-mcp": {
"type": "stdio",
"command": "uvx",
"args": [
"mcp-server-mikrotik==0.28.2.0"
],
"env": {
"MIKROTIK_HOST": "<MIKROTIK_HOST>",
"MIKROTIK_USERNAME": "<MIKROTIK_USERNAME>",
"MIKROTIK_PASSWORD": "<MIKROTIK_PASSWORD>",
"MIKROTIK_PORT": "<MIKROTIK_PORT>",
"MIKROTIK_KEY_FILENAME": "<MIKROTIK_KEY_FILENAME>",
"MIKROTIK_READ_ONLY": "<MIKROTIK_READ_ONLY>",
"MIKROTIK_SENSITIVE_HIDING": "<MIKROTIK_SENSITIVE_HIDING>",
"MIKROTIK_INVENTORY_FILE": "<MIKROTIK_INVENTORY_FILE>",
"MIKROTIK_INVENTORY": "<MIKROTIK_INVENTORY>"
}
}
}
}
Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.
Tools
This server runs locally, so its tools are listed by your MCP client once it starts.
Environment variables
| Name | Description |
|---|---|
MIKROTIK_HOSTOptional | IP address or hostname of the MikroTik router (single-device mode; default: 127.0.0.1). Not needed when an inventory is configured. |
MIKROTIK_USERNAMEOptional | SSH username for the MikroTik router (single-device mode; default: admin) |
MIKROTIK_PASSWORDOptional, secret | SSH password for the MikroTik router (single-device mode) |
MIKROTIK_PORTOptional | SSH port of the MikroTik router (single-device mode; default: 22) |
MIKROTIK_KEY_FILENAMEOptional | Path to SSH private key file for key-based authentication (single-device mode) |
MIKROTIK_READ_ONLYOptional | When true, expose only tools that do not modify RouterOS or its file store. Use a read-only RouterOS account as defence in depth. |
MIKROTIK_SENSITIVE_HIDINGOptional | When true, redact recognized credentials and private key material from tool results, MCP notifications, and logs, and omit tools that return opaque sensitive payloads. |
MIKROTIK_INVENTORY_FILEOptional | Path to a YAML file listing multiple MikroTik devices (title, host, port, username, password, key_filename, tags, region). See docs/reference/inventory. |
MIKROTIK_INVENTORYOptional, secret | Inline multi-device inventory as a YAML (or JSON) list; takes precedence over MIKROTIK_INVENTORY_FILE and the single-device variables. Holds credentials. |
Details
| Package | [email protected] (PYPI, stdio) |
| First published | 12 Nov 2026 |
| Last updated | 12 Nov 2026 |
| Registry name | io.github.wiresage/mikrotik-mcp |
More other servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
