# Reported issues for mikrotik-mcp

Pod holds 18 of 21 problems reported by people outside the maintainer team. Issues filed by the project's own owners, members and collaborators are excluded entirely — a maintainer's release checklist is not a warning to a prospective user.

Back to [mikrotik-mcp](/mcp/mikrotik-mcp).

## Most discussed

### Integration tests are non-functional on both macOS/arm64 and Linux/x86_64 (five distinct causes, one unexplained)

While trying to run the integration tests on a Mac I found they don't work. My first guess was
something Mac-specific and I intended to open a PR, but deeper analysis showed **the integration
tests do not run on Linux/x86_64 either** — and several of the causes predate any platform concern.

I have fixes for four of the five problems, verified on two hosts. The fifth (network interfaces)
I can fix empirically but cannot fully explain, which is why I'm opening an issue rather than a PR.

## Test 

[Read the thread](https://github.com/jeff-nasseri/mikrotik-mcp/issues/140) · 2026-08-18 · closed · external user · 5 comments

### [FEAT]: Add support for Ethernet PoE monitor

Hi,

I would like to request support for reading Ethernet PoE monitor information through `mikrotik-mcp`.

In RouterOS CLI, I can use the following command to view PoE statistics for multiple Ethernet interfaces:

```routeros
/interface ethernet poe monitor ether09-ap,ether10-ap,ether11-ap,ether12-ap,ether13-ap once

[Read the thread](https://github.com/jeff-nasseri/mikrotik-mcp/issues/90) · 2026-06-04 · closed · external user · 10 comments

### [FEAT]: Publish official Docker image via GitHub Actions

Hi,

thanks for this project. I would like to run `mikrotik-mcp` in a containerized setup, for example with Docker Compose, Portainer, or as part of a self-hosted MCP stack.

The repository already contains a `Dockerfile` and a `docker-entrypoint.sh`, but I could not find an officially published Docker image/package that can be pulled directly.

Would you consider adding a GitHub Actions workflow to build and publish an official multi-arch Docker image?

Suggested targets:

- GitHub Container Re

[Read the thread](https://github.com/jeff-nasseri/mikrotik-mcp/issues/86) · 2026-05-31 · closed · external user · 7 comments

### no way to list ALL interfaces like SFP or ethernet

brilliant mcp!
only 1 issue, it lists wifi interfaces, vlan interfaces and wireguard interfaces
but it doesnt actually list any interfaces like ethernet, SPF, pppoe!

```
[admin@SimonHome] > /interface print
Flags: R - RUNNING; S - SLAVE
Columns: NAME, TYPE, ACTUAL-MTU, L2MTU, MAX-L2MTU, MAC-ADDRESS
 #    NAME              TYPE       ACTUAL-MTU  L2MTU  MAX-L2MTU  MAC-ADDRESS      
 0 R  ether1-wan        ether            1500   1568       9214  F4:1E:57:71:12:9A
 1 RS ether2-pi         ether    

[Read the thread](https://github.com/jeff-nasseri/mikrotik-mcp/issues/66) · 2026-05-25 · closed · external user · 4 comments

### shrink context length

ive been playing with local LLMs in LMStudio and wanted to control my mikrotik router,
this MCP works a treat!
only issue i have is i have to set the context length to a minimum of 64000 (64k)
because LMStudio shows the MCP is using 54000 (54k) just to begin with!
then when i run a question, it takes about 2 minutes just to process the prompt,
then the reply happens within 15 seconds
it the anyway to maybe shrink the context of the MCP down?

AMD CPU, AMD iGPU (32gb ram, 16gb VRAM - shared)
ive 

[Read the thread](https://github.com/jeff-nasseri/mikrotik-mcp/issues/57) · 2026-05-03 · closed · external user · 6 comments

### Security: Credentials exposed in plaintext in MikroTik MCP Docker containers

Hi,

The MikroTik MCP Docker container(s) are running with sensitive credentials stored in plaintext environment variables. These credentials are visible to anyone with access to run docker inspect on the host, creating a significant security risk.

Regards,

[Read the thread](https://github.com/jeff-nasseri/mikrotik-mcp/issues/50) · 2026-03-11 · closed · external user · 3 comments

### Support for multiple Mikrotik devices

Currently, the MCP server only support one single Mikrotik device.
But most of the time, there are more than one device involved in a network setup. It would be nice to define a complete fleet of Mikrotik devices to manage, so even complex problems can be solved with it.

[Read the thread](https://github.com/jeff-nasseri/mikrotik-mcp/issues/44) · 2026-03-04 · closed · external user · 9 comments

### "Error executing mikrotik_config_set: name 'mikrotik_config' is not defined" error when trying to provide config

Hey. Thanks for the great work. 

Currently I'm unable to use the MCP server as any attempt to "get" or "set" config results in an error: 
"Error executing mikrotik_config_set: name 'mikrotik_config' is not defined"
If I set /settings/configuration.py with my router creds - this doesn't change the situation. Getting this error in both MCP Inspector or if used with an LLM client like Claud Desktop. 

Please assist, perhaps some problems with actual code at the moment. Or I'm misusing the package.

[Read the thread](https://github.com/jeff-nasseri/mikrotik-mcp/issues/3) · 2025-06-05 · closed · external user · 3 comments

## Most recent

### Broken: add_dns_regexp cannot create an entry — sends a name alongside the regexp, and interpolates the regexp unescaped

`add_dns_regexp` cannot create an entry on several RouterOS 7 versions. There are two independent
causes, and fixing either one alone still leaves the tool failing.

**1. It sends a name.** `src/mcp_mikrotik/scope/dns.py`:

```python
return await mikrotik_add_dns_static(
    name="dummy",
    address=address,
    regexp=regexp,
    ...
)
```

RouterOS refuses an entry carrying both: `failure: only name or regexp allowed` — a regexp entry is
nameless. Verified live on 7.12.1 and 7.21.5. The hardc

[Read the thread](https://github.com/jeff-nasseri/mikrotik-mcp/issues/141) · 2026-08-22 · open · external user · 0 comments

### Missing param: action="reject" has no reject_with support

`create_filter_rule` accepts `action="reject"` but has no `reject_with` parameter — `grep -rn "reject.with" src/` returns nothing — so every rejecting rule gets RouterOS's default ICMP response with no way to choose one.

Unlike the `jump` case (#137) this fails quietly. The rule is created, and the default is not even shown in the listing, so the difference is invisible:

```
> /ip firewall filter add chain=forward action=reject
> print detail  ->  chain=forward action=reject

> /ip firewall fi

[Read the thread](https://github.com/jeff-nasseri/mikrotik-mcp/issues/138) · 2026-08-17 · open · external user · 0 comments

### Broken: action="jump" always fails — no way to set jump-target

`create_filter_rule` and `create_nat_rule` accept `action="jump"`, but no tool takes a `jump-target`. `grep -rn "jump" src/` returns only three lines — the two `action` Literals (`firewall_filter.py:10`, `firewall_nat.py:37-38`). The parameter does not exist anywhere, including in the `update_*` tools.

RouterOS rejects such a rule outright, so the action can never succeed:

```
> /ip firewall filter add chain=forward action=jump
failure: no target chain specified (/ip/firewall/filter/add; line 

[Read the thread](https://github.com/jeff-nasseri/mikrotik-mcp/issues/137) · 2026-08-17 · open · external user · 0 comments

### [FEAT]: IPv6 firewall filter rules (/ipv6 firewall filter)

## Summary

Add a scope for **IPv6 firewall filter rules**, mirroring the existing `firewall_filter`
scope but targeting the RouterOS `/ipv6 firewall filter` command tree.

This is the follow-up to #92, which added `/ipv6 address` and explicitly listed IPv6
firewall under *"Out of scope (future, tracked separately)"*. It is also a Phase 3 item
from the gap analysis in #30.

There is currently **no `/ipv6 firewall` coverage of any kind** — `grep -rn "ipv6 firewall" src/`
returns nothing. IPv6 sup

[Read the thread](https://github.com/jeff-nasseri/mikrotik-mcp/issues/136) · 2026-08-17 · open · external user · 0 comments

### Broken: protocol_filter silently returns zero rules — unquoted value in the `where` clause

## Summary

`mikrotik_list_filter_rules` and `mikrotik_list_nat_rules` accept a `protocol_filter`
argument that never matches anything. The tool returns an empty result set with **no
error**, so it reads as "no rules match" rather than "the filter did not work" — which
makes it easy to conclude a rule does not exist when it does. We hit this twice on a
production border router before spotting it.

The cause is that the value is interpolated **unquoted** into the RouterOS `where`
clause. `where p

[Read the thread](https://github.com/jeff-nasseri/mikrotik-mcp/issues/135) · 2026-08-16 · open · external user · 0 comments

### Missing tool coverage + several broken/unreliable tools found during live use

## Missing tool coverage + several broken/unreliable tools found during live use

**Environment:** mikrotik-mcp v0.12.4, RouterOS 7.23.2, hAP ax³, transport `streamable-http`, connected via Claude Desktop (`mcp-remote` bridge). All findings below came from a real VLAN segmentation + firewall + DNS project on a live router, not synthetic testing.

---

### 1. Missing tool coverage: bridge VLAN table membership + bridge-port PVID

No tool exposes `/interface bridge vlan` (tagged/untagged port memb

[Read the thread](https://github.com/jeff-nasseri/mikrotik-mcp/issues/104) · 2026-08-07 · open · external user · 1 comment

### ModuleNotFoundError: No module named 'mcp.server.fastmcp' in Docker image — unpinned mcp dependency pulls in breaking 2.0.0 release

Hi!

Running the Docker image fails immediately on startup:

```
docker run --rm -i -e MIKROTIK_HOST=192.168.1.1 \
                   -e MIKROTIK_USERNAME=foo \
                   -e MIKROTIK_PASSWORD=bar \
                   -e MIKROTIK_PORT=22 mikrotik-mcp
```
```
Traceback (most recent call last):
  File "/usr/local/bin/mcp-server-mikrotik", line 5, in <module>
    from mcp_mikrotik.server import main
  File "/usr/local/lib/python3.11/site-packages/mcp_mikrotik/server.py", line 8, in <module>

[Read the thread](https://github.com/jeff-nasseri/mikrotik-mcp/issues/98) · 2026-07-30 · closed · external user · 1 comment

### docs: Fix incorrect directory path in Installation clone steps

### Description
While reviewing the `README.md` installation instructions to set up the MikroTik MCP server, I noticed a minor path mismatch in the quick-start terminal commands.

Under the installation step, the documentation outlines the following sequence:
```bash
git clone [https://github.com/jeff-nasseri/mikrotik-mcp/tree/master](https://github.com/jeff-nasseri/mikrotik-mcp/tree/master)
cd mcp-mikrotik

[Read the thread](https://github.com/jeff-nasseri/mikrotik-mcp/issues/79) · 2026-05-30 · closed · external user · 1 comment

### list_nat_rules doesn't work with non asci chars in comment

# Issue: `list_nat_rules` fails on non-ASCII characters in RouterOS output

## Summary

`list_nat_rules` can fail with a Unicode decode exception when RouterOS rule comments contain non-ASCII characters (for example Swedish letters `å`, `ä`, `ö`).

Observed error:

`'utf-8' codec can't decode byte 0xf6 ...`

or

`'utf-8' codec can't decode byte 0xe5 ...`

This makes NAT listing unusable on real-world configurations with localized comments.

## Environment

- Project: `mcp-server-mikrotik`
- Tran

[Read the thread](https://github.com/jeff-nasseri/mikrotik-mcp/issues/58) · 2026-05-07 · closed · external user · 3 comments

### Safe Mode suport

Manipulate network equipment with an LLM is kind of delicate, especially when the device(s) are used in production and all actions are live/active immediately. Mikrotik has this "Safe Mode" feature, which makes changes only persistent, when safe mode is disabled again. So, when shit hits the fan, a simple reboot of the device would "fix" it. The MCP server could make use of this feature so it has some safety net.

Possible workflow: Before the first "write" action, safe mode is turned on. A new 

[Read the thread](https://github.com/jeff-nasseri/mikrotik-mcp/issues/45) · 2026-03-04 · closed · external user · 2 comments

The remaining reports are on [the project's issue tracker](https://github.com/jeff-nasseri/mikrotik-mcp/issues).
