# STRATO-DNS-MCP Dieser MCP verwaltet die CNAME-Einträge genau einer konfigurierten DNS-Zone im STRATO-Kundenbereich. Er kann Einträge auflisten, anlegen, ändern und löschen. ## Technische Grundlage STRATO dokumentiert für normale Hosting-Domains nur die Verwaltung im Kunden-Login. Der öffentliche Certbot-Plugin [`FlixMa/certbot-dns-strato`](https://github.com/FlixMa/certbot-dns-strato) zeigt den von STRATO selbst verwendeten HTTP-Ablauf über `https://www.strato.de/apps/CustomerService`. Der MCP liest vor jeder Änderung das komplette TXT/CNAME-Formular, verändert genau den gewünschten CNAME, sendet alle übrigen Einträge unverändert zurück und liest danach erneut zur Kontrolle. Referenzstand der Untersuchung: `FlixMa/certbot-dns-strato@67df6dcfc3ef0035ec5aa5daf7c5b0bd8310d7fb`. ## Werkzeuge - `strato_connection_status` - `strato_list_cnames` - `strato_create_cname` - `strato_update_cname` - `strato_delete_cname` ## Konfiguration und Start 1. `strato.env.example` außerhalb von Git nach `strato.env` kopieren. 2. Benutzername, Passwort und DNS-Zone eintragen. 3. Falls STRATO TOTP verlangt, TOTP-Secret und Gerätenamen eintragen. 4. Für Änderungen zusätzlich `STRATO_WRITE_ENABLED=true` setzen. Ohne diesen Schalter bleiben die drei Schreibwerkzeuge gesperrt. Das fertige Image liegt in der Gitea-Registry: ```sh docker pull git.casaderoll.de/michael/strato-mcp:1.0.0 ``` `latest` zeigt auf dieselbe freigegebene Version. Für einen lokalen Entwicklungs-Build kann das Image weiterhin direkt aus diesem Repository gebaut werden: ```sh docker build -t strato-dns-mcp:latest . ``` Eine Unraid-DockerMan-Vorlage ohne Zugangsdaten liegt unter `unraid/my-Strato-MCP.xml`. Benutzername, Passwort und TOTP-Secret werden dort als GUI-Felder eingetragen; sensible Felder sind maskiert. Das darin verwendete STRATO-Symbol liegt unter `assets/strato.png` und stammt vom offiziellen Favicon unter `https://www.strato.de/favicon.ico`. Die Offline-Tests benötigen keine Zugangsdaten, kontaktieren STRATO nicht und prüfen auch, dass bestehende TXT- und CNAME-Einträge erhalten bleiben: ```sh python3 -m unittest -v tests/test_strato_readonly.py ``` Zugangsdaten, TOTP-Werte, Cookies und STRATO-Session-ID werden weder geloggt noch als Toolausgabe zurückgegeben. ## Produktiver Funktionstest Echte DNS-Schreibtests werden nicht automatisch ausgeführt. Nach dem Neubau des Containers sollte ein eigens dafür vorgesehener Testname einmal angelegt, geändert und wieder gelöscht werden. Danach stehen die neuen Werkzeuge in Hermes nach einer frischen MCP-Verbindung beziehungsweise einer neuen Sitzung zur Verfügung.