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 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:

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:

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.

Die Offline-Tests benötigen keine Zugangsdaten, kontaktieren STRATO nicht und prüfen auch, dass bestehende TXT- und CNAME-Einträge erhalten bleiben:

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.

S
Description
No description provided
Readme
55 KiB
Languages
Python 97.8%
Dockerfile 2.2%