tm test-tool
Ein einzelnes Tool auf dem Server ausführen, ohne Chat-Umweg.
Der schnellste Weg, ein Tool zu debuggen. Kein Modell, kein Prompt — nur dein Tool, echte Args, echter Server.
Aufruf
tm test-tool <toolName> [key=value ...]
Beispiele
# Ohne Args
tm test-tool listRecentFiles
# Einzelner String-Arg
tm test-tool searchItems query=bodo
# Mehrere Args
tm test-tool getStockBySku skus='["X0047","X0048"]'
# Dry-run (schreibende Calls werden nicht ausgeführt)
tm test-tool createInvoice customer=42 amount=99.95 --dry-run
# JSON-Output (für Skripte / Snapshots)
tm test-tool getInvoice id=INV-2026-001 --json
Parameter-Syntax
key=value-Paare werden automatisch typisiert:
| Eingabe | Wird zu |
|---|---|
flag=true |
true (boolean) |
count=5 |
5 (number) |
price=9.99 |
9.99 (number) |
name=null |
null |
id=ABC123 |
"ABC123" (string) |
tags='["a","b"]' |
["a","b"] (array, via JSON-Parse) |
Komplexe Argumente (Arrays, Objekte): immer JSON in einfachen Anführungszeichen.
Optionen
| Flag | Bedeutung |
|---|---|
--dry-run |
Schreibende HTTP-Calls (POST/PUT/PATCH/DELETE) werden nicht ausgeführt |
--json |
Gibt nur das JSON-Ergebnis aus, nichts drumherum |
Output
Standard-Ausgabe zeigt:
- Request (URL, Method, Args)
- Response (Body, Status)
- Mapping-Ergebnis (was das Modell zu sehen bekommen würde)
- Laufzeit
Bei Fehlern: Exception-Message + Stacktrace.
Wofür nutzen?
- Neues Tool bauen → iterativ Args variieren, bis die Response passt
- Bug reproduzieren → User meldet Fehler, du nimmst dieselben Args und siehst das Problem live
- Regression-Check → vor jedem
tm syncdie wichtigsten Tools einmal ausführen - Fixture ausprobieren → wenn dein Tool ein
args_fixturehat, reichttm test-tool <name>ohne Args
Verwandte Commands
tm test-chat— Modell + Tool in einem Schusstm test-conversations— alle Konversations-Tests durchlaufentm monitor— alle Tool-Calls live beobachten, auch die von echten Usern