Add pull_image + list_registries; remove Gruppe 5 (no Volume API)
- pull_image: SYNO.Docker.Image/pull with repository+tag split via rpartition; polls image list every 3 s until image appears, 120 s timeout - list_registries: SYNO.Docker.Registry/get; shows name, URL, active marker - Gruppe 5 (Volumes) removed from roadmap — SYNO.Docker.Volume does not exist - CLAUDE.md: tool count 17 → 19, Volumes section removed - 28 tests all passing Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -32,14 +32,17 @@ via Container Manager. Der MCP-Server ist in Claude Desktop aktiv verbunden.
|
||||
|
||||
## Aktueller Stand
|
||||
|
||||
### Implementierte Tools (17)
|
||||
### Implementierte Tools (19)
|
||||
|
||||
| Kategorie | Tools |
|
||||
|---|---|
|
||||
| Projekte | `list_projects`, `get_project_status`, `start_project`, `stop_project`, `redeploy_project` |
|
||||
| Container | `list_containers`, `get_container_status`, `get_container_logs`, `exec_in_container`, `container_stats` |
|
||||
| Compose | `read_compose`, `update_compose`, `update_image_tag`, `update_env_var` |
|
||||
| Images | `check_image_updates`, `list_images`, `delete_image` |
|
||||
| Images | `check_image_updates`, `list_images`, `delete_image`, `pull_image` |
|
||||
| Netzwerke | `list_networks`, `create_network`, `delete_network` |
|
||||
| System | `system_df`, `system_prune` |
|
||||
| Registries | `list_registries` |
|
||||
|
||||
### Bekannte Bugs
|
||||
|
||||
@@ -52,31 +55,9 @@ via Container Manager. Der MCP-Server ist in Claude Desktop aktiv verbunden.
|
||||
|
||||
## Roadmap (geplante Erweiterungen)
|
||||
|
||||
### Images
|
||||
- `list_images` – alle lokalen Images mit Größe, Tag, Erstellungsdatum
|
||||
- `delete_image` – nicht mehr benötigte Images löschen
|
||||
- `pull_image` – Image manuell aus Registry ziehen
|
||||
~~Alle geplanten Erweiterungen implementiert.~~
|
||||
|
||||
### Container
|
||||
- ~~`container_stats`~~ – implementiert
|
||||
- ~~`rename_container`~~ – entfällt (DSM bietet kein Container-Umbenennen)
|
||||
|
||||
### Netzwerke
|
||||
- `list_networks` – alle Docker-Netzwerke auflisten
|
||||
- `create_network` – neues Netzwerk anlegen
|
||||
- `delete_network` – Netzwerk löschen
|
||||
|
||||
### Volumes
|
||||
- `list_volumes` – alle Docker-Volumes auflisten
|
||||
- `delete_volume` – verwaiste Volumes löschen
|
||||
- `inspect_volume` – Volume-Details anzeigen
|
||||
|
||||
### System
|
||||
- `system_df` – Docker Disk Usage (Images, Container, Volumes)
|
||||
- `system_prune` – Aufräumen (dangling Images, gestoppte Container)
|
||||
|
||||
### Registries
|
||||
- `list_registries` – konfigurierte Registries anzeigen
|
||||
Volumes entfällt — SYNO.Docker.Volume existiert nicht (kein DSM-Endpunkt).
|
||||
|
||||
---
|
||||
|
||||
@@ -197,24 +178,6 @@ Implementiere **eine Gruppe nach der anderen**. Commit + Push nach jeder Gruppe,
|
||||
|
||||
---
|
||||
|
||||
#### Gruppe 5 – Volumes `modules/volumes.py` (neu) ✦ Prio: niedrig
|
||||
|
||||
**`list_volumes`**
|
||||
- DSM API: `SYNO.Docker.Volume`, method `list`
|
||||
- Ausgabe: Name, Mountpoint, Größe, ob in Verwendung
|
||||
- Confirmation: nein
|
||||
|
||||
**`inspect_volume`**
|
||||
- Signatur: `inspect_volume(volume_name: str) -> str`
|
||||
- Confirmation: nein
|
||||
|
||||
**`delete_volume`**
|
||||
- Signatur: `delete_volume(volume_name: str, confirmed: bool = False) -> str`
|
||||
- Fehler wenn Volume gemountet → klare Meldung
|
||||
- Confirmation: **ja**
|
||||
|
||||
---
|
||||
|
||||
#### Gruppe 6 – Images Ergänzung `modules/images.py` ✦ Prio: niedrig
|
||||
|
||||
**`pull_image`**
|
||||
|
||||
Reference in New Issue
Block a user