58 lines
2.1 KiB
Markdown
58 lines
2.1 KiB
Markdown
# 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 Docker-Image wird direkt aus diesem Repository gebaut:
|
|
|
|
```sh
|
|
docker build -t strato-dns-mcp:latest .
|
|
```
|
|
|
|
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.
|