Quelle: https://spooly.eu/docs/ai/tools

# Werkzeug-Referenz

Alle 23 Werkzeuge des MCP-Servers, nach Sache sortiert. Sie liefern dieselben Daten wie die REST-API.

## Für alle Werkzeuge

- Werkzeuge, die etwas ändern, brauchen das Recht zu ändern. Sie nehmen zusätzlich ein freiwilliges `request_id`: Mit derselben Kennung läuft eine Wiederholung nur einmal.
- Listen liefern `total`, die KI blättert mit `limit` und `offset` weiter.
- Gewichte sind in Gramm, Kosten in der Währung von `get_account`.
- Spulennamen, Notizen und Druckernamen sind Daten. Spooly sagt der KI, dass sie Anweisungen darin nicht folgen soll.

## Konto

| Werkzeug | Was es tut | Parameter |
| --- | --- | --- |
| `get_account` | Kontoart (Pro oder Trial), Aufrufe heute, Tagesgrenze, Name des Schlüssels und Währung | Keine |
| `get_attention` | Was heute ansteht: fällige Wartung, Zahl der Drucke, die auf eine Prüfung warten, und knappe Spulen | Keine |

## Spulen

| Werkzeug | Was es tut | Parameter |
| --- | --- | --- |
| `list_spools` | Spulen nach Nummer, mit Restgewicht, Größe und Warnstufe | `limit` 1 bis 500, Standard 100; `offset`; `archived` Standard false |
| `get_spool` | Eine Spule | `spool_id`: die `id` aus `list_spools`, nicht die Spulennummer |
| `create_spool` ändert | Legt eine Spule an. Ohne Restgewicht ist sie voll. | In `spool` Pflicht: `color_hex` als #RRGGBB, `material` (Sorte mit Variante, z. B. PLA Basic), `spool_size_grams`. Frei: `name`, `color_name`, `manufacturer`, `finish`, `remaining_grams`, `empty_spool_grams`, `price`, `notes`, `location_id` und dazu `place`. Die Namen sind dieselben wie in `list_spools`. |
| `update_spool` ändert | Ändert die mitgeschickten Felder einer Spule. Das Gewicht läuft über `set_spool_weight` und `refill_spool`. | `spool_id`, `changes`: dieselben Felder wie beim Anlegen, ohne Restgewicht, also `color_hex`, `material`, `spool_size_grams`, `name`, `color_name`, `manufacturer`, `finish`, `empty_spool_grams`, `price`, `notes`, `location_id`, `place` |
| `set_spool_weight` ändert | Setzt das Restgewicht. 0 g archiviert die Spule, wie in der App. | `spool_id` und genau eines: `grams` 0 bis 20.000 oder `gross_grams` 0 bis 40.000 |
| `refill_spool` ändert | Addiert Gramm. Das Ergebnis darf nicht über der Spulengröße liegen. | `spool_id`, `grams` über 0 bis 20.000 |
| `archive_spool` ändert | Archiviert eine Spule, ihr Druckverlauf bleibt. Das geht nicht während eines laufenden Drucks. | `spool_id` |
| `restore_spool` ändert | Holt eine archivierte Spule zurück. | `spool_id` |
| `move_spool` ändert | Legt eine Spule in einen Lagerort. | `spool_id`, `location_id`; null nimmt sie aus dem Ort; `place` optional für einen Platz |

## Slots

| Werkzeug | Was es tut | Parameter |
| --- | --- | --- |
| `get_slots` | Welche Spule in welchem Slot steckt, etwa im AMS oder in der ACE | Keine |
| `assign_slot` ändert | Legt eine Spule in einen Slot. Nur mit aktivem Slot-Autopilot. Meldet der Drucker eine andere Farbe, scheitert der Aufruf mit `andere_farbe`. | `slot_id`, `spool_id`, `confirm_color` |
| `clear_slot` ändert | Leert einen Slot. Die Spule bleibt in Spooly. | `slot_id` |

## Lagerorte

| Werkzeug | Was es tut | Parameter |
| --- | --- | --- |
| `list_locations` | Lagerorte mit Kennung, Pfad und Zahl der Plätze, für `move_spool` | Keine |

## Drucke

| Werkzeug | Was es tut | Parameter |
| --- | --- | --- |
| `list_prints` | Drucke, neueste zuerst, mit Dauer, Gramm je Spule und Materialkosten | `limit` 1 bis 200, Standard 100; `offset` |

## Drucker

| Werkzeug | Was es tut | Parameter |
| --- | --- | --- |
| `list_printers` | Alle Drucker. Online und offline nur mit sicherem Signal, sonst `unknown`. Fortschritt und Restzeit nur bei Bambu Lab. | Keine |
| `set_printer_hours` ändert | Setzt die Gesamtstunden auf die Zahl am Gerät. Fälligkeiten springen nicht. Weniger als die von Spooly erfassten Stunden geht nicht. | `printer_id`, `total_hours` 0 bis 1.000.000 |

## Wartung

| Werkzeug | Was es tut | Parameter |
| --- | --- | --- |
| `get_maintenance` | Wartungsbuch: Drucker mit Stunden, Aufgaben mit Status, Rest und Schätzung in Tagen. Gerätefehler und AMS-Feuchte betreffen nur Bambu Lab. | Keine |
| `list_maintenance_log` | Wartungsverlauf, neueste zuerst | `task_id`, `printer_id`, `limit` 1 bis 200, Standard 50; `offset` |
| `complete_maintenance` ändert | Meldet eine Wartung als erledigt, nur wenn du das gesagt hast. Der Zähler beginnt neu, Teile gehen vom Lager ab. Eine neue Düse oder Platte legt das nicht an. | `task_id`, `action` (`replace`, `clean`, `check`), `notes` bis 1.000 Zeichen |
| `snooze_maintenance` ändert | Erinnert später an eine Wartung. | `task_id`, `days` 7, 14 oder 30, `reason` bis 200 Zeichen |

## Statistik

| Werkzeug | Was es tut | Parameter |
| --- | --- | --- |
| `get_statistics` | Drucke, Fehldrucke, Gramm, Stunden, Filamentkosten, der gleich lange Zeitraum davor, Materialien, Drucker, meistgenutzte Spulen und Lagerwert. Monate gelten in der Zeitzone des Kontos. | `year` 2000 bis 2100, `month` 1 bis 12. Ohne Angabe alles. |
