fritzbox-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FRITZ_USER | Yes | FRITZ!Box user. This is required. | |
| FRITZ_WRITE | No | Enables 🟢 and 🟡 write actions. Set to 1, true, or yes (case-insensitive) to enable; default is off. | false |
| FRITZ_ADDRESS | No | Address of the FRITZ!Box. | fritz.box |
| FRITZ_PASSWORD | No | Password of the FRITZ!Box user. Required unless FRITZ_KEYCHAIN_SERVICE is used. | |
| FRITZ_DOWNLOAD_DIR | No | Target directory for anrufbeantworter_audio downloads; without it, no audio download is available. | |
| FRITZ_WRITE_CRITICAL | No | Additionally enables 🔴 critical actions; only effective together with FRITZ_WRITE. Set to 1, true, or yes (case-insensitive) to enable; default is off. | false |
| FRITZ_KEYCHAIN_SERVICE | No | macOS only: name of a Keychain entry (account = FRITZ_USER) from which the password is read when FRITZ_PASSWORD is empty. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| zugang_pruefenA | Modell, FRITZ!OS und Rechte des Box-Benutzers prüfen. |
| mesh_uebersichtA | Alle Mesh-Zugangspunkte: Rolle, Uplink-Raten, Kanal/Bandbreite/Auslastung je Funkteil, Zahl der Clients. |
| geraetA | Wo hängt ein Gerät? Suche nach Name, IP oder MAC: Zugangspunkt, Band, Signal, Raten. |
| wlan_statusA | WLAN-Funkteile der Box (2,4 GHz, 5 GHz, Gast): an/aus, SSID, Kanal, Autokanal, Geräte. |
| protokollC | Box-Protokoll (neueste zuerst). seit: ISO-Datum/-Zeit, stichwort: Textfilter. |
| dsl_statusC | DSL-Leitung: Sync, Maximalrate, Marge, Dämpfung, CRC/FEC. |
| hostsC | Bekannte Geräte der Box mit IP, MAC, aktiv/inaktiv, Anschlussart. |
| anruflisteC | Anrufliste. art: eingehend | verpasst | ausgehend | blockiert | AB. tage: nur die letzten n Tage. |
| anrufbeantworterB | Anrufbeantworter: Status und Nachrichten (Zeit, Anrufer, Dauer, neu/gehört). Markiert nichts. |
| anrufbeantworter_audioB | Lädt eine AB-Nachricht als WAV nach FRITZ_DOWNLOAD_DIR. Markiert nichts als gehört. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 10 tools
Most tools have clearly distinct targets (DSL, WLAN, mesh, log, calls, answering machine). The main overlap is between 'geraet' (locate a single device) and 'hosts' (list all known devices with IP/MAC), and secondarily 'wlan_status' vs 'mesh_uebersicht' since mesh reports per-radio data too; descriptions mostly disambiguate these.
Naming follows mainly German compound nouns (dsl_status, wlan_status, mesh_uebersicht, anrufliste) but mixes in a bare singular ('geraet') and a verb-first form ('zugang_pruefen'), plus an inflected compound ('anrufbeantworter_audio'). It is readable and semi-predictable but not a single consistent convention.
10 tools is well-scoped for a FRITZ!Box diagnostic server; each tool maps to a distinct subsystem (access, DSL, WLAN, mesh, devices, log, telephony) and none feel redundant.
The surface covers the main diagnostic domains: connectivity/access, line and radio status, device inventory/lookup, log, and telephony including audio retrieval. Gaps are minor and mostly read-only limitations (e.g. no way to mark AB messages heard or perform actions like reboots/WLAN toggles), which are documented rather than dead ends.