MikroTik RouterOS MCP Server
by stefanknolio.github.StefanKnol/mikrotik-mcpv0.3.0
MikroTik RouterOS over the binary API, addressing rules by real .id not list position.
context tax
queued
security
queued
cold start
queued
freshness
Active18d ago
Install MikroTik RouterOS MCP server
Install in Claude Code
claude mcp add mikrotik -e MIKROTIK_HOST='<mikrotik-host>' -e MIKROTIK_USERNAME='<mikrotik-username>' -e MIKROTIK_PASSWORD='<mikrotik-password>' -- uvx mikrotik-mcpInstall in Cursor
{
"mcpServers": {
"mikrotik": {
"command": "uvx",
"args": [
"mikrotik-mcp"
],
"env": {
"MIKROTIK_HOST": "<mikrotik-host>",
"MIKROTIK_USERNAME": "<mikrotik-username>",
"MIKROTIK_PASSWORD": "<mikrotik-password>"
}
}
}
}Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project).
Install in Claude Desktop
{
"mcpServers": {
"mikrotik": {
"command": "uvx",
"args": [
"mikrotik-mcp"
],
"env": {
"MIKROTIK_HOST": "<mikrotik-host>",
"MIKROTIK_USERNAME": "<mikrotik-username>",
"MIKROTIK_PASSWORD": "<mikrotik-password>"
}
}
}
}Settings → Developer → Edit Config (claude_desktop_config.json), then restart.
Install in VS Code
{
"servers": {
"mikrotik": {
"type": "stdio",
"command": "uvx",
"args": [
"mikrotik-mcp"
],
"env": {
"MIKROTIK_HOST": "<mikrotik-host>",
"MIKROTIK_USERNAME": "<mikrotik-username>",
"MIKROTIK_PASSWORD": "<mikrotik-password>"
}
}
}
}Add to .vscode/mcp.json in your workspace.
Install in Windsurf
{
"mcpServers": {
"mikrotik": {
"command": "uvx",
"args": [
"mikrotik-mcp"
],
"env": {
"MIKROTIK_HOST": "<mikrotik-host>",
"MIKROTIK_USERNAME": "<mikrotik-username>",
"MIKROTIK_PASSWORD": "<mikrotik-password>"
}
}
}
}Add to ~/.codeium/windsurf/mcp_config.json.
Configuration
| Variable | Required | Secret | Description |
|---|---|---|---|
| MIKROTIK_HOST | yes | — | IP address or hostname of the router, e.g. 192.168.88.1 |
| MIKROTIK_USERNAME | yes | — | RouterOS user. Use a dedicated account rather than admin; its group must carry the `api` policy, and a group without it is rejected with the same error as a wrong password. |
| MIKROTIK_PASSWORD | yes | yes | Password for that user. |
| MIKROTIK_PORT | — | — | API port: 8729 for api-ssl (default), 8728 for plaintext. |
| MIKROTIK_TLS | — | — | Use the TLS API. Defaults to true; turning it off sends the router password over the network in the clear. |
| MIKROTIK_TLS_FINGERPRINT | — | — | SHA-256 of the router certificate. MikroTik's API-SSL certificate is self-signed, so pinning this is what makes the connection authenticated rather than merely encrypted. |
| MIKROTIK_TIMEOUT | — | — | Connection timeout in seconds. Defaults to 10. |
Freshness
Active — last maintenance signal 18d ago. The newest of the signals below sets the band.
Last commit (default branch)
2026-09-21 · 18d ago · GitHub
Latest release
no data · GitHub
Package published
no data · npm/PyPI
Registry entry updated
2026-09-21 · 18d ago · official registry · v0.3.0
FAQ
›How do I install the MikroTik RouterOS MCP server in Claude Code?
Run: claude mcp add mikrotik -e MIKROTIK_HOST='<mikrotik-host>' -e MIKROTIK_USERNAME='<mikrotik-username>' -e MIKROTIK_PASSWORD='<mikrotik-password>' -- uvx mikrotik-mcp. For Cursor, VS Code, Claude Desktop and Windsurf, use the install tabs above.
›Does MikroTik RouterOS require an API key?
Yes. It expects MIKROTIK_HOST, MIKROTIK_USERNAME, MIKROTIK_PASSWORD, of which 1 is a secret.
›Can I use MikroTik RouterOS as a remote (hosted) MCP server?
No hosted endpoint is published; it runs locally over stdio.
›Is MikroTik RouterOS in the official MCP registry?
Yes, as io.github.StefanKnol/mikrotik-mcp.