Skip to main content
Glama

fritz-mesh-mcp

stdio MCP for a FRITZ!Box mesh. It logs in with the current two-round PBKDF2 challenge and also accepts the older single-round and MD5 challenges. Writes go to the mesh master. Adopted repeaters are read so you can see that they still follow it.

Other public Fritz MCPs stop at TR-064, telephony, or a generic “post this web form” call. TR-064 does not expose client band steering, transmit power, or the “always assign this IPv4 address” flag. A partial post of the channel page is what clears channel mode and power. This server names those settings and, on every radio change, resubmits the current channel mode, channels, and power with the one field you are changing.

What the others do not name

This server

dimitree2k/fritzbox-mcp

ghbalf/mcp-fritzbox

kambriso/fritzbox-mcp-server

the78mole/fritzmoles-mcp

Several boxes, master plus adopted repeaters

yes

one box

one box

one box

telephony

Current PBKDF2 login

yes

yes

MD5 only

varies

TR-064

Client band steering

named tool

only via a raw page post

no

no

no

Channel mode and transmit power, saved with the other radio fields

yes

raw page post

no

no

no

Mesh backhaul steering

yes

no

no

no

no

Per-device IPv4 reservation

yes, /api/v0

no (TR-064 cannot)

no

no

no

WAN, Wi-Fi list, DHCP range, log, port forwards, guest Wi-Fi, UPnP, Wake-on-LAN, smart home, reboot

named tools

named tools, plus a generic action caller

partial

home automation

calls and answering machine

dimitree2k/fritzbox-mcp can reach settings this server does not wrap, because it will post any page and call any TR-064 action. That is a wider escape hatch, and it is the path that drops radio settings. This server does not include that escape hatch.

Related MCP server: openwrt-mcp

Tools

Mesh and devices: fritz_mesh_status, fritz_list_devices, fritz_get_device.

Radio, master only: fritz_get_radio, fritz_set_band_steering, fritz_set_channel_mode, fritz_set_transmit_power (1 is 100%, then 50, 25, 12, and 6 percent), fritz_set_coexistence, fritz_set_backhaul_steering.

Addressing: fritz_reserve_ipv4, fritz_lan_dhcp.

Router: fritz_connection_status, fritz_wifi_networks, fritz_system_log, fritz_port_forwards, fritz_set_guest_wifi, fritz_set_wan_access, fritz_set_upnp, fritz_wake_on_lan, fritz_smart_home_devices, fritz_set_smart_home_switch, fritz_reboot.

Wi-Fi passwords are dropped from every reply.

Run

uv sync
export FRITZ_MASTER_HOST=fritz.box
export FRITZ_MASTER_USER=...
export FRITZ_MASTER_PASSWORD=...
# optional adopted repeaters
export FRITZ_REPEATER_1_HOST=repeater-1.local
export FRITZ_REPEATER_1_USER=...
export FRITZ_REPEATER_1_PASSWORD=...
uv run fritz-mesh-mcp

Cursor, or any other stdio client:

{
  "mcpServers": {
    "fritz-mesh": {
      "command": "uv",
      "args": ["run", "--directory", "/absolute/path/to/fritz-mesh-mcp", "fritz-mesh-mcp"]
    }
  }
}

The FRITZ!Box user needs the settings permission. TR-064 (port 49000) has to be reachable on the LAN. fritz_reboot takes the master offline for about two minutes.

Tests

uv run python -m unittest tests.test_client

The unit tests do not touch a router. A live check is logging in and reading fritz_get_radio before any write.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables automation and management of TP-Link BE3600 routers through browser automation, supporting port forwarding configuration, network status monitoring, and device management without reverse-engineering the router's encryption.
    1
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    A Model Context Protocol (MCP) server for interfacing with AVM FRITZ!Box routers. Control smart home devices, monitor network status, and administer your router through any MCP-compatible client.
    10
    MIT
  • F
    license
    Not graded
    quality
    A
    maintenance
    Enables local management of a NETGEAR WAC510 access point by talking directly to its stock firmware's HTTPS interface. It provides tools for reading device info, clients, radio/traffic stats, applying configurations, transferring files, and performing reboots or factory resets with confirmation safeguards.
    35 PyPI
    -