mikrotik-mcp — Claude Code MCP server: setup and features
Connect an AI assistant to MikroTik routers and issue RouterOS commands in natural language. Useful for changing network settings from a chat.
claude mcp add --env MIKROTIK_HOST=<MIKROTIK_HOST> --env MIKROTIK_USERNAME=<MIKROTIK_USERNAME> --env MIKROTIK_PASSWORD=<MIKROTIK_PASSWORD> --env MIKROTIK_PORT=<MIKROTIK_PORT> --env MIKROTIK_KEY_FILENAME=<MIKROTIK_KEY_FILENAME> --transport stdio mikrotik-mcp -- uvx mcp-server-mikrotikWhat mikrotik-mcp does
mikrotik-mcp connects an AI assistant to MikroTik routers over SSH. You can ask it to configure VLANs, change firewall rules, or adjust DNS settings. Its listed areas also include NAT, routing, DHCP, and WireGuard.
For Claude Code, configure the environment variables and launch the server with uvx mcp-server-mikrotik. The setup uses the router host, username, password, port, and key filename; MIKROTIK_INVENTORY is available for managing multiple devices. The assistant needs valid router access settings to run commands, so check those values before connecting.
What it helps with
- configure VLANs on a MikroTik router
- change firewall rules
- adjust DNS settings
- manage NAT and routing
- set up DHCP or WireGuard
Example prompts for the agent
- Configure VLANs on the MikroTik router and check the current rules.
- Add a firewall rule for the traffic I described.
- Review the DNS settings and change them as requested.
How to install mikrotik-mcp
Platform CLI
claude mcp add --env MIKROTIK_HOST=<MIKROTIK_HOST> --env MIKROTIK_USERNAME=<MIKROTIK_USERNAME> --env MIKROTIK_PASSWORD=<MIKROTIK_PASSWORD> --env MIKROTIK_PORT=<MIKROTIK_PORT> --env MIKROTIK_KEY_FILENAME=<MIKROTIK_KEY_FILENAME> --transport stdio mikrotik-mcp -- uvx mcp-server-mikrotikReplace <…> with your own values. 4 more environment variables are in the server README. uvx runs the command named after the package; if the README names another one, use uvx --from mcp-server-mikrotik <command>
Platform CLI
codex mcp add mikrotik-mcp --env MIKROTIK_HOST=<MIKROTIK_HOST> --env MIKROTIK_USERNAME=<MIKROTIK_USERNAME> --env MIKROTIK_PASSWORD=<MIKROTIK_PASSWORD> --env MIKROTIK_PORT=<MIKROTIK_PORT> --env MIKROTIK_KEY_FILENAME=<MIKROTIK_KEY_FILENAME> -- uvx mcp-server-mikrotikReplace <…> with your own values. 4 more environment variables are in the server README. uvx runs the command named after the package; if the README names another one, use uvx --from mcp-server-mikrotik <command>
Config file
{
"mcpServers": {
"mikrotik-mcp": {
"command": "uvx",
"args": [
"mcp-server-mikrotik"
],
"env": {
"MIKROTIK_HOST": "<MIKROTIK_HOST>",
"MIKROTIK_USERNAME": "<MIKROTIK_USERNAME>",
"MIKROTIK_PASSWORD": "<MIKROTIK_PASSWORD>",
"MIKROTIK_PORT": "<MIKROTIK_PORT>",
"MIKROTIK_KEY_FILENAME": "<MIKROTIK_KEY_FILENAME>"
}
}
}
}Replace <…> with your own values. 4 more environment variables are in the server README. uvx runs the command named after the package; if the README names another one, use uvx --from mcp-server-mikrotik <command>
Config file
{
"servers": {
"mikrotik-mcp": {
"type": "stdio",
"command": "uvx",
"args": [
"mcp-server-mikrotik"
],
"env": {
"MIKROTIK_HOST": "<MIKROTIK_HOST>",
"MIKROTIK_USERNAME": "<MIKROTIK_USERNAME>",
"MIKROTIK_PASSWORD": "<MIKROTIK_PASSWORD>",
"MIKROTIK_PORT": "<MIKROTIK_PORT>",
"MIKROTIK_KEY_FILENAME": "<MIKROTIK_KEY_FILENAME>"
}
}
}
}Replace <…> with your own values. 4 more environment variables are in the server README. uvx runs the command named after the package; if the README names another one, use uvx --from mcp-server-mikrotik <command>
Platform CLI
gemini mcp add -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> mikrotik-mcp uvx mcp-server-mikrotikReplace <…> with your own values. 4 more environment variables are in the server README. uvx runs the command named after the package; if the README names another one, use uvx --from mcp-server-mikrotik <command>
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about mikrotik-mcp
How do I install mikrotik-mcp in Claude Code?
Run claude mcp add mikrotik-mcp -e MIKROTIK_PASSWORD=<MIKROTIK_PASSWORD> -e MIKROTIK_INVENTORY=<MIKROTIK_INVENTORY> -- uvx mcp-server-mikrotik. Replace the variable values with the router access details and device inventory.
What does mikrotik-mcp do?
It connects an AI assistant to MikroTik routers and lets it run RouterOS commands. The listed tasks include configuring VLANs, firewall rules, and DNS.
Can mikrotik-mcp manage multiple MikroTik devices?
Yes. It supports managing multiple MikroTik devices through an inventory.