turbopress
Server Details
Connect Claude, ChatGPT or any MCP client to your turbopress hosting account. Ask in plain language how your website is doing, how much disk space is left, which invoices are open or when a domain expires. The answers come straight from your customer account, without logging into the panel.
Beyond answering questions, the server can make changes for you: create mailboxes, renew SSL certificates and more. Your AI client asks for confirmation before any change, and you can revoke access at any ti
- Status
- Healthy
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 93 tools
Despite 93 tools and several clusters of related functionality (performance, WordPress security, turbocheck-report vs. live readers), the descriptions explicitly differentiate each tool and cross-reference siblings with 'NICHT zu verwechseln mit' notes. A few boundaries remain easy to blur (get_website_report vs. diagnose_website, get_security_status vs. get_wordpress_hardening vs. scan_wordpress_vulnerabilities, get_webspace_usage vs. get_storage_breakdown), but the guidance is unusually strong.
Overwhelmingly consistent snake_case verb_noun pattern (get_*, create_*, delete_*, set_*, remove_*, reset_*, update_*). The main deviation is the deploy_* group, which mixes action verbs (begin, publish, rollback, import_asset) with nouns (deploy_list, deploy_git), plus a few oddballs like setup_email_provider and redirect_domain; still readable and predictable overall.
93 tools far exceeds the agent-friendly range and crosses the extreme-mismatch threshold; many operations are split more granularly than necessary (separate create/delete for DB users, DNS records, FTP, cronjobs, backups, etc.). Even granting the broad hosting-provider scope, this volume risks selection errors and could be substantially consolidated.
Coverage is unusually broad: domains, DNS, email, databases, FTP, SSL, PHP, WordPress lifecycle (install, update, backup, staging, hardening, vulnerability scan), deployments, performance monitoring, support tickets, and billing are all represented. A few acknowledged gaps exist (no way to list protected directories, no access-log reader, no cronjob update, no direct domain registration), but agents can work around most of them.
Available Tools
93 toolsactivate_turbometricsturbometrics aktivierenAInspect
Aktiviert turbometrics (kostenlose Performance-Überwachung für turbopress-Kunden) für eine Domain. Beim ersten Mal wird dabei ein Konto bei turbometrics.io mit der Kundenadresse angelegt; besteht es schon, bleibt es unverändert — die Antwort sagt, welcher Fall eintrat. Wird ein Konto NEU angelegt, verschickt turbometrics eine Willkommens-Mail mit einem Link zum Festlegen des Passworts, 60 Minuten gültig (bestätigt am 21.09.2026 aus dem turbometrics-Quelltext: die Mail geht nur innerhalb des created-Zweigs raus). Bestand das Konto schon, geht KEINE Mail raus — kündige dann auch keine an. Die Antwort selbst nennt die Mail nicht, nur created/exists; richte dich danach. Danach laufen automatische Scans, deren Ergebnisse get_performance_score und get_performance_findings liefern.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die Domain, z. B. example.de |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare write/non-destructive; the description goes far beyond by disclosing first-run account creation, idempotency (existing account unchanged), the created/exists response signal, the 60-minute welcome-email password link that fires only in the created branch, and the automatic scans that follow. This is exactly the behavioral context an agent needs and cannot get from structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the core action and keeps detail proportional to the tool's real complexity (idempotency, email timing). The parenthetical source-code confirmation and timestamp are slightly verbose but they substantiate a behavior an agent must not misreport, so nearly every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by explaining the created/exists response and the downstream scan tools, which is enough to call and interpret it. It omits auth/permission requirements and error cases, leaving only a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter ('domain') with 100% schema description coverage, so the schema already documents it fully. The description adds no format or syntax detail beyond 'für eine Domain', so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Aktiviert') and resource ('turbometrics'), plus its scope ('für eine Domain') and what the product is (kostenlose Performance-Überwachung für turbopress-Kunden). This clearly separates it from sibling monitoring tools like start_performance_scan and get_performance_score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explains the activation workflow and names the follow-up tools (get_performance_score, get_performance_findings), which implies the usage context. However it never states explicitly when to choose this tool over alternatives (e.g. start_performance_scan) or any preconditions, so guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_dns_recordDNS-Eintrag hinzufügenADestructiveInspect
Legt einen neuen DNS-Record auf einer Domain an (Typen A, AAAA, CNAME, TXT, MX). Für MX-Records ist "priority" zwingend erforderlich (z. B. 10) — Plesk lehnt MX ohne Priorität ab. TXT-Records für SPF, DMARC und DKIM sind ausdrücklich vorgesehen; der Wert darf bis zu 2048 Zeichen lang sein, ein DKIM-Schlüssel passt also vollständig hinein. Ein fehlerhafter Record kann Mail-Zustellung oder Erreichbarkeit der Website beeinträchtigen — bitte Angaben vor der Bestätigung prüfen.
| Name | Required | Description | Default |
|---|---|---|---|
| host | Yes | NUR der Name VOR der Domain, ohne den Domainnamen — das Hosting-System hängt die Zone selbst an und prüft nicht, ob sie schon dasteht. Gültig: "www", "_dmarc", "selector1._domainkey", "autodiscover", oder "@" für die Domain selbst. Microsoft 365, Google Workspace und Cloudflare geben DKIM- und DMARC-Hosts dagegen als VOLLSTÄNDIGEN Namen heraus ("selector1._domainkey.example.com", "_dmarc.example.com"), weil das der Name ist, der später abgefragt wird — daraus hier nur den Teil vor der Domain übernehmen: aus "selector1._domainkey.example.com" wird "selector1._domainkey", der Domainname allein ("example.com") wird "@". Wird der Domainname trotzdem mitgeschickt, schneidet der Server ihn ab und die Antwort sagt ausdrücklich, welcher Name entstanden ist; ohne dieses Abschneiden entstünde "selector1._domainkey.example.com.example.com" — ein Eintrag, der als Erfolg gemeldet wird, aber nie abgefragt wird und die Mailauthentifizierung stillschweigend kaputt lässt. Dem Kunden deshalb immer den Namen nennen, der laut Antwort tatsächlich eingetragen wurde, und nicht den, den er genannt hat. Höchstens 255 Zeichen, gezählt nach dem Abschneiden | |
| type | Yes | Record-Typ | |
| value | Yes | Zielwert des Records: eine IP-Adresse (A/AAAA), ein Hostname (CNAME/MX) oder der vollständige Textwert (TXT, z. B. "v=spf1 include:_spf.google.com ~all" oder ein DKIM-Wert "v=DKIM1; k=rsa; p=…"). Höchstens 2048 Zeichen. DKIM-Werte unverändert so übernehmen, wie der Anbieter sie ausgibt — auch in der geteilten Schreibweise mit Anführungszeichen ("v=DKIM1; k=rsa; " "p=…"), die wird beim Eintragen automatisch zu einem Wert zusammengefügt. Die 2048 Zeichen zählen für den zusammengefügten Wert | |
| domain | Yes | Die Domain, z. B. example.com | |
| priority | No | Priorität/Gewichtung (nur relevant, meist erforderlich bei MX-Records, z. B. 10) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true and readOnlyHint=false. The description adds concrete impact beyond the annotations: a faulty record can break mail delivery or website reachability, and Plesk rejects MX records without a priority. It does not state auth requirements or reversibility, but adds meaningful operational context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the purpose, then covers MX and TXT edge cases and ends with a check-before-confirm warning. Five sentences with no obvious repetition, though some schema details are restated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the rich schema descriptions and destructive annotation, the description is complete enough for safe invocation. It omits authentication/prerequisites and return details, but no output schema exists and the host pitfalls are covered in the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are already documented in detail. The description still adds semantic weight by tightening priority from 'usually required' to mandatory for MX and confirming TXT/DKIM usage and the 2048-character limit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Legt... an') and resource ('DNS-Record auf einer Domain') plus the supported record types. It implicitly distinguishes creation from sibling delete_dns_record and get_dns_records by the action, but does not name those siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance. It gives a conditional for MX priority and a caution to check details, but does not route the agent between this and alternatives like get_dns_records or delete_dns_record.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apply_wordpress_security_measureWordPress-Härtungsmaßnahme anwendenADestructiveInspect
Wendet GENAU EINE WP-Toolkit-Härtungsmaßnahme auf eine WordPress-Installation an (siehe get_wordpress_hardening für die verfügbaren Kennungen). Manche Maßnahmen haben Nebeneffekte, die über den Titel hinausgehen — securityKeys beendet alle Sitzungen, adminUsername ersetzt den Anmeldenamen, dbPrefix ändert die Datenbank, secureContent und disableUnusedScripting können Plugins mit eigenen PHP-Skripten in wp-content lahmlegen. Fünf der neunzehn Maßnahmen lassen sich nicht zurücknehmen.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die Domain, z. B. example.de | |
| measure | Yes | Kennung der Maßnahme, z. B. "dbPrefix" — get_wordpress_hardening nennt die verfügbaren Kennungen. | |
| site_url | No | Nur nötig, wenn mehrere WordPress-Installationen auf der Domain liegen |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag destructiveHint=true, but the description goes far beyond that: it enumerates concrete side effects (securityKeys ends all sessions, adminUsername replaces the login name, dbPrefix alters the database, secureContent/disableUnusedScripting can break wp-content plugins) and flags that five measures cannot be undone. This is exactly the behavioral context an agent needs before a destructive call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action and the single-measure constraint, then the discovery pointer, then the critical side-effect list. Every sentence carries decision-relevant information; nothing is padding despite the density.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive write tool with no output schema and three fully documented parameters, the description supplies scope, discovery path, side effects, and reversibility limits. Nothing an agent needs to call it safely is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3, but the description adds a real semantic constraint beyond the schema: EXACTLY ONE measure per call, and it names the sibling (get_wordpress_hardening) that supplies valid measure values. That meaningfully lifts it over the schema-only baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Wendet GENAU EINE WP-Toolkit-Härtungsmaßnahme auf eine WordPress-Installation an") and immediately scopes it as a single measure, which is critical for a destructive operation. It also routes to get_wordpress_hardening for the valid identifiers, so the agent can distinguish this from the discovery sibling without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly points the agent to get_wordpress_hardening as the prerequisite for obtaining valid measure identifiers, and warns that five of nineteen measures are irreversible. It does not name revert_wordpress_security_measure as the undo path for the reversible fourteen, so the guidance is clear but not fully complete on alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_domain_availabilityDomain-Verfügbarkeit prüfenARead-onlyInspect
Prüft, ob eine beliebige Domain zur Registrierung verfügbar ist (WHOIS-Lookup, nicht auf eigene Domains beschränkt). Nur ein eindeutiger WHOIS-Status wird als "verfügbar" oder "bereits registriert" gemeldet; liefert WHOIS keinen eindeutigen Status, sagt die Antwort das ausdrücklich statt "registriert" zu vermuten.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die zu prüfende Domain, z. B. example.de |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds a genuine behavioral trait beyond that: only an unambiguous WHOIS status is reported as available/registered, and an inconclusive lookup is surfaced as such rather than being guessed. That uncertainty-handling behavior is not derivable from the schema or annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two front-loaded sentences with no filler; the mechanism and the scope constraint come first, followed by the reporting behavior. Slightly dense but every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, read-only lookup with no output schema, the description covers what the tool does, what it accepts, and how ambiguous results are reported. Only the absence of any explicit routing against sibling domain tools keeps it from being fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single 'domain' parameter is already documented with a format example ('z. B. example.de'). The description adds no syntax or validation detail beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Prüft, ob eine beliebige Domain zur Registrierung verfügbar ist') and pins down the mechanism (WHOIS-Lookup). The parenthetical clarifying that it is 'nicht auf eigene Domains beschränkt' implicitly distinguishes it from sibling get_domains, though no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The scope note tells the agent this works for arbitrary domains, which is useful context, but there is no explicit statement of when to prefer this over prepare_domain_order or suggest_domain_alternatives. Usage is implied rather than directed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_wordpress_integrityWordPress-Kerndateien prüfenARead-onlyInspect
Vergleicht eine WordPress-Installation mit den offiziellen Prüfsummen und meldet drei Arten von Funden getrennt: veränderte Dateien (vorhanden, Inhalt weicht ab), fehlende Kerndateien (entfernt) und zusätzliche Dateien (gehören nicht zu WordPress — die klassische Stelle für eine Hintertür). Nennt die betroffenen Dateien je Art. Geprüft wird nur der WordPress-Kern, nicht Plugins, Themes oder Uploads. Ein Fund ist nicht automatisch ein Einbruch: Auch ein von Hand verändertes WordPress fällt auf.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die Domain, z. B. example.de | |
| site_url | No | Nur nötig bei mehreren Installationen auf der Domain |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered; the description goes further by describing the result structure (three separate categories, affected files named per category) and by warning that legitimate manual edits also trigger findings. That interpretative framing is real added value beyond the annotations, though return format/pagination details are absent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core comparison and the three finding types, with the scope limit and the caveat following. Four sentences, each carrying distinct information, though the first sentence is long and packs mechanism plus enumeration together.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of explaining returns and does so by naming the three finding types and stating that files are listed per type. Combined with the explicit scope boundary and the false-positive caveat, an agent has enough to call and interpret the tool correctly, though exact output shape remains unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% – both 'domain' and 'site_url' are documented in the schema, including when site_url is needed. The description adds no parameter-level information beyond that, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a concrete verb and resource (compares a WordPress installation against official checksums) and enumerates the exact three finding categories it produces. The scope constraint 'only the WordPress core, not plugins, themes or uploads' implicitly separates it from neighbors like scan_wordpress_vulnerabilities, get_outdated_plugins and get_wordpress_hardening.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied – checking core integrity is a post-compromise or hygiene action – but the description never states when to reach for this tool versus scan_wordpress_vulnerabilities or get_wordpress_hardening, nor any prerequisites. The interpretation caveat ('a finding is not automatically a break-in') is helpful context rather than routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clear_wordpress_cacheWordPress-Cache leerenAInspect
Leert den Cache der WordPress-Installation einer Domain über den echten WP-CLI-Aufruf "wp litespeed-purge" (live gemessen, wirkt nachweislich). Liest vorher auf der Installation selbst, ob ein Cache-Plugin aktiv ist, und kennt drei Ausgänge: geleert, nachweislich kein Cache aktiv (dann war nichts zu leeren), und nicht feststellbar. Der dritte Ausgang ist KEINE Entwarnung: Er heißt, dass der Zustand nicht gelesen werden konnte — meist weil WordPress dort gerade nicht startet —, und ein aktiver Cache kann weiter alte Inhalte ausliefern. Inhalte gehen beim Leeren nicht verloren; die nächsten Aufrufe sind kurz langsamer. Erster Schritt, wenn Änderungen an der Website nicht sichtbar werden.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die Domain, z. B. example.de | |
| site_url | No | Nur nötig, wenn mehrere WordPress-Installationen auf der Domain liegen |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds substantial context beyond the annotations: it discloses that it reads plugin state first, enumerates three distinct outcomes, warns that the "not determinable" outcome is not an all-clear, and states that content is preserved but the next requests are briefly slower. This is exactly the behavioral disclosure a non-destructive mutation tool needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the core action and mechanism, then layers the outcome semantics. Slightly dense and the "live gemessen, wirkt nachweislich" phrasing is mildly promotional, but every sentence carries functional information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by describing the three possible outcomes and the misleading one, plus the side effect on subsequent requests. An agent has enough to call it and interpret the result correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are already documented in the schema, including the site_url multi-installation caveat. The description mentions the domain context but adds no parameter syntax or format detail beyond the schema, so the baseline 3 holds.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (clears the WordPress cache of a domain) and even names the exact mechanism ("wp litespeed-purge"). An agent can immediately distinguish this from cache-adjacent siblings like get_performance_score or update_wordpress_core.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly frames the trigger condition: "Erster Schritt, wenn Änderungen an der Website nicht sichtbar werden." That is clear when-to-use guidance. It stops short of naming a specific alternative tool or when-not-to-use, so it doesn't reach a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
close_support_ticketSupport-Ticket schließenBInspect
Schließt ein bestehendes eigenes Support-Ticket.
| Name | Required | Description | Default |
|---|---|---|---|
| ticket_id | Yes | Die in get_support_tickets angezeigte interne Ticket-ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=false, so the safety profile is partly covered. The description adds only that the ticket is one's 'own' and already exists; it says nothing about whether closing is reversible, whether the ticket can be reopened, whether confirmation or special permissions are required, or what happens to the ticket afterwards.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, and the action verb is front-loaded. It is efficient, though the extreme brevity leaves substance to the other dimensions rather than adding structure or scoping detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter mutation tool with no output schema and full schema coverage, the description is minimally sufficient to call the tool. It still omits what an agent would want to know before acting: whether closing is final, what state the ticket ends in, and any authorization scope beyond 'eigenes'.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single parameter ticket_id is documented in the schema as the internal ID shown by get_support_tickets, so the baseline is 3. The description adds no additional parameter meaning beyond that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Schließt ein bestehendes ... Support-Ticket'), which clearly separates it from create_support_ticket, get_support_tickets and reply_to_ticket in the sibling list. It does not, however, explicitly name those siblings or contrast behavior with them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'bestehendes eigenes' implies a precondition (the ticket must already exist and belong to the caller), which is useful usage context. But there is no explicit when-to-use guidance and no routing to alternatives such as reply_to_ticket when the user actually wants to respond rather than close.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_cronjobCronjob anlegenAInspect
Richtet einen wiederkehrenden Cronjob für eine Domain ein (Plesk "Geplante Aufgaben"). Die Regeln für die Befehlszeile stehen vollständig bei "command"; lies sie, bevor du dem Kunden einen Befehl vorschlägst — alles davon wird serverseitig geprüft und sonst mit Angabe der verletzten Regel abgewiesen. Bei type="exec" und type="php" wird zusätzlich nachgesehen, ob die Datei an der angegebenen Stelle überhaupt existiert. Fehlt sie, wird der Cronjob trotzdem angelegt (man darf ihn vor dem Hochladen einrichten) — die Antwort trägt dann aber eine Warnung, die du dem Kunden ungekürzt weitergeben musst, statt nur "eingerichtet" zu melden. Konnte nicht nachgesehen werden, sagt die Antwort genau das; behaupte dann weder, die Datei sei da, noch, sie fehle.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | exec (Standard) = Skript im Domainverzeichnis, "command" ist die vollständige Befehlszeile samt Argumenten. php = PHP-Skript; Plesk ruft PHP mit der für die Domain eingestellten Version selbst auf, "command" enthält deshalb nur den Skriptpfad (Argumente dahinter trennt der Server ab) und niemals ein "php" oder "/usr/bin/php" davor. http = "command" ist eine https-URL auf die eigene Domain. | |
| domain | Yes | Die Domain, z. B. example.de | |
| command | Yes | Bei type="exec"/"php" eine Befehlszeile, bei type="http" eine URL. ERSTES WORT = der auszuführende Pfad, alles dahinter = Argumente. Dieser Pfad muss unterhalb des Verzeichnisses dieser Domain liegen — relativ dazu ("httpdocs/wp-cron.php") oder absolut ("/var/www/vhosts/example.de/httpdocs/wp-cron.php"), beides ist erlaubt; ".." wird aufgelöst und darf nicht hinausführen. Ein Programm aus dem System als erstes Wort ist damit ausgeschlossen: "/usr/bin/php httpdocs/wp-cron.php" wird abgewiesen, obwohl das Skript dahinter stimmt — der Interpreter gehört nicht davor, bei type="php" ruft Plesk ihn selbst auf. Gesperrt sind ausserdem die Zeichen ; & | ` $ ( ) < > und Zeilenumbrüche, weil die Crontab-Zeile in einer Shell läuft; eine Ausgabeumleitung (">> /dev/null 2>&1") ist deshalb nicht möglich und gehört in das Skript selbst. Gültig ist z. B. bei type="php" "httpdocs/wp-cron.php", bei type="exec" "httpdocs/backup.sh --voll --leise" und bei type="http" "https://example.de/cron.php" (nur https, nur die eigene Domain mit oder ohne "www.", kein "@"). | |
| schedule | Yes | Zeitplan im CRON-Format, genau fünf Felder (Minute Stunde Tag Monat Wochentag), je nur Ziffern und * / , - — z. B. "*/5 * * * *" oder "0 22 * * 1-5". Abgekürzte Namen ("MON", "jan") und Sonderformen ("@reboot", "@daily") werden abgewiesen. | |
| description | No | Beschreibung, die in Plesk angezeigt wird |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint=false and destructiveHint=false. The description adds substantial behavior: server-side validation with rule-specific rejection, file-existence checks for exec/php, warnings returned when files are missing, and explicit instructions about uncertain results. This goes well beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the purpose, then adds only decision-relevant constraints about validation and response warnings. Each sentence contributes to correct invocation, and the length is justified by the tool's validation complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no output schema, the description covers validation behavior, the file-check edge case, warning propagation, and uncertainty handling. An agent has enough context to call this correctly and to relay results accurately.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema already gives detailed per-parameter semantics for type, command, schedule, and domain. The description mainly points back to the command schema rather than adding new parameter meaning, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Richtet einen wiederkehrenden Cronjob für eine Domain ein') and scopes it to Plesk scheduled tasks, so it is distinguishable from get_cronjobs and delete_cronjob without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear usage context: read the command rules before suggesting a command, and notes that a missing file still creates the cronjob with a warning. It does not explicitly name alternative tools or when not to use this one, so it stops short of the top score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_databaseDatenbank anlegenBInspect
Legt eine neue MySQL-Datenbank auf einer Domain an.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name der neuen Datenbank (nur Buchstaben, Zahlen, Unterstriche) | |
| domain | Yes | Die Domain, z. B. example.com |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=false, so the safety profile (a write that is not destructive) is covered. The description usefully adds that this is a MySQL database scoped to a domain, but says nothing about irreversibility, whether duplicates are rejected, or naming failures beyond what the schema documents.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One tight sentence with the verb and resource front-loaded and zero filler. Nothing redundant, though it is brief enough that the missing usage context is conspicuous.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter mutation tool whose annotations cover the safety profile and whose schema fully documents both inputs, plus no output schema to explain, the description is minimally adequate. It leaves the key workflow question (relationship to create_database_user) unanswered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with both parameters (name, domain) fully documented in the schema, including the character constraints on name. The description adds no parameter syntax or format detail beyond that, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (legt an / creates), resource (MySQL-Datenbank) and scope (auf einer Domain), so the agent can tell it apart from read tools like get_databases or delete_database. However it does not distinguish itself from the closely related sibling create_database_user, which is the most likely confusion point.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this instead of alternatives, no prerequisites (e.g. whether the domain must already exist, whether a database user must be created separately), and no mention of the create_database_user sibling. Usage must be inferred entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_database_userDatenbank-Benutzer anlegenAInspect
Legt einen neuen Datenbank-User an und verknüpft ihn mit einer bestehenden Datenbank. Das Passwort wird sicher zufällig generiert und in der Antwort angezeigt.
| Name | Required | Description | Default |
|---|---|---|---|
| login | Yes | Gewünschter Login-Name des neuen Users. Erlaubt sind nur Buchstaben, Ziffern und Unterstrich, höchstens 64 Zeichen — das ist aber lockerer als MySQL selbst (dort maximal 32 Zeichen): Ein Login mit 33–64 Zeichen besteht diese Prüfung, scheitert dann aber bei Plesk, und die Antwort lautet dafür nur "plesk_unavailable" statt einer erkennbaren Ablehnung. Praktisch deshalb auf 32 Zeichen begrenzen. gültig: "wp_user", "kunde1", "wp_user_2026". abgewiesen: "max.mustermann" (Punkt), "shop-db" (Bindestrich), "müller" (Umlaut). | |
| domain | Yes | Die Domain, z. B. example.com | |
| database | Yes | Name der bestehenden Datenbank |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnlyHint=false, destructiveHint=false), so the bar is lower, and the description still adds genuine value: the password is generated randomly for the agent and surfaced in the response. This tells the agent both that it should not supply a password and where to find it. Missing are permission requirements and any failure-mode behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence that front-loads the create action and then the two key facts (linking, generated password). No filler, nothing redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should explain the return, and it does state the password appears in the response — the most important output fact for this tool. It is largely complete for a 3-param creation tool, though it could say more about what else the response returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the login parameter is documented in exceptional depth in the schema itself (character rules, length caveat, Plesk failure mode). The description adds no parameter-level detail beyond restating that the database is pre-existing. Baseline 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource ('Legt einen neuen Datenbank-User an') with an added scope detail: it links the user to an existing database. This makes the outcome clear. It does not, however, explicitly distinguish itself from close siblings like create_database or delete_database_user, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is an implicit prerequisite — the target database must already exist ('bestehende Datenbank') — but no explicit when-to-use/when-not or alternative routing. An agent gets no guidance on how this differs from create_database or when another tool is preferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_email_accountE-Mail-Postfach anlegenAInspect
Legt ein neues E-Mail-Postfach auf einer Domain an. Das Passwort wird sicher zufällig generiert und in der Antwort angezeigt — bitte dem Kunden mitteilen, es wird nicht erneut angezeigt. Ob die Adresse schon vergeben ist, wird NICHT vorab geprüft: Gibt es sie bereits, wird die Anlage abgelehnt und das vorhandene Postfach bleibt unberührt — das ist keine Störung. get_email_accounts zeigt den Bestand.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die Domain, z. B. example.com | |
| local_part | Yes | Lokaler Teil der Adresse (vor dem @), z. B. "info" für info@example.com. Erlaubt sind nur Buchstaben, Ziffern, Punkt, Bindestrich, Unterstrich, höchstens 64 Zeichen — keine Umlaute. gültig: "info", "max.mustermann", "Info_Neu". abgewiesen: "büro", "müller" (Umlaute), "info+shop" (Plus-Zeichen). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare write and non-destructive; the description adds the behavior an agent actually needs: the password is randomly generated, returned once, and must be relayed to the customer because it will not be shown again. It further discloses that duplicate addresses are not pre-checked, that creation is rejected if the address exists, and that the existing mailbox is left untouched and this is not a failure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, action first, then credential handling, then the duplicate-address caveat, then the inventory alternative — every sentence carries information and is front-loaded. Slightly verbose with the reassurance clause ('das ist keine Störung') but still efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no output schema, the description supplies the crucial output context (password is returned in the response, once) and the failure semantics (existing address causes rejection, not corruption). An agent has everything needed to call it correctly and to advise the customer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are fully documented in the schema, including local_part character rules and examples. The description adds no parameter-level detail beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence states a specific verb and resource ('Legt ein neues E-Mail-Postfach auf einer Domain an'), which an agent can distinguish from siblings like reset_email_password or set_email_alias without opening the schema. It also names get_email_accounts as the related read tool, sharpening the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It routes the agent to get_email_accounts for checking the existing inventory and explains that no pre-check happens on create, which is clear context for when this tool is the right choice. It stops short of explicitly contrasting creation with adjacent siblings such as setup_email_provider or set_email_forwarding, so it is not a full when/when-not treatment.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_ftp_accountFTP-Zugang anlegenAInspect
Legt einen zusätzlichen FTP-Zugang für eine Domain an. Das Passwort wird serverseitig erzeugt. Ohne Angabe von "home" bekommt der Zugang das Verzeichnis dieser Domain (z. B. "/httpdocs"); nur falls sich das nicht feststellen lässt, wird "/" gesetzt. Achtung: Ein ausdrückliches Startverzeichnis "/" gibt Zugriff auf alle Dateien des Hostings, nicht nur auf diese Domain. Welches Verzeichnis wirklich gesetzt wurde, steht in der Antwort — nur das darf dem Kunden genannt werden.
| Name | Required | Description | Default |
|---|---|---|---|
| home | No | Startverzeichnis relativ zur Subscription, mit führendem Schrägstrich, insgesamt höchstens 120 Zeichen. Jedes Namensteil nur aus Buchstaben A–Z/a–z, Ziffern, Punkt, Bindestrich, Unterstrich — keine Umlaute, keine Leerzeichen, kein "..", kein doppelter und kein abschließender Schrägstrich. Weglassen heisst: das Verzeichnis der genannten Domain (Standard, z. B. "/httpdocs"). Ein ausdrückliches "/" allein ist hier GÜLTIG und bedeutet das gesamte Abonnement (anders als bei create_protected_directory, wo "/" allein abgelehnt wird) — wird als solches übernommen. gültig: "/httpdocs", "/httpdocs/kunde", "/". abgewiesen: "/httpdocs/kunden portal" (Leerzeichen), "/httpdocs/müller" (Umlaut), "/httpdocs/kunde+1", "httpdocs" (ohne führenden Schrägstrich), "/httpdocs/" (Schrägstrich am Ende). | |
| login | Yes | Login des neuen FTP-Zugangs, 3–32 Zeichen, Kleinbuchstaben/Ziffern/-/_ , beginnend mit einem Buchstaben | |
| domain | Yes | Die Domain, z. B. example.de |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds important context beyond annotations: password is server-generated, the default home directory behavior, the warning about '/' granting full hosting access, and critically that the actual directory set must be taken from the response (not assumed). This is valuable behavioral disclosure for a mutation tool with annotations covering safety.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, front-loaded with purpose, then key default/warning, ending with a critical instruction. No significant waste, though it could be slightly tighter. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no output schema, the description covers the main behavioral aspects: password generation, directory defaults, security implications of '/', and reliance on the response for actual directory. Missing: permissions required, whether the account is immediately active, or what the response contains beyond the directory.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents parameters including validation examples for 'home'. The description adds no new parameter syntax, but does provide context on default behavior and the '/' special case. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb+resource: 'Legt einen zusätzlichen FTP-Zugang für eine Domain an' (Creates an additional FTP account for a domain). The 'zusätzlich' (additional) differentiates from other creation tools, though it doesn't explicitly name the delete sibling. Purpose is specific and distinguishable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance. The implicit context (creating an FTP account) is clear from the name and the note about default directory behavior hints at usage, but it lacks routing to alternatives like reset_ftp_password or delete_ftp_account.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_protected_directoryVerzeichnis mit Passwort schützenAInspect
Schützt ein Verzeichnis einer Domain mit einer Passwortabfrage (HTTP-Basic). Der Bereich ist danach ohne Anmeldung nicht mehr erreichbar, auch nicht für Suchmaschinen. Das Passwort wird serverseitig erzeugt. Die Zeichenregeln stehen bei den Parametern und werden serverseitig geprüft; lies sie, bevor du dem Kunden Werte vorschlägst — Umlaute sind nur im Titel erlaubt, in "directory" und "username" nicht.
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | Text, den der Browser im Anmeldefenster zeigt, 1–60 Zeichen. Umlaute sind erlaubt (anders als bei "directory" und "username"), Satzzeichen dagegen nicht: erlaubt sind nur Buchstaben, Umlaute und ß, Ziffern, Leerzeichen, Punkt, Bindestrich, Unterstrich. Kein Komma, keine Klammern, kein Doppelpunkt, kein Ausrufezeichen, kein "&", kein "/" — und keine anderen Akzentbuchstaben wie "é". gültig: "Interner Bereich", "Änderungen intern", "Geschützter Bereich" (der Standard). abgewiesen: "Interner Bereich, bitte anmelden", "Kundenbereich (intern)", "Bereich: intern", "Bitte anmelden!", "Intern & Extern", "Café intern". | |
| domain | Yes | Die Domain, z. B. example.de | |
| username | Yes | Benutzername für die Anmeldung, 3–32 Zeichen. Das erste Zeichen ist ein Buchstabe oder eine Ziffer, danach Buchstaben A–Z/a–z, Ziffern, Punkt, Bindestrich, Unterstrich — keine Umlaute, keine Leerzeichen, kein "@". gültig: "team", "team-01", "max.mustermann", "1team". abgewiesen: "müller", "_team", "ab", "max@firma". | |
| directory | Yes | Zu schützendes Verzeichnis, mit führendem Schrägstrich, je Namensteil höchstens 60 Zeichen. Erlaubt sind nur Buchstaben A–Z/a–z, Ziffern, Punkt, Bindestrich, Unterstrich — keine Umlaute, keine Leerzeichen, kein ".." und kein Schrägstrich am Ende. Auch "/" allein geht nicht; ein ganzer Auftritt lässt sich so nicht schützen. gültig: "/intern", "/intern/kunden", "/Intern-2024". abgewiesen: "/geschützt", "/mein ordner", "intern", "/intern/", "/". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only say readOnlyHint=false / destructiveHint=false, so the description carries the real burden and does: HTTP-Basic prompt, directory becomes unreachable without login, blocked from search engines, password is generated server-side (agent supplies none), and all values are validated server-side. These are non-obvious operational facts an agent needs before calling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences, front-loaded with the operation and its effect, then the password-generation and validation notes. No filler, though the closing sentence partially duplicates details already in the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description must cover behavior, and it covers effect, auth model, and server-side generation well. It does not address what happens if the directory is already protected or how to undo the change, which is the main remaining gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the per-parameter docs already include exhaustive valid/invalid examples, so the schema does the heavy lifting. The description adds only a cross-cutting reminder that umlauts are permitted in 'title' but not in 'directory'/'username', which is useful but marginal, matching the baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (protect a domain directory with HTTP-Basic auth) plus the observable effect (area unreachable, including for search engines). This is unmistakably distinct from the inverse sibling remove_protected_directory and from the other create_* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when the tool is relevant and gives one process instruction ('lies die Regeln, bevor du dem Kunden Werte vorschlägst'), but it never states when to use this versus alternatives (e.g. hotlink protection or other security measures) or what prerequisites/ordering apply. Usage is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_ssl_certificateSSL-Zertifikat ausstellenADestructiveInspect
Stellt ein neues Let's-Encrypt-SSL-Zertifikat für eine Domain aus (über sslit) und ersetzt damit das aktuelle Zertifikat. Sichert standardmäßig die Domain selbst, www und webmail; mail. nur auf Wunsch (include_mail), da das einen bereits existierenden mail.-DNS-Record voraussetzt und sonst mit einer konkreten Fehlermeldung fehlschlägt. Let's Encrypt erlaubt nur 5 identische Zertifikate pro Woche. Dagegen schützen zwei Prüfungen, die beide ihre Grenzen nennen: (1) gezählt werden die Ausstellungen, die in den letzten 7 Tagen ÜBER TURBOPRESS für diese Domain liefen (eigenes Prüfprotokoll) — ab 5 wird abgelehnt; Ausstellungen über das Plesk-Panel oder einen anderen Anbieter zählt diese Zahl nicht mit, sie ist also eine Untergrenze, keine Bilanz des Kontingents. (2) eine Frischeprüfung am live ausgelieferten Zertifikat: Stammt es von Let's Encrypt und ist es weniger als 7 Tage alt, wird ebenfalls abgelehnt — das ist ein Indiz, keine Zählung, und es sagt nur, WAS ausgeliefert wird, nicht wer es ausgestellt hat (ein vorgeschaltetes CDN/Proxy kann ein fremdes sein). force=true übergeht beides. Konnte eine der beiden Prüfungen nicht greifen (TLS-Handshake fehlgeschlagen oder Protokoll unlesbar), fällt der Schutz NICHT stillschweigend aus: Die Antwort sagt dann ausdrücklich, dass er nur unvollständig gegriffen hat. Antwortet mit dem live bestätigten Ergebnis (Aussteller, abgedeckte Namen, Gültigkeit) — oder ausdrücklich als unbestätigt, wenn die Live-Verifikation nicht möglich war.
| Name | Required | Description | Default |
|---|---|---|---|
| force | No | Den Schutz gegen zu häufiges Ausstellen derselben Domain übergehen (Standard: false) — nur setzen, wenn wirklich nötig, z. B. um SANs zu ändern | |
| domain | Yes | Die Domain, z. B. example.com | |
| include_www | No | www.<domain> mit absichern (Standard: true) | |
| include_mail | No | mail.<domain> mit absichern — braucht einen existierenden DNS-Record für mail.<domain> (Standard: false) | |
| include_webmail | No | webmail.<domain> mit absichern (Standard: true) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Far exceeds the annotations (readOnlyHint=false, destructiveHint=true): it discloses that the existing certificate is replaced, the Let's Encrypt 5-per-week limit, two distinct guards with their explicit limitations, that force bypasses both, that guard failure is reported rather than silently skipped, and what the response contains. This is exactly the destructive/mutating context an agent needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is long, but it is front-loaded with the action and replacement semantics, and the remaining sentences carry genuine behavioral facts (rate limit, guard logic, failure reporting). Minor redundancy with the schema's parameter descriptions is the only wasted space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description explicitly explains the return shape ('live bestätigtes Ergebnis... oder ausdrücklich als unbestätigt'), and covers the mutation's side effects, prerequisites, and safeguards. Nothing needed to invoke it safely is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all five parameters including defaults and the mail DNS prerequisite. The description largely restates those defaults and the force semantics already present in the schema descriptions, adding little syntax or format detail beyond them. Baseline 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
First sentence states a specific verb and resource ('Stellt ein neues Let's-Encrypt-SSL-Zertifikat für eine Domain aus') and adds the critical scope note that it replaces the current certificate. This cleanly separates it from read-only siblings like get_ssl_status and fix_https_redirect.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives concrete operating conditions: which names are covered by default, that include_mail requires an existing mail.<domain> DNS record, and when force should be used. It does not explicitly name a sibling alternative (e.g. 'use get_ssl_status to inspect first'), so it stops short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_staging_siteStaging-Kopie erstellenAInspect
Erstellt eine Testkopie einer WordPress-Installation auf einer neuen Subdomain (z. B. staging.example.de) — legt die Subdomain bei Bedarf automatisch an (bei Namenskollision automatisch durchnummeriert: staging, staging2, staging3, ...) und stößt den Klon über WP Toolkit an. Bei mehreren WordPress-Installationen auf derselben Domain muss site_url angegeben werden. WP Toolkit arbeitet den Klon im Hintergrund ab und meldet nur die ANNAHME zurück: Die Antwort sagt deshalb "angestoßen", nicht "angelegt", und die genannte Staging-Adresse ist zusammengesetzt, nicht abgerufen — weder Erreichbarkeit noch SSL-Zertifikat sind geprüft. Dem Kunden entsprechend sagen, dass er die Adresse in ein paar Minuten selbst aufrufen soll. Schlägt der Klon fehl, bleibt die bereits angelegte Subdomain absichtlich bestehen (sie wird nicht automatisch entfernt) — auch das gehört in die Antwort an den Kunden.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die Domain mit der zu kopierenden WordPress-Installation, z. B. example.de | |
| site_url | No | Bei mehreren WordPress-Installationen: welche gemeint ist | |
| subdomain_name | No | Gewünschter Name der Staging-Subdomain (Standard: "staging"). Erlaubt sind nur Buchstaben (Gross-/Kleinschreibung wird nicht unterschieden), Ziffern und Bindestrich — kein Punkt, kein Unterstrich. gültig: "staging", "test1", "test-kopie", "Staging" (Grossbuchstaben werden angenommen, nicht abgewiesen). abgewiesen: "test.example.de" (Punkt), "staging_kopie" (Unterstrich). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations: it discloses that the clone runs asynchronously and only an acceptance is returned, that the staging URL is composed rather than verified (no reachability or SSL check), that the customer should be told to check back, and that the subdomain intentionally persists if the clone fails. This is exactly the extra behavioral context annotations cannot carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the action, then the side effects and the required customer messaging. It is long, but nearly every sentence carries a distinct behavioral constraint; only slight tightening is possible.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description fully compensates by explaining what the response does and does not mean ('angestoßen' not 'angelegt') and what to communicate to the customer. Nothing an agent needs to call and interpret this tool is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3, but the description adds real semantics: automatic numbering on name collision (staging, staging2, ...) and the explicit rule that site_url is needed only with multiple installs on one domain. That exceeds what the schema alone conveys.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Erstellt eine Testkopie einer WordPress-Installation auf einer neuen Subdomain') plus the mechanism (WP Toolkit). No sibling tool does the same thing, so the agent can distinguish it immediately.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly gives the condition under which site_url is required ('Bei mehreren WordPress-Installationen auf derselben Domain'), which is genuine usage guidance. It does not name an alternative tool or a when-not-to-use case, but no close sibling exists to route against.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_support_ticketSupport-Ticket eröffnenAInspect
Eröffnet ein neues Support-Ticket. Auf maximal 5 Tickets pro Tag begrenzt, um versehentliche Mehrfach-Erstellung zu vermeiden.
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes | Nachrichtentext | |
| subject | Yes | Betreff des Tickets |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false and destructiveHint=false, so the write nature is already conveyed, but the description adds meaningful operational context: a hard cap of 5 tickets per day to prevent accidental duplicates. That rate limit is not derivable from the annotations or schema, so it earns credit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences with no waste: the action is front-loaded and the rate-limit caveat follows. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With annotations covering the mutation safety profile, a fully documented 2-parameter schema, and no output schema required, the description only needs to clarify purpose and constraints. It does so adequately, though it omits what the created ticket returns (e.g., ticket ID).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters (subject, message) are already documented in the schema. The description adds no syntax, format, or length constraints for these fields, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource combination ('Eröffnet ein neues Support-Ticket'), which clearly distinguishes it from siblings like close_support_ticket and reply_to_ticket by implication. It does not explicitly name those siblings, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit guidance on when to create a ticket versus closing, replying, or listing tickets. The rate-limit note implies caution but does not tell the agent which condition selects this tool over its siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_wordpress_backupWordPress-Backup erstellenAInspect
Erstellt ein neues On-Demand-WordPress-Backup (über WP Toolkit) — z. B. als Absicherung vor einem riskanten Plugin-Update. Rein additiv, kein Risiko für bestehende Daten. Bei mehreren WordPress-Installationen auf derselben Domain (Subdomains) muss site_url angegeben werden.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die Domain, z. B. example.de | |
| site_url | No | Bei mehreren WordPress-Installationen: welche gemeint ist (siehe Fehlermeldung mit den verfügbaren Werten) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state readOnlyHint=false and destructiveHint=false. The description adds meaningful context beyond annotations: 'Rein additiv, kein Risiko für bestehende Daten' and the site_url requirement for multiple installations. It still does not cover permissions, timing, or storage impact.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the core action, then use case, safety, and parameter condition. No redundant or filler text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter creation tool with no output schema, the description covers purpose, safety, and the main parameter nuance well. It could be more complete by mentioning how to check backup status afterward or any prerequisite that WordPress must already exist.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds extra semantic value by clarifying that site_url is required when multiple WordPress installations exist on the same domain, including subdomains.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Erstellt ein neues On-Demand-WordPress-Backup (über WP Toolkit)'. It distinguishes itself from siblings such as get_wordpress_backups, delete_wordpress_backup, and restore_wordpress_backup by naming the create action and the on-demand nature.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear concrete usage context: 'z. B. als Absicherung vor einem riskanten Plugin-Update'. However, it does not explicitly say when not to use it or name alternative tools for listing, restoring, or deleting backups.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_cronjobCronjob löschenADestructiveInspect
Löscht EINE geplante Aufgabe (Cronjob) einer Domain — der Weg zurück zu create_cronjob, etwa für eine falsch angelegte Aufgabe. Ändern kann dieses Werkzeug nichts: Dafür die alte Aufgabe löschen und mit create_cronjob eine neue anlegen. Die Kennung (cronjob_id) muss aus get_cronjobs stammen und wird serverseitig gegen die Aufgabenliste genau dieser Domain geprüft; eine geratene oder aus einer älteren Antwort übernommene Kennung wird abgewiesen, bevor irgendetwas gelöscht wird. Die Kennungen sind nicht stabil — vor dem Löschen get_cronjobs frisch abrufen und dem Kunden Befehl, Zeitplan und Beschreibung der Aufgabe nennen, die er löschen will, nicht nur die Zahl. Eine gelöschte Aufgabe lässt sich über dieses Werkzeug nicht wiederherstellen, nur neu anlegen; läuft an ihr etwas Wichtiges (wp-cron hält bei WordPress geplante Beiträge, Backups und Newsletter am Laufen), hört das sofort auf. Die Antwort sagt ausdrücklich, ob die Aufgabe nach dem Löschen wirklich aus der Liste verschwunden ist; ist die Liste danach nicht abrufbar, meldet sie das als ungeprüft statt als Erfolg.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die Domain, z. B. example.de | |
| cronjob_id | Yes | Kennung der geplanten Aufgabe, genau wie von get_cronjobs geliefert — keine geratene Zahl, und keine aus einer früheren Antwort |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only provide destructiveHint=true/readOnlyHint=false; the description goes far beyond by disclosing server-side ID validation against the domain's task list, rejection of guessed/stale IDs before any deletion, non-stable IDs, irreversibility, and the real-world consequence (wp-cron stops scheduled posts, backups, newsletters). It even describes the response contract, including honest reporting of 'ungeprüft' when the list cannot be re-read.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Dense but front-loaded: purpose, alternative, prerequisite, and warnings arrive in a logical order. Every sentence carries operational information, though the non-stable-ID/fresh-fetch warning is stated more than once, adding minor redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description compensates by describing the return behavior (explicit confirmation the task is gone, or 'ungeprüft' on failure). For a destructive, irreversible operation with two required params, nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description reinforces and extends the schema by explaining that cronjob_id is validated server-side against the task list of exactly this domain, and that the agent should announce the task's command/schedule/description to the customer rather than only the number.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Löscht EINE geplante Aufgabe (Cronjob) einer Domain') and immediately names the sibling it pairs with (create_cronjob). An agent can distinguish it from create_cronjob and get_cronjobs without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly frames the use case (recovering from a wrongly created task), states the alternative path for modification (delete + recreate via create_cronjob), and gives a hard prerequisite: fetch get_cronjobs freshly before deleting. When-to-use and when-not-to-use are both covered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_databaseDatenbank löschenADestructiveInspect
LÖSCHT eine MySQL-Datenbank samt Inhalt — der Weg zurück zu create_database und die folgenschwerste Aktion dieses Servers. DAS IST IRREVERSIBLER DATENVERLUST: Alles, was darin gespeichert ist, ist danach endgültig weg. Es gibt keinen Papierkorb, keine Rückgängig-Funktion und keinen Weg zurück — auch nicht über den turbopress-Support; create_database bringt nur eine LEERE Datenbank zurück. Bevor du das aufrufst: Sieh mit get_databases nach, wie groß die Datenbank ist und ob eine WordPress-Installation sie benutzt (dann liegen Beiträge, Seiten, Bestellungen und Benutzerkonten darin und die Website zeigt danach einen Datenbankfehler), nenne dem Kunden beides, und frage ausdrücklich nach einer eigenen Sicherung. Der Name wird serverseitig gegen die Datenbanken genau dieses Abonnements geprüft und dann über die Kennung aus dieser Liste gelöscht — eine geratene oder fremde Angabe erreicht das Hosting-System nicht. Die Antwort sagt ausdrücklich, ob die Datenbank danach wirklich aus der Liste verschwunden ist; war die Liste danach nicht abrufbar, meldet sie das als ungeprüft statt als Erfolg. War die Liste schon vorher nicht abrufbar, wird nichts gelöscht — das heißt dann NICHT, dass es die Datenbank nicht gibt.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die Domain, z. B. example.de | |
| database | Yes | Name der Datenbank, genau wie von get_databases geliefert. Vor dem Löschen frisch abrufen, nie einen Namen aus einer früheren Antwort oder aus dem Gedächtnis des Kunden verwenden. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only say destructiveHint=true; the description goes far beyond that, spelling out irreversibility, absence of trash/undo, the fact that support cannot recover it, the side effect on WordPress sites (posts/pages/orders/users, DB error on the site), server-side name validation against the subscription's databases, and the specific response semantics including the ungeprüft case when the list is unavailable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the verb, resource, and irreversible-loss warning; every subsequent sentence adds operative detail (prerequisites, validation, response behavior). It is long, and the emphasis-heavy capitalization is somewhat noisy, but no sentence is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a two-parameter destructive mutation with no output schema, the description covers the safety profile, prerequisites, side effects, name validation, and even the response's success/unverified distinction. An agent has everything needed to call it responsibly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3, but the description adds that the name is validated against this subscription's database list and deleted via its identifier, so a guessed or foreign name never reaches the hosting system, and it reinforces that the name must be freshly fetched from get_databases rather than recalled. That is meaningful semantics beyond the schema strings.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (löscht) and resource (MySQL-Datenbank) with scope (samt Inhalt) and explicitly names the sibling that is its inverse (create_database). An agent can distinguish this from create_database, delete_database_user, and delete_dns_record without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit preconditions: check size and WordPress usage with get_databases first, tell the customer both, and explicitly ask for an existing backup. It also names the alternatives and their limits (Papierkorb, Rückgängig, Support, create_database only returns an empty DB). That is a full when-to-use protocol, not just an implied one.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_database_userDatenbank-Benutzer löschenADestructiveInspect
Löscht einen Datenbank-Benutzer — der Weg zurück zu create_database_user. Hier gehen keine Daten verloren, sondern der ZUGANG zu ihnen: Jede Anwendung, die sich mit diesen Zugangsdaten anmeldet — eine WordPress-Installation, ein Shop, ein eigenes Skript —, kommt danach nicht mehr an die Daten und zeigt einen Datenbankfehler. Frage den Kunden vorher, ob noch etwas mit diesem Benutzer arbeitet; in WordPress steht er in der wp-config.php. Das Passwort kommt nicht zurück: Ein gleichnamiger neuer Benutzer bekommt ein neues, die alten Zugangsdaten leben nicht wieder auf. WAS NICHT GEMESSEN IST und deshalb auch nicht zugesichert werden darf: was mit der DATENBANK geschieht, an der der Benutzer hängt. Dass das Hosting-System für Datenbank und Benutzer getrennte Löschwege führt, legt nahe, dass die Datenbank bleibt — nachgemessen ist es nicht. Sage es genau so, statt es zu behaupten. Der Login wird serverseitig gegen die Datenbank-Benutzer genau dieses Abonnements geprüft und dann über die Kennung aus dieser Liste gelöscht; eine geratene oder fremde Angabe erreicht das Hosting-System nicht. War die Liste nicht abrufbar, wird nichts gelöscht — das heißt dann NICHT, dass es den Benutzer nicht gibt.
| Name | Required | Description | Default |
|---|---|---|---|
| user | Yes | Login des Datenbank-Benutzers. Rate keinen — frage den Kunden, wenn du ihn nicht sicher kennst. | |
| domain | Yes | Die Domain, z. B. example.de |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well past the destructiveHint annotation: explains that data is not lost but access is, that dependent apps will fail, that the password is unrecoverable and a same-named user gets a new one, and that if the user list could not be fetched nothing is deleted (which must not be misread as 'user does not exist'). It also explicitly flags the DB state as unmeasured and forbids asserting it — exactly the kind of honesty an agent needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the action and its inverse before the edge cases, and every paragraph carries real content (preconditions, irreversibility, failure semantics, unverified claims). It is nonetheless long for a two-parameter tool, with some emphatic repetition ('Sage es genau so, statt es zu behaupten') that could be tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive two-parameter tool with no output schema, the description covers preconditions, irreversibility, side effects on dependent applications, failure semantics, and the limits of what is verified. Nothing needed to invoke or interpret it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so both parameters are already documented, including the 'don't guess the login' warning in the schema itself. The description echoes that warning and adds the consequence that a guessed/foreign identifier never reaches the hosting system, but adds little beyond the schema baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Löscht einen Datenbank-Benutzer') and immediately positions it against its inverse sibling create_database_user. It further distinguishes itself from delete_database by clarifying that it deletes ACCESS, not the database itself, so an agent can route among the delete_* siblings without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear operational preconditions: ask the customer whether anything still uses the user, and check wp-config.php in WordPress. It names create_database_user as the reverse operation. It stops short of an explicit when-to-use/when-not routing rule (e.g. delete_database vs this), but the context is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_dns_recordDNS-Eintrag löschenADestructiveInspect
Löscht EINEN DNS-Eintrag einer Domain — der Weg zurück zu add_dns_record, etwa für einen falsch eingetragenen DKIM-, SPF- oder DMARC-Wert. Die Kennung (record_id) muss aus get_dns_records stammen und wird serverseitig gegen die Zone genau dieser Domain geprüft; eine geratene oder aus einer älteren Antwort übernommene Kennung wird abgewiesen, bevor irgendetwas gelöscht wird. Die Kennungen sind nicht stabil: vor dem Löschen get_dns_records frisch abrufen und dem Kunden Typ, Name und Wert des Eintrags nennen, den er löschen will. Ein gelöschter Eintrag lässt sich über dieses Werkzeug nicht wiederherstellen, nur mit add_dns_record neu anlegen — und ein fehlender SPF-, DKIM- oder MX-Eintrag kann Mailzustellung oder Erreichbarkeit der Website sofort beeinträchtigen. Die Antwort sagt ausdrücklich, ob der Eintrag nach dem Löschen wirklich aus der Zone verschwunden ist; ist die Zone danach nicht abrufbar, meldet sie das als ungeprüft statt als Erfolg.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die Domain, z. B. example.de | |
| record_id | Yes | Kennung des Eintrags, genau wie von get_dns_records geliefert — keine geratene Zahl, und keine aus einer früheren Antwort |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true, but the description adds substantially more: server-side validation of the record_id against the domain's zone before any deletion occurs, rejection of guessed/stale IDs, no undo via this tool, and the real-world impact of a missing SPF/DKIM/MX record. It also discloses response semantics (explicit confirmation of removal, or 'ungeprüft' when the zone can't be read).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action and the record_id provenance constraint, then layered with recovery and impact warnings. It is dense and somewhat repetitive against the schema's own record_id description, but every sentence carries operational value rather than filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, two-parameter tool with no output schema, the description covers prerequisites, safety consequences, irreversibility, the alternative tool, and how to interpret the response. Nothing an agent needs to call it safely is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds a constraint the schema does not: the ID is validated server-side against the zone of exactly this domain, and rejection happens before deletion. It does partially duplicate the schema's warning about guessed/stale IDs, keeping it below 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Löscht EINEN DNS-Eintrag einer Domain') and immediately frames itself as the inverse of add_dns_record with concrete examples (DKIM, SPF, DMARC). An agent can distinguish it from siblings like delete_cronjob or delete_database without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states the precondition (record_id must come from get_dns_records), warns that IDs are not stable and must be re-fetched before deleting, and names add_dns_record as the only path to recreate a deleted value. When-not-to-trust-stale-data and the customer-confirmation step are both spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_ftp_accountFTP-Zugang löschenADestructiveInspect
Löscht EINEN zusätzlichen FTP-Zugang einer Domain — der Weg zurück zu create_ftp_account, etwa wenn ein Zugang für einen Dienstleister nicht mehr gebraucht wird. Der Login muss aus get_ftp_accounts stammen und wird serverseitig gegen die Zugangsliste genau dieser Domain geprüft; ein geratener oder fremder Login wird abgewiesen, bevor irgendetwas gelöscht wird. Den HAUPTZUGANG (in get_ftp_accounts als "main_account" ausgewiesen) kann dieses Werkzeug nicht löschen: Er ist zugleich der SSH-Zugang des Hosting-Pakets und gehört fest dazu — eine Anfrage danach wird mit dieser Begründung abgewiesen. Nenne dem Kunden vor dem Löschen den Login UND sein Startverzeichnis (get_ftp_accounts zeigt beides): Ein Zugang mit Startverzeichnis "/" sieht alle Dateien des Hostings, nicht nur die dieser Domain. Ein gelöschter Zugang ist weg, nicht gesperrt — die alten Zugangsdaten funktionieren nicht mehr, und ein gleichnamiger neuer Zugang bekommt ein neues Passwort; das alte lebt nicht wieder auf. Die Antwort sagt ausdrücklich, ob der Zugang danach wirklich aus der Liste verschwunden ist; war die Liste danach nicht abrufbar, meldet sie das als ungeprüft statt als Erfolg. War die Liste schon vorher nicht abrufbar, wird nichts gelöscht — das heißt dann NICHT, dass es den Zugang nicht gibt.
| Name | Required | Description | Default |
|---|---|---|---|
| login | Yes | Login des zu löschenden FTP-Zugangs, genau wie von get_ftp_accounts geliefert — kein geratener Name, und nicht der Hauptzugang | |
| domain | Yes | Die Domain, z. B. example.de |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint=false and destructiveHint=true; the description goes well beyond by disclosing server-side validation of the login against the domain's own list, that a guessed login is rejected before anything is deleted, that deletion is permanent rather than a suspension, that the old password never revives, and that the response explicitly distinguishes 'removed' from 'unverified' and treats a pre-existing list outage as a no-op.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Long but densely packed and front-loaded: the destructive scope appears in the first clause, then validation, exclusions, permanence, and response semantics follow. Every sentence carries non-obvious information, though the warning about the start directory and main-account explanation could be trimmed slightly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation with no output schema, it covers everything an agent needs: prerequisites (login from get_ftp_accounts), refusal cases (main account, foreign/guessed login), irreversibility, and how the response reports success versus an unverifiable outcome. Nothing material is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3; the description nonetheless adds semantics the schema lacks — the login must originate from get_ftp_accounts and must not be the main account, and it explains why the start directory matters when confirming with the customer. This meaningfully complements the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a precise verb and resource with scope qualifier ('Löscht EINEN zusätzlichen FTP-Zugang einer Domain'), immediately distinguishing it from create_ftp_account, reset_ftp_password and the read-only get_ftp_accounts. An agent can identify the operation and its target without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly frames itself as the inverse of create_ftp_account with a concrete scenario (Dienstleister no longer needed), names get_ftp_accounts as the required source of the login, and states the hard exclusion (main_account cannot be deleted here, with the reason). When/when-not/alternative are all present.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_wordpress_backupWordPress-Backup löschenADestructiveInspect
Löscht ein einzelnes On-Demand-Backup einer WordPress-Installation, um Platz im Backup-Kontingent zu schaffen. Der Dateiname muss aus get_wordpress_backups stammen; ein erfundener Name wird serverseitig abgewiesen. Das gelöschte Backup lässt sich danach nicht mehr zurückspielen. Nach dem Löschen wird die Backup-Liste erneut gelesen und ausdrücklich gesagt, ob genau diese Datei darin verschwunden ist — steht sie weiterhin drin oder ist die Liste nicht abrufbar, meldet die Antwort das als ungeprüft statt als Erfolg. Dem Kunden deshalb immer den Satz aus der Antwort weitergeben, nicht "erledigt".
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die Domain, z. B. example.de | |
| filename | Yes | Dateiname des Backups, genau wie von get_wordpress_backups geliefert | |
| site_url | No | Nur nötig bei mehreren WordPress-Installationen auf der Domain |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag destructiveHint=true, and the description goes well beyond them: it warns the deletion is irreversible, discloses server-side filename validation, and details the post-delete verification behaviour (list is re-read; an unverifiable result is reported as 'ungeprüft' rather than success). This is unusually rich behavioural disclosure for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded and each sentence carries weight (prerequisite, irreversibility, verification semantics, client-communication instruction). It runs longer than typical, but the extra sentences encode genuinely non-obvious behaviour rather than filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive tool with no output schema, the description supplies exactly what an agent needs: irreversibility, filename provenance, and how to interpret the (self-described) response including the unverified case. Nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents domain, filename and site_url, and the description's filename guidance largely mirrors the schema text. Baseline 3 applies — the description adds intent but no new syntax or format detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Löscht) and a precisely scoped resource ('ein einzelnes On-Demand-Backup einer WordPress-Installation'), with the added motive (Platz im Backup-Kontingent). An agent can distinguish it from create_wordpress_backup, restore_wordpress_backup, and get_wordpress_backups without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear prerequisite — the filename must originate from get_wordpress_backups, and invented names are rejected server-side — plus the intent (free quota). It stops short of explicitly naming the alternative tools (restore vs. delete) or stating when not to delete, so it is strong context rather than full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deploy_beginWebsite-Deploy startenAInspect
Startet einen neuen Website-Deploy für eine Domain im Tarif turbopress AI Launch und liefert die deploy_id. Ablauf, immer in dieser Reihenfolge: 1) deploy_begin, 2) deploy_put_file für JEDE Datei der Website, 3) deploy_preview und dem Nutzer den Vorschau-Link zeigen, Warnungen nennen und ausdrücklich fragen, ob veröffentlicht werden soll, 4) deploy_publish ERST nach seiner ausdrücklichen Bestätigung. Erwartet wird fertiges, statisches HTML/CSS/JS mit relativen Pfaden und index.html als Startseite – kein Build-Step, kein React/JSX/Vue-Quellcode (Claude Design: Export → Standalone HTML). Formulare: action="/_tp/form.php" method="post", jedes Eingabefeld mit name-Attribut, optional für eine Danke-Seite; die Empfänger-Adresse mit set_contact_form festlegen. Bilder aus dem Netz mit deploy_import_asset übernehmen statt sie zu verlinken (Hotlinking); große Binärdateien nie als Base64 in deploy_put_file. Anleitung für den Nutzer: https://panel.turbopress.de/knowledgebase/171/Website-direkt-aus-Claude-oder-ChatGPT-veroffentlichen.html
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die Domain der Website im Tarif turbopress AI Launch, z. B. example.de |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations only declaring readOnlyHint=false and destructiveHint=false, the description carries the real burden and does so richly: it defines expected input (finished static HTML/CSS/JS, relative paths, index.html), forbids build steps and framework source, prescribes form markup conventions, and warns against hotlinking and base64 binary payloads.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose, then the numbered workflow, then constraints – a sensible order. It is dense and long for a single-parameter tool, with some convention detail (form fields, image import) that borders on sibling-tool territory, but nearly every sentence carries operational value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, yet the description states it returns the deploy_id, and it supplies prerequisites, sequencing, formatting rules and a user-facing help link. An agent has everything needed to call it and to drive the surrounding workflow correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single domain parameter, so the schema already documents it. The description adds the meaningful constraint that the domain must be on the turbopress AI Launch plan, which is not in the schema and materially affects valid usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (starts a new website deploy) and resource (domain under the turbopress AI Launch plan), and explicitly notes it returns the deploy_id. It is unmistakably distinguished from siblings deploy_put_file, deploy_preview and deploy_publish, which it names directly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides an explicit ordered workflow: 1) deploy_begin, 2) deploy_put_file for EVERY file, 3) deploy_preview plus showing the preview link and warnings, 4) deploy_publish only after explicit user confirmation. This tells the agent not just when to call this tool but how it sequences with alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deploy_gitGit-Anbindung verwaltenAInspect
Git-Anbindung einer Website im Tarif turbopress AI Launch: Bei jedem Push auf den eingestellten Branch eines GitHub- oder GitLab-Repositorys lädt turbopress den aktuellen Stand, prüft ihn und erstellt eine Vorschau (wie deploy_preview). action "get" zeigt die Einstellung samt Webhook-URL und Webhook-Secret und das Ergebnis des letzten Laufs; "set" richtet sie ein bzw. ändert sie (provider, repo als "besitzer/name", branch, optional subdir mit der fertigen Website, z. B. "dist"); "run" lädt den aktuellen Branch-Stand sofort; "remove" entfernt die Anbindung. Das Repository muss fertiges, statisches HTML enthalten (kein Build-Step). Nach "set" dem Nutzer Webhook-URL, Secret und die Anleitung (webhook_help) geben. Zugriffstokens für private Repositorys NIE im Chat erfragen – die trägt der Nutzer selbst im Kundenbereich ein. auto_publish=true (jeder Push geht ohne Freigabe live) nur setzen, wenn der Nutzer das ausdrücklich so will; sonst die Vorschau aus dem letzten Lauf zeigen und erst nach seiner Zustimmung deploy_publish mit dessen deploy_id aufrufen.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | No | Bei "set": Repository als "besitzer/name" bzw. "gruppe/projekt" | |
| action | Yes | "get" (Standard), "set", "run" oder "remove" | |
| branch | No | Bei "set": Branch, Standard "main" | |
| domain | Yes | Die Domain der Website im Tarif turbopress AI Launch, z. B. example.de | |
| subdir | No | Bei "set": Unterordner mit der fertigen Website, z. B. "dist"; leer = Repository-Wurzel | |
| provider | No | Bei "set": "github" oder "gitlab" (gitlab.com) | |
| auto_publish | No | Bei "set": true = jeder Push geht ohne Freigabe live. Nur auf ausdrücklichen Wunsch des Nutzers. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safety profile (readOnly=false, openWorld=true, destructive=false), and the description adds substantial context beyond them: the repo must contain finished static HTML with no build step, private-repo tokens must never be requested in chat, and auto_publish bypasses approval so it needs explicit consent. This is exactly the behavioral detail the structured fields cannot convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core concept and the four actions are front-loaded before the operational caveats. It is a long paragraph, but for a four-action tool with safety constraints most sentences earn their place; some of the parameter restatement is redundant with the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden and does so: it explains what 'get' returns (settings plus webhook URL, secret, and last-run result), the full lifecycle of the other actions, and the hand-off to deploy_publish. For a 7-parameter, four-action tool this is complete enough to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds value beyond the schema by giving concrete formats and defaults: repo as 'besitzer/name', subdir example 'dist' (empty = repo root), branch default 'main', and the semantics of auto_publish. It does not fully re-explain every parameter, which is fine since the schema handles them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource ('Git-Anbindung einer Website verwalten') and enumerates the four actions (get/set/run/remove) with what each does. It explicitly positions itself relative to siblings deploy_preview and deploy_publish, so an agent can distinguish it without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit when-to-use per action, names the alternative workflow (deploy_preview then deploy_publish with the deploy_id), and states a hard condition for auto_publish=true ('nur ... wenn der Nutzer das ausdrücklich so will'). Post-set follow-up (webhook_help, handing over URL and secret) is also prescribed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deploy_import_assetBild oder Datei aus dem Netz übernehmenAInspect
Lässt den Hosting-Server eine Datei selbst aus dem Netz laden und in einen offenen Deploy legen – für Bilder, Fonts oder PDFs, die auf der Website verwendet werden sollen. Statt große Dateien als Base64 mit deploy_put_file zu schicken oder Bilder von fremden Servern einzubinden (Hotlinking), immer dieses Tool verwenden. url muss eine öffentliche https-Adresse sein; path ist der Zielpfad in der Website (z. B. "img/team.jpg") und muss zur Dateiart passen (JPEG → .jpg, WebP → .webp, PNG → .png). Höchstens 10 MB. Danach im HTML auf "/" verweisen. Lizenz des Bildes vorher klären (eigene Bilder, Unsplash/Pexels-Lizenz o. ä.). Bilder von images.unsplash.com und images.pexels.com übernimmt deploy_publish auch automatisch.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Öffentliche https-Adresse der Datei | |
| path | Yes | Zielpfad in der Website, z. B. "img/hero.webp" | |
| domain | Yes | Die Domain der Website im Tarif turbopress AI Launch, z. B. example.de | |
| deploy_id | Yes | Die deploy_id aus deploy_begin (26 Zeichen) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag openWorldHint=true and destructiveHint=false, so the description focuses on operational traits: a 10 MB size cap, the https-public requirement, the file-type/extension match, and a license caveat. It does not say what happens to an existing file at the same path or whether the fetch can fail/timeout, which are the remaining gaps for a server-side network fetch.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose and the sibling it replaces, then constraints, then the post-step ('reference "/<path>" in HTML'). Dense but nearly every sentence earns its place; the license and unsplash notes are useful if slightly aside from the core instruction.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter mutation tool with no output schema, the description covers purpose, alternatives, input constraints, and the required follow-up action. Nothing an agent needs to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is already 100%, so the baseline is 3, but the description adds real constraint detail beyond the schema: url must be public https, path must match the file extension (JPEG→.jpg, WebP→.webp, PNG→.png), and the 10 MB size limit. This meaningfully sharpens how the two key params should be filled.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: the server fetches a file from the web and places it into an open deploy. It explicitly distinguishes itself from deploy_put_file (Base64 upload) and from hotlinking, so an agent can tell it apart from its closest siblings without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit when-to-use (importing images, fonts, PDFs for the website), names the alternatives it replaces (deploy_put_file, hotlinking) and states the rule 'always use this tool' for that case. It also carves out an exclusion: unsplash/pexels images are handled automatically by deploy_publish.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deploy_listVersionen der Website anzeigenARead-onlyInspect
Listet die Releases (Deploys) einer Website im Tarif turbopress AI Launch mit Zeitpunkt, Status und welches gerade live ist. Liefert die deploy_id, die deploy_rollback braucht. Aufbewahrt werden die letzten 10 veröffentlichten Releases; nicht veröffentlichte Deploys werden nach 24 Stunden entfernt.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die Domain der Website im Tarif turbopress AI Launch, z. B. example.de |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish the safe read profile (readOnlyHint=true, destructiveHint=false). The description adds genuinely useful behavioral context beyond that: the plan constraint (turbopress AI Launch) and a retention policy (last 10 published releases kept, unpublished deploys purged after 24 hours). It does not describe pagination or output format, keeping it from a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose and returned fields, followed by the integration point and retention rules. Every sentence earns its place with no filler, though the density of constraints makes it slightly heavier than necessary for a one-parameter list tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description carries the return burden and does so well: it names the fields returned (timestamp, status, live release) and the deploy_id. Combined with the retention policy and the rollback linkage, an agent has everything needed to call and interpret this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with a single required 'domain' parameter, so the schema already documents the parameter fully. The description reinforces the domain scope and plan tier but adds no syntax or format details beyond the schema. Baseline 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (listet) and resource (Releases/Deploys einer Website) and enumerates the returned fields (Zeitpunkt, Status, live status). It also differentiates itself among the deploy_* siblings by naming its consumer: 'Liefert die deploy_id, die deploy_rollback braucht.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear context for use — retrieve the deploy_id required by deploy_rollback — which tells the agent when this tool is the right call. It stops short of explicit exclusions or naming alternative listing tools, so it is not a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deploy_previewVorschau erstellenAInspect
Prüft einen offenen Deploy und stellt ihn unter einer Vorschau-Adresse bereit (https://.turbopress.cloud/, nicht öffentlich auffindbar) – die Live-Website bleibt unverändert. Nach dem Hochladen aller Dateien IMMER zuerst deploy_preview aufrufen, dem Nutzer den Vorschau-Link zeigen und die Warnungen aus dem Report nennen (insbesondere Impressum/Datenschutz, Felder ohne name, externe Dienste) und anbieten, sie zu beheben. Erst wenn der Nutzer die Vorschau ausdrücklich freigibt, deploy_publish aufrufen. BLOCKING im Report bedeutet: keine Vorschau – Probleme beheben, Dateien erneut hochladen, erneut deploy_preview. Die automatische Prüfung bindet Google Fonts, CDN-Bibliotheken und Stockfotos lokal ein und verdrahtet Formulare.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die Domain der Website im Tarif turbopress AI Launch, z. B. example.de | |
| deploy_id | Yes | Die deploy_id aus deploy_begin (26 Zeichen) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint=false and destructiveHint=false, so the description usefully adds that the live site stays unchanged, the preview is a non-public random URL, BLOCKING aborts the preview, and the automated check inlines Google Fonts/CDN/stock photos and wires forms. However, the description frames this as a read-ish check while readOnlyHint=false, and the side-effect of actually hosing files at a new URL is only implied, leaving a minor tension rather than a clear contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the purpose before the process guidance, and every sentence carries operational value (preview URL, warning categories, BLOCKING branch). It is dense and multi-sentence but not padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, yet the description compensates by describing what the report contains (Impressum/Datenschutz, fields without name, external services) and how BLOCKING should be handled. An agent has everything needed to call it and act on the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters (domain, deploy_id) are documented in the schema, including the deploy_id origin from deploy_begin. The description adds no syntax or format detail beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (prüft + stellt bereit) and resource (einen offenen Deploy) with a concrete outcome (preview URL) and explicitly contrasts with the live site and with deploy_publish. An agent can distinguish it from deploy_begin/deploy_publish without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit ordering (after uploading all files, ALWAYS call deploy_preview first), the follow-up actions (show link, name warnings, offer fixes), and the condition that gates the alternative (deploy_publish only after explicit user approval). Also handles the BLOCKING branch with clear remediation steps.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deploy_publishWebsite veröffentlichenADestructiveInspect
Prüft den Deploy und schaltet ihn live: Die neue Version ersetzt die aktuelle Website sofort. NUR aufrufen, nachdem der Nutzer die Veröffentlichung in diesem Gespräch ausdrücklich bestätigt hat (z. B. "ja, veröffentlichen") – nie automatisch nach dem Hochladen und nie ohne Rückfrage. Vor dem Live-Schalten läuft eine automatische Prüfung: Formulare werden an /_tp/form.php angebunden und mit Spamschutz versehen, eine einzelne HTML-Datei wird zu index.html. Die Antwort enthält einen Report: BLOCKING bedeutet, dass NICHTS veröffentlicht wurde – die Punkte beheben, betroffene Dateien erneut mit deploy_put_file hochladen und nach erneuter Bestätigung wieder deploy_publish aufrufen. WARNUNGEN (z. B. fehlendes Impressum/Datenschutz, Felder ohne name, fehlender Formular-Empfänger) dem Nutzer nennen und anbieten, sie zu beheben. Jede frühere Version bleibt erhalten und ist mit deploy_rollback wiederherstellbar.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die Domain der Website im Tarif turbopress AI Launch, z. B. example.de | |
| deploy_id | Yes | Die deploy_id aus deploy_begin (26 Zeichen) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the write/destructive profile, but the description adds substantial behavior beyond them: immediate replacement of the live site, automatic form rebinding and spam protection, the BLOCKING/WARNINGS report semantics, and the rollback guarantee. It also warns that a blocked run publishes nothing, which is critical for correct agent behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the core action and the mandatory user-confirmation gate before operational detail, and every sentence covers a distinct need (confirmation, auto-checks, error recovery, warnings, rollback). It is longer than a simple tool warrants, but for a destructive publish operation the length is justified rather than padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers the full lifecycle an agent needs: precondition, what happens during the automatic check, interpretation of BLOCKING versus WARNINGS, the recovery flow, and reversibility via deploy_rollback. With no output schema, the description still explains the response report adequately.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both parameters, so the schema already documents domain and deploy_id, including the deploy_begin origin. The description adds no format, constraints, or meaning beyond what the schema provides, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('schaltet ihn live', 'ersetzt die aktuelle Website sofort') and clearly distinguishes itself from siblings like deploy_preview and deploy_rollback. An agent can tell exactly what this tool does without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit precondition ('NUR aufrufen, nachdem der Nutzer ... ausdrücklich bestätigt hat'), explicit exclusions ('nie automatisch nach dem Hochladen und nie ohne Rückfrage'), and a recovery path naming deploy_put_file and a renewed confirmation. This is about as complete as usage guidance gets.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deploy_put_fileDatei hochladenAInspect
Lädt eine Datei in einen offenen Deploy (aus deploy_begin). Pro Datei ein Aufruf; Bilder aus dem Netz stattdessen mit deploy_import_asset laden (nicht hotlinken), große Binärdateien nie als Base64. eine Datei erneut hochzuladen überschreibt sie. path ist relativ zur Website-Wurzel (z. B. "index.html", "css/style.css", "img/logo.webp"): nur A–Z, a–z, 0–9, Punkt, Unterstrich, Bindestrich und "/", keine Umlaute oder Leerzeichen, keine versteckten Dateien (außer .well-known/), nichts unter _tp/. Erlaubt sind nur statische Dateitypen (html, css, js, json, svg, png, jpg, webp, avif, gif, ico, woff2, woff, ttf, otf, txt, xml, webmanifest, pdf, mp4, webm …) – keine .php- oder .htaccess-Dateien. Text (HTML, CSS, JS, SVG) mit encoding "utf8", Binärdateien (Bilder, Fonts, PDF) mit encoding "base64". Höchstens 1 MB pro Aufruf; große Bilder vorher verkleinern. Veröffentlicht NICHTS – das macht erst deploy_publish nach Bestätigung durch den Nutzer.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Pfad relativ zur Website-Wurzel, z. B. "css/style.css" | |
| domain | Yes | Die Domain der Website im Tarif turbopress AI Launch, z. B. example.de | |
| content | Yes | Dateiinhalt: Text bei encoding "utf8", Base64 bei encoding "base64" | |
| encoding | No | "utf8" (Standard) für Text, "base64" für Binärdateien | |
| deploy_id | Yes | Die deploy_id aus deploy_begin (26 Zeichen) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations: it warns that re-uploading overwrites the file, that it publishes nothing, and lays out path rules (charset, no umlauts/spaces, hidden-file exception for .well-known/, no _tp/), allowed file types, encoding mapping, and a 1 MB per-call limit. This is the behavioral context an agent needs for a mutating staging write.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose and sibling routing, then constraints. It is long, but essentially every clause carries a hard rule (charset, extensions, size, encoding) with no filler; a slightly tighter phrasing of the path examples could trim it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-param staging upload tool with no output schema, the description covers purpose, alternatives, mutation semantics, validation constraints, and the fact that it does not publish. Nothing an agent needs to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3, but the description adds real meaning: concrete path syntax and examples, allowed character set, and the utf8/base64 encoding-to-content mapping with a size cap. It enriches the enum and content parameters rather than just restating them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific verb+resource+scope: loads a file into an open deploy (created by deploy_begin). It explicitly distinguishes itself from siblings by naming deploy_import_asset for web images and deploy_publish for publication.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
States one call per file, routes web images to deploy_import_asset ('nicht hotlinken'), forbids large binaries as Base64, and clarifies that publishing is deploy_publish's job after user confirmation. When-to-use and when-to-use-alternatives are both explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deploy_rollbackFrühere Version wiederherstellenADestructiveInspect
Schaltet eine früher veröffentlichte Version der Website wieder live (atomarer Tausch, ohne Ausfall). deploy_id aus deploy_list verwenden. Vorher mit dem Nutzer klären, welche Version gemeint ist, und seine Bestätigung einholen – die aktuell live geschaltete Version wird dabei ersetzt (bleibt aber erhalten).
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die Domain der Website im Tarif turbopress AI Launch, z. B. example.de | |
| deploy_id | Yes | Die deploy_id aus deploy_begin (26 Zeichen) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnly=false and destructive=true. The description adds that the swap is atomic, causes no downtime, and that the currently live version is replaced but preserved. These are meaningful behavioral details beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the action and key behavior, then the parameter source, then the user-confirmation requirement. No fluff, though the final clause slightly mixes confirmation and preservation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive rollback tool with no output schema, the description covers purpose, key behavior, and usage prerequisites. The only gap is the conflicting deploy_id source, which is a significant inconsistency.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already defines both parameters. The description adds that deploy_id comes from deploy_list, but the schema says it comes from deploy_begin, creating a contradiction that could mislead the agent about where to obtain the required ID.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Schaltet eine früher veröffentlichte Version ... wieder live') with the resource (Website) and adds atomic-swap/no-downtime scope. It references deploy_list for the deploy_id, but it does not explicitly distinguish itself from sibling tools like restore_wordpress_backup or deploy_publish.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a clear prerequisite: before rolling back, clarify with the user which version is meant and obtain confirmation. However, it does not state when not to use this tool or name alternative tools for comparison.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
diagnose_websiteWebsite diagnostizierenARead-onlyInspect
Aggregiert alle relevanten Signale einer Domain (live: HTTP-Erreichbarkeit, SSL, Speicherplatz, Datenbanken, fatale PHP-Fehler aus dem Fehlerprotokoll; aus dem letzten Report: Security, DNS, CloudLinux, WordPress) zu EINER priorisierten Hauptdiagnose statt vieler Einzelantworten. Ideal für "meine Seite ist kaputt/langsam, was ist los?" statt mehrere Tools einzeln aufzurufen. Das Protokoll wird im Moment der Abfrage gelesen und nach "PHP Fatal error" und "PHP Parse error" durchsucht, gemeldet werden nur Treffer aus den letzten 48 Stunden — eine Protokolldatei umspannt Monate, ältere Zeilen sind kein aktuelles Problem. Kein Treffer heißt also "nichts in diesem Zeitraum", nicht "nie ein Fehler"; ältere nennt die Antwort im Fußtext. War das Protokoll nicht lesbar, sagt die Antwort das ausdrücklich — dann ist ein PHP-Fehler offen, nicht ausgeschlossen. Andere Meldungen (Warnungen, Hinweise) oder ein eigenes Suchmuster: search_domain_error_log.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die Domain, z. B. example.com |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, but the description adds substantial context beyond them: the log is read at query time, only hits from the last 48 hours are reported, a no-hit result means 'nothing in this window' not 'never an error', older hits appear in the footer, and an unreadable log is explicitly flagged. These are exactly the operational caveats an agent needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core aggregation purpose in the first sentence, followed by the ideal use case. Subsequent sentences about the 48h window and unreadable-log behavior earn their place, though the passage is dense and could be slightly tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by describing what the response contains (a prioritized main diagnosis, footer with older errors, explicit unreadable-log notice). Combined with the rich behavioral caveats, an agent has enough to call and interpret the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
One parameter (domain) with 100% schema coverage and an example ('example.com'), so the schema already carries the semantics. The description adds no format or syntax detail beyond what the schema provides, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific function: aggregating all relevant domain signals (live HTTP/SSL/storage/databases/PHP fatals + report-based security/DNS/CloudLinux/WordPress) into ONE prioritized main diagnosis. It explicitly contrasts with the pattern of calling many individual tools, so an agent can distinguish it from siblings like get_website_report or get_security_status without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a concrete use case ('meine Seite ist kaputt/langsam, was ist los?') and explicitly says to use this instead of calling multiple tools individually. It also names the alternative (search_domain_error_log) for cases outside its scope (other message types or a custom search pattern).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fix_https_redirectHTTPS-Weiterleitung reparierenAInspect
Aktiviert (Standard) oder deaktiviert die automatische HTTP→HTTPS-Weiterleitung für eine Domain. Behebt das von diagnose_website/get_website_report gemeldete Finding "kein HTTPS-Redirect" direkt, statt es nur anzuzeigen. Reversibel und betrifft nur diese eine Einstellung. Vor dem EINSCHALTEN wird per echtem TLS-Handshake gemessen, ob die Domain aktuell ein gültiges, auf sie lautendes Zertifikat ausliefert: Ohne eines würde nach dem Einschalten jeder http-Aufruf auf einer Zertifikatswarnung landen statt auf der Seite — das wird deshalb abgelehnt (fehlendes, abgelaufenes oder fremdes Zertifikat), mit dem Hinweis, zuerst create_ssl_certificate zu nutzen. Lässt sich die Messung nicht durchführen (Handshake kommt nicht zustande), wird ebenfalls abgelehnt, aber mit eigener Begründung: Das ist WEDER ein Beleg für ein fehlendes NOCH für ein vorhandenes Zertifikat. force=true übergeht diese Prüfung bewusst (z. B. wenn das Zertifikat unmittelbar danach ausgestellt wird). Abschalten wird nie geprüft. Der gesetzte Zustand wird nach dem Schreiben aus Plesk zurückgelesen; gelingt das nicht, sagt die Antwort, dass der genannte Zustand der gewünschte und nicht der gemessene ist.
| Name | Required | Description | Default |
|---|---|---|---|
| force | No | Die Zertifikatsprüfung vor dem Einschalten übergehen (Standard: false) — nur setzen, wenn der Kunde die Weiterleitung ausdrücklich auch ohne gültiges Zertifikat will; Besucher sehen dann ggf. eine Zertifikatswarnung statt der Seite | |
| domain | Yes | Die Domain, z. B. example.de | |
| enabled | No | true (Standard) = Weiterleitung aktivieren, false = deaktivieren |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds rich behavioral detail beyond the annotations: reversibility, single-setting scope, real TLS handshake validation before enabling with specific rejection reasons, deliberate force bypass, no validation on disable, and read-back from Plesk with fallback messaging if read-back fails. This is exactly the kind of context annotations cannot carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Although lengthy, the description is front-loaded with the core operation and every sentence carries unique operational detail (TLS validation, rejection cases, force bypass, read-back behavior). No filler, and the complexity justifies the size.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the mutation nature, lack of an output schema, and multi-step validation logic, the description covers all essential aspects: prerequisites, failure modes, bypass option, and response behavior. An agent has everything needed to invoke and interpret the result correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters (domain, enabled, force) are already documented in the schema. The description adds some nuance about force bypassing the TLS check, but it largely reiterates what the schema provides, so the baseline 3 for high schema coverage applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (enable/disable) and resource (automatic HTTP→HTTPS redirect for a domain), and names the finding it resolves. It references diagnose_website/get_website_report as the source of the finding and create_ssl_certificate as a prerequisite, clearly distinguishing itself from generic redirect siblings like redirect_domain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use (to fix a reported 'no HTTPS redirect' finding), prerequisites (a valid TLS certificate, otherwise use create_ssl_certificate first), rejection conditions for missing/expired/foreign certificates and failed handshakes, the force=true bypass, and that disabling requires no check. Alternatives and when-not conditions are clearly covered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_backup_statusBackup-Status anzeigenARead-onlyInspect
Ruft den Stand der nächtlichen Gesamtsicherung des Servers ab (Datum, Status und Alter der letzten Sicherung), die diese Domain mit umfasst. Das ist KEINE Sicherung speziell dieser Domain: gesichert wird die gesamte Konfiguration und der gesamte Inhalt des Servers, der gemeldete Wert ist deshalb für alle Domains auf demselben Server identisch. Davon zu unterscheiden: get_wordpress_backups und create_wordpress_backup betreffen die WP-Toolkit-Backups einer einzelnen WordPress-Installation — geht es um das Sichern oder Zurückholen einer einzelnen Seite, sind diese zuständig, nicht dieses Werkzeug. Liegt kein auswertbarer Wert vor, wird das ausdrücklich als Messausfall gemeldet; daraus folgt NICHT, dass keine Sicherung existiert. Stammt aus dem einmal täglich aktualisierten turbocheck-Bericht (Zeitstempel in der Antwort).
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die Domain, z. B. example.com |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the read-only/safe profile, but the description adds substantial context beyond them: the value is server-wide and identical across domains, a non-parsable value is reported as a measurement failure (not as 'no backup exists'), and the data originates from a once-daily turbocheck report with a timestamp in the response.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and the key caveat (server-wide, not domain-specific) are front-loaded, and each sentence carries distinct information. It is somewhat dense and emphatic (capitalized KEINE/NICHT), but nothing is genuinely redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description covers the return fields, the failure/missing-value semantics, and the data freshness source. An agent needs nothing more to call and correctly interpret this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema coverage the baseline is 3, but the description adds real meaning to the domain parameter by clarifying that the returned value is server-wide and therefore identical for every domain pointing at the same server, so the agent knows the parameter does not scope the result.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (abrufen) and resource (Stand der nächtlichen Gesamtsicherung des Servers), including the concrete returned fields (Datum, Status, Alter). It explicitly marks itself as NOT a per-domain backup, which separates it from the WordPress backup siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly names the alternatives get_wordpress_backups and create_wordpress_backup and the selecting condition: single-site backup or restore goes there, not here. This is a clear when-to-use/when-not-to-use split rather than inferred guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_cloudlinux_statusRessourcen-Limits anzeigenARead-onlyInspect
CloudLinux/LVE-Ressourcenlimits einer Domain abrufen (Überschreitungen bei CPU, Speicher, Prozessen, I/O). Stammt aus dem einmal täglich aktualisierten turbocheck-Bericht — die Zähler gehören zur letzten Erhebungsperiode, nicht zum Moment der Abfrage; eine Drosselung von vorhin taucht ggf. erst nach dem nächsten Durchlauf auf.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die Domain, z. B. example.com |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare the safe-read profile, but the description adds a genuinely important behavioral trait beyond them: the data is refreshed once daily, counters reflect the last polling period rather than the query moment, and a recent throttling may not surface until the next run. That freshness caveat materially changes how an agent should interpret and report results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences with the capability front-loaded and the caveat second, and the parenthetical metric list earns its space. It is slightly dense but nothing is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does some of the return-value work by naming the limit dimensions and overages, and it fully covers data freshness. It does not describe the response structure or whether limits and current usage are returned separately, which is the main remaining gap for a tool with no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with a single well-described domain parameter, so the schema already carries the parameter burden. The description implies the domain scoping ("einer Domain") but adds no format or validation detail beyond the schema's "z. B. example.com".
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ("abrufen") and resource (CloudLinux/LVE-Ressourcenlimits) scoped to a single domain, and enumerates the metric families returned (CPU, Speicher, Prozesse, I/O). An agent can distinguish this from siblings like get_performance_alerts or get_webspace_usage without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the data's provenance and staleness (daily turbocheck report, counters from the last collection period), which implicitly tells the agent when the result is trustworthy. However, it never names an alternative tool or states a when-not-to-use condition, so selection guidance remains inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_cronjobsCronjobs anzeigenARead-onlyInspect
Zeigt die geplanten Aufgaben (Cronjobs) einer Domain — Plesk "Geplante Aufgaben". Jede Zeile beginnt mit der Kennung, genau der Zahl, die delete_cronjob als cronjob_id erwartet. Die Kennungen sind NICHT stabil: Ein neu angelegter Cronjob kann eine frei gewordene Kennung wiederverwenden, deshalb vor einem Löschen frisch abrufen und nie eine Kennung aus einer früheren Antwort verwenden. Eine Aufgabe kann abgeschaltet sein — dann steht das in ihrer Zeile, und sie läuft nicht, obwohl sie eingerichtet ist; gib das ungekürzt weiter. War die Liste nicht abrufbar, sagt die Antwort genau das: Behaupte dann nie, es gebe keine Cronjobs.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die Domain, z. B. example.de |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, yet the description adds non-obvious traits: identifiers are not stable and can be recycled by newly created jobs, tasks may be present but disabled, and failures are reported explicitly rather than as an empty list. This is genuinely supplemental context beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded in the first clause, followed by distinct operational warnings with no filler. Every sentence contributes a separate, actionable fact (ID instability, disabled state, failure semantics).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description carries the return-shape burden — and it does: rows begin with the identifier, disabled status appears inline, and unavailable lists are self-declaring. Combined with the mutation-safety warning tied to delete_cronjob, the agent has everything needed to call and interpret this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a single well-documented `domain` parameter, so the schema carries parameter semantics. The description adds meaning about the output shape (row-leading Kennung = cronjob_id) but nothing about the input parameter format itself, matching the baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Zeigt die geplanten Aufgaben (Cronjobs) einer Domain") and anchors it to the Plesk concept "Geplante Aufgaben". It also distinguishes itself from create_cronjob/delete_cronjob by naming delete_cronjob's expected cronjob_id, making the read-vs-write boundary explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete when-to-use rules: re-fetch immediately before deleting, never reuse an ID from an earlier response, and forward disabled-task state verbatim. It also handles the negative case (list unavailable → do not claim there are no cronjobs).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_databasesDatenbanken anzeigenARead-onlyInspect
Liste der Datenbanken einer Domain live von Plesk abrufen (Namen immer aktuell, auch direkt nach create_database). Größenangaben stammen aus dem letzten turbocheck-Bericht und fehlen für Datenbanken, die seither angelegt wurden.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die Domain, z. B. example.com |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint=true, destructiveHint=false). The description adds genuinely non-obvious behavioral context: names are live but size figures come from the last turbocheck report and are absent for newly created databases, which tells an agent to distrust missing sizes rather than treat them as an error.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly packed sentences with zero waste; the data-source caveat is attached directly to the operation description rather than padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully explains what comes back (names vs. sizes) and the staleness caveat for sizes. It stops just short of describing structure or ordering, but covers the key pitfall an agent would otherwise trip on.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single 'domain' parameter, so the schema carries the parameter semantics. The description adds no format or syntax detail beyond the schema, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: retrieves the list of databases for a domain, live from Plesk. It clarifies the relationship to create_database and is easily distinguished from siblings like get_domains or create_database.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated – the mention that names are current 'even directly after create_database' signals a use case, but no alternatives are named and there is no explicit when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_dns_recordsDNS-Einträge anzeigenARead-onlyInspect
DNS-Zone-Records einer Domain live von Plesk abrufen. Jede Zeile beginnt mit der Kennung des Eintrags — genau die Zahl, die delete_dns_record als record_id erwartet. Die Kennungen sind nicht stabil: Sie werden neu vergeben, wenn ein Eintrag angelegt oder gelöscht wird, und gehören deshalb unmittelbar vor einem Löschen frisch abgerufen.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die Domain, z. B. example.com |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds real behavioral value beyond that: data is fetched live from Plesk, each row is prefixed with the identifier, and IDs are reassigned on create/delete, which affects correct usage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, all front-loaded and purposeful: purpose, output shape, then the instability caveat that drives correct timing. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only list tool with no output schema, the description discloses the key structural fact (rows are prefixed with the record identifier) and a critical timing constraint. It stops short of describing all returned fields or pagination, but covers what an agent needs to pair this with the delete tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single 'domain' parameter, so the schema already documents it (with an example format). The description adds no additional parameter syntax or constraints, so this lands at the baseline for high-coverage schemas.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (abrufen) and resource (DNS-Zone-Records einer Domain) and scopes it as a live read from Plesk. It also positions itself relative to the sibling delete_dns_record by explaining which value feeds that tool's record_id, so an agent can distinguish it from get_dns_security or add_dns_record.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear operational rule: fetch fresh immediately before deleting because identifiers are not stable. That is strong context-specific guidance, though it doesn't explicitly enumerate when to prefer this over other DNS-related siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_dns_securityMail-Sicherheit im DNS prüfen (SPF, DKIM, DMARC)ARead-onlyInspect
DNS-Mail-Sicherheitseinstellungen einer Domain abrufen (SPF/DKIM/DMARC/MX). Stammt aus dem einmal täglich aktualisierten turbocheck-Bericht (Zeitstempel in der Antwort) — gerade erst gesetzte Records erscheinen ggf. erst nach dem nächsten Durchlauf. Für sofort verlässliche DNS-Daten stattdessen get_dns_records nutzen (live von Plesk).
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die Domain, z. B. example.com |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark it as read-only and non-destructive, but the description adds important behavioral context: the data is sourced from a once-daily turbocheck report, the response includes a timestamp, and recent record changes may be delayed. This goes well beyond the structured annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the tool's purpose, then adds the freshness caveat and the alternative in a compact way. Every sentence earns its place and nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple one-parameter schema, read-only annotations, and no output schema, the description provides everything needed: what is retrieved, when cached data may lag, and which sibling to use for live results. No critical invocation detail is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the single domain parameter is already documented in the schema. The description implies the domain input but adds no syntax or format detail beyond what the schema provides, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource: retrieve a domain's DNS mail security settings, explicitly listing SPF, DKIM, DMARC and MX. It also distinguishes the tool from the sibling get_dns_records by naming that alternative for live data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly explains when to use this tool: for data from the daily turbocheck report, with the caveat that newly set records may not appear until the next run. It names the explicit alternative get_dns_records for immediately reliable live DNS data.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_domain_redirectsDomain-Weiterleitungen anzeigenARead-onlyInspect
Listet die Domain-Weiterleitungen, die auf eine Domain zeigen — welche andere Domain also auf diese hier weiterleitet, mit Kennung und mit dem, was daran hängt. Das lesende Gegenstück zu redirect_domain und die Voraussetzung für remove_domain_redirect. Anzugeben ist die Domain MIT dem Hosting, also das ZIEL der Weiterleitung (bei "alte-domain.de leitet auf neue-domain.de" ist das neue-domain.de). Je Eintrag steht dabei, ob über die weiterleitende Domain nur Web-Aufrufe laufen oder auch E-MAIL an dieselben Postfächer — Letzteres ist der Standard beim Einrichten und geht beim Aufheben mit verloren; das gehört in jede Antwort an den Kunden. Eine leere Liste ist eine abgerufene Auskunft ("es leitet keine Domain hierher"); war die Liste dagegen nicht abrufbar, meldet die Antwort das ausdrücklich als Messausfall — daraus darf NIE "es gibt keine Weiterleitung" werden. STAGING-KOPIEN erscheinen im Hosting-System als dieselbe Art Eintrag und werden deshalb mitgelistet, aber ausdrücklich als Staging gekennzeichnet: Das sind Testumgebungen, keine vom Kunden eingerichteten Weiterleitungen, und remove_domain_redirect hebt sie nicht auf. Unterschieden wird am Namen; ein Feld, das beides sicher trennt, gibt es nicht — bei Unklarheit nicht raten.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die Domain MIT dem Hosting, also das Ziel der Weiterleitung, z. B. neue-domain.de |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover only the safety profile (readOnly, non-destructive), yet the description adds substantial behavior: email running over the redirecting domain is lost on removal by default, an empty list is a valid answer while an unfetchable list is an explicit outage that must never be read as 'no redirects', and staging copies appear but are not removable by remove_domain_redirect.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Dense and front-loaded with the core purpose before the caveats, and every sentence carries operational value (direction, email loss, empty-vs-outage, staging). It is long, but the length is justified by the number of distinct edge cases rather than padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read tool with annotations already covering safety and no output schema, the description covers the intended answer shape, the empty-result semantics, failure semantics, and the staging ambiguity plus the caution not to guess. Nothing an agent needs to call and interpret it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description meaningfully reinforces the counterintuitive direction of the single argument with a concrete 'alte-domain.de leitet auf neue-domain.de' scenario, reducing the risk of passing the wrong domain.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: lists the domain redirects pointing to a given domain, with ID and attached data. It explicitly positions itself against siblings, naming redirect_domain as the writing counterpart and remove_domain_redirect as the follow-up, so an agent can distinguish it without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says when to use it (read counterpart to redirect_domain, prerequisite for remove_domain_redirect) and which domain to pass, including a worked example clarifying that the argument is the TARGET of the redirect, not the source. This is exactly the kind of when/when-not routing an agent needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_domainsDomains anzeigenARead-onlyInspect
Den vollständigen Domainbestand des Kunden abrufen: sowohl die bei turbopress registrierten Domains (mit Ablaufdatum, Registrar-Status und Auto-Renew) als auch die Domains, die bei turbopress gehostet, aber bei einem anderen Anbieter registriert sind. Eine Domain ohne Ablaufdatum ist deshalb kein Fehler, sondern woanders registriert; Test-Subdomains (.trial.turbopress.de) werden nie registriert und haben ebenfalls kein Ablaufdatum. Gehostete Domains lassen sich mit allen übrigen Werkzeugen bearbeiten, unabhängig davon, wo sie registriert sind. Je gehosteter Domain stehen außerdem Tarifart und WordPress-Stand da: WordPress-Werkzeuge (Updates, Plugins, Staging, WordPress-Backups, Cache, Härtung) nur für Domains mit WordPress verwenden bzw. anbieten; Domains im Tarif AI Launch sind statische Websites ohne WordPress/PHP – dort nur lesen und für Änderungen an der Website die deploy_-Werkzeuge nutzen.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered; the description goes further by explaining anomalies in the returned data (missing expiry = registered elsewhere, trial subdomains never registered) and that all other tools may edit hosted domains regardless of registrar. It stops short of stating rate limits or result shape, but the added interpretive context is substantial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose is front-loaded in the first clause, and most sentences carry actionable meaning (registrar vs. host, trial subdomains, WordPress-vs-AI-Launch routing). It is a dense single paragraph in German with slightly overlapping clauses, so it is efficient but not maximally tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no parameters, the description must itself explain what comes back, and it does: registrar status, expiry/auto-renew, hosting tariff, and WordPress presence per domain, plus how to interpret edge cases. An agent can call it and interpret the result correctly without further context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema cannot carry parameter meaning and there is nothing to describe; the baseline of 4 applies. No parameter-related confusion is possible.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource ('Den vollständigen Domainbestand des Kunden abrufen') and immediately scopes it into the two categories it covers (turbopress-registered vs. hosted-but-registered-elsewhere). It also enumerates the per-domain attributes returned (Ablaufdatum, Registrar-Status, Auto-Renew, Tarifart, WordPress-Stand), so an agent distinguishes this from get_wordpress_sites or get_dns_records without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It routes the agent downstream explicitly: WordPress tools only for domains with WordPress, and for AI Launch (static, no PHP) domains use the deploy_* tools. It also pre-empts a misread of the result ('a domain without expiry date is not an error'). What is missing is explicit guidance on when to call get_domains versus e.g. get_wordpress_sites or get_hosting_packages as the starting point.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_email_accountsE-Mail-Postfächer anzeigenARead-onlyInspect
E-Mail-Konten einer Domain auflisten (live von Plesk): Adresse, Speicherkontingent, eingerichtete WEITERLEITUNG und ALIASE. Das ist das lesende Gegenstück zu set_email_forwarding und set_email_alias — vorher war über den Chat nicht zu sehen, wohin die Post eines Postfachs geht oder unter welchen weiteren Adressen es erreichbar ist. Steht bei einem Konto keine Weiterleitung, ist das eine abgerufene Auskunft ("es ist keine eingerichtet"), keine fehlende Angabe; dasselbe gilt für Aliase. Das Weiterleitungsziel zeigt häufig auf eine FREMDE Domain und wird genau so ausgegeben, wie es eingetragen ist.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die Domain, z. B. example.com |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered, but the description adds real operational context: data is live from Plesk, an absent forwarding is an affirmative 'none configured' answer rather than missing data, and forwarding targets are emitted verbatim even for foreign domains. It doesn't discuss pagination or freshness/rate limits, keeping it below a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the verb and returned fields, then layers semantic caveats. Mildly verbose — the aside about what chat previously couldn't show is historical justification rather than actionable instruction — but each sentence still carries usable meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the return-value burden and does so by listing the exact fields returned plus how empty forwarding/alias values should be interpreted. Nothing essential for correct invocation is missing for a one-parameter read tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Single required 'domain' parameter with 100% schema description coverage ('Die Domain, z. B. example.com'), so the schema already carries the meaning. The description adds no format or scoping detail beyond what the schema states, which is the baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('E-Mail-Konten einer Domain auflisten') and enumerates the returned fields (Adresse, Speicherkontingent, Weiterleitung, Aliase). It explicitly positions itself against siblings set_email_forwarding and set_email_alias as their read counterpart, so an agent can distinguish it without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Names the write siblings it complements and describes the gap it closes ('wohin die Post eines Postfachs geht'). This gives clear context for when to reach for it, though it stops short of explicit when-not-to-use conditions or comparison with other read tools like get_email_status.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_email_statusE-Mail-Versandstatus anzeigenARead-onlyInspect
E-Mail-Versandstatus einer Domain abrufen (gesendet/gebounced/verzögert heute). Gezählt wird nur AUSGEHENDE Post dieser Domain — an sie zugestellte Mail erscheint nicht in diesen Zahlen. Stammt aus dem einmal täglich aktualisierten turbocheck-Bericht (Zeitstempel in der Antwort) — Ereignisse seit dem letzten Durchlauf fehlen noch. War das Mailprotokoll beim Berichtslauf nicht lesbar, sagt die Antwort das ausdrücklich und nennt keine Zahlen; das ist dann KEIN "nichts versendet". Die hängengebliebenen Mails kommen aus der Warteschlange und sind davon unabhängig.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die Domain, z. B. example.com |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare the safe-read profile; the description adds substantial behavioral context: data is from a once-daily turbocheck report with a timestamp, events since the last run are absent, incoming mail is excluded, and an unreadable log yields an explicit message rather than a misleading zero. It also separates stuck-queue mails from these figures.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded in the first clause, followed by tightly packed caveats that each add non-obvious information. It is dense and slightly long, but no sentence is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, yet the description explains what is returned (counts by category plus a timestamp) and the critical edge cases around missing data. For a single-parameter read tool this is complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single 'domain' parameter, so the schema already carries the parameter meaning. The description adds domain scoping semantics (counts only outgoing mail of that domain), which is useful but not a substitute for additional syntax detail. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource (retrieving a domain's email sending status) and enumerates the exact categories reported (gesendet/gebounced/verzögert heute). No sibling tool covers this resource, so the agent can identify it immediately.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied through the scope constraints (outgoing mail only, daily report, current day), which tells the agent when the numbers are meaningful, but no alternative tool or when-not-to-call condition is named. Adequate but leaves routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_ftp_accountsFTP-Zugänge anzeigenARead-onlyInspect
FTP-Zugänge einer Domain auflisten (live von Plesk): den Hauptzugang des Abonnements (der Login aus der Willkommens-Mail — sein Passwort kann der Chat nicht zurücksetzen, es ist zugleich das SSH-Passwort und wird in Plesk geändert) und die zusätzlich angelegten Zugänge mit Startverzeichnis. Letztere liefern den Login, den reset_ftp_password braucht — Kunden kennen ihren FTP-Benutzernamen meist nicht auswendig. Dass es keine ZUSÄTZLICHEN Zugänge gibt, ist ein normaler Zustand, kein Fehler; ganz ohne FTP-Zugang ist eine Domain mit Abonnement nie.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die Domain, z. B. example.de |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond readOnlyHint/destructiveHint, the description discloses that data is read live from Plesk, that the main account's password is the SSH password and cannot be reset via chat (must be changed in Plesk), and that zero additional accounts is a normal state. These are exactly the operational caveats annotations cannot express.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action, then layered caveats; every clause carries information an agent needs (password reset limitation, normal-state clarification). The long parenthetical makes it dense but not wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by describing what is returned (main login plus additional accounts with start directory) and by pre-empting the most likely misinterpretation of an empty result. Nothing needed to call or interpret this tool is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter ('domain') and schema description coverage is 100%, so the schema already carries the semantics. The description adds no syntax, format or scope detail about the domain parameter. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('FTP-Zugänge einer Domain auflisten') and immediately splits the result into two distinct classes: the subscription's main account and the additionally created accounts with start directory. This lets an agent distinguish it from create_ftp_account, delete_ftp_account and reset_ftp_password without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly routes the agent: the additional accounts supply the login that reset_ftp_password requires, and it warns that customers rarely know their FTP username. It also defuses a false error signal ('no additional accounts is normal'). It stops short of naming the sibling tools it is not (create/delete), so it is strong context rather than a full when/when-not matrix.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_hosting_packagesHosting-Pakete anzeigenARead-onlyInspect
Listet die bei turbopress verfügbaren Hosting-Pakete mit Preis und Kurzbeschreibung (öffentlicher Produktkatalog, unabhängig vom eigenen Vertrag).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds valuable context beyond annotations: it specifies that the catalog is public and independent of the user's own contract, and it describes the return fields ('mit Preis und Kurzbeschreibung'). This helps the agent understand both access scope and output content.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the action and resource, then adds a crucial scope clarification in parentheses. Every element earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, no output schema, annotations covering safety), the description is complete: it explains what is listed, the fields returned, and the public/contract-independent nature. No additional behavioral details are necessary for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the description does not need to explain parameter semantics. The baseline of 4 applies because there are no parameters to document and the schema is empty.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Listet') and resource ('Hosting-Pakete'), and adds a scope qualifier ('öffentlicher Produktkatalog, unabhängig vom eigenen Vertrag') that clearly distinguishes it from sibling tools that retrieve the user's own resources. An agent can immediately tell this tool is for browsing available packages, not managing owned services.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The parenthetical note 'öffentlicher Produktkatalog, unabhängig vom eigenen Vertrag' provides clear context for when to use this tool: to see available offerings rather than the user's contract-specific data. However, it does not name any alternative tool (e.g., prepare_hosting_order) or explicitly state when not to use it, so it stops short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_hotlink_protectionHotlink-Schutz anzeigenARead-onlyInspect
Liest den Hotlink-Schutz EINER Domain (live aus dem Hosting-System): ob er an ist, welche Dateiendungen geschützt sind und welche Fremddomains trotzdem einbinden dürfen. Das lesende Gegenstück zu set_hotlink_protection und der einzige Weg, eine Änderung daran nachzuprüfen. Vor jedem Setzen sinnvoll, weil eine angegebene Liste die bisherige ERSETZT: Hier steht, was mitgeschickt werden muss, damit nichts verschwindet. Die Domain wird serverseitig gegen die Verträge genau dieses Kunden gehalten — eine fremde wird abgewiesen, bevor irgendetwas gelesen wird. Zwei Dinge sind beim Weitergeben wichtig: (1) Das Hosting-System gibt seine Antwort doppelt aus; nennen die beiden Hälften für ein Feld UNTERSCHIEDLICHE Werte, meldet die Antwort das als widersprüchlich und nennt bewusst keinen Wert — dann auch selbst keinen raten. (2) Eine LEERE Liste ("keine Einträge") und ein NICHT GELESENES Feld sind zwei verschiedene Auskünfte: Was die Antwort als "nicht gelesen" meldet, heißt nicht "leer" und nicht "aus", und darf dem Kunden nicht so weitergegeben werden.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die Domain, z. B. example.de |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only cover the safety profile (readOnly/destructive), so the description adds substantial new behavior: live read from the hosting system, server-side domain validation against this customer's contracts, handling of a duplicated/contradictory upstream response, and the critical distinction between an empty list and a field that was never read. These are non-obvious traits an agent cannot derive from structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose and the set/verify relationship, and the two downstream caveats are clearly numbered. It is longer than typical and the parenthetical asides add bulk, but every sentence carries operational content rather than filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must describe returns — and it does: state, protected extensions, permitted foreign domains, plus explicit guidance on how to report contradictory or unread values. Given the single required parameter and absent output schema, an agent has everything needed to call and interpret this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema itself is thin (just an example format), so the baseline would be 3. The description adds real semantics beyond it: the domain must belong to this customer and a foreign domain is rejected before anything is read. It does not, however, discuss case handling, subdomain vs apex matching, or validation-error behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a precise verb+resource ('Liest den Hotlink-Schutz EINER Domain') and enumerates exactly what is read: on/off state, protected file extensions, and allowed foreign domains. It explicitly positions itself against the sibling set_hotlink_protection as its read counterpart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit when-to-use ('Vor jedem Setzen sinnvoll') with the concrete reason that a set list REPLACES the existing one, and names the alternative read route ('der einzige Weg, eine Änderung daran nachzuprüfen'). Nothing about selection is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_invoicesRechnungen anzeigenARead-onlyInspect
Rechnungen des Kunden abrufen. Die Liste ist bewusst ein Ausschnitt: ALLE offenen Rechnungen (Unpaid, Payment Pending, Collections; höchstens 100) und zusätzlich die 25 neuesten abgeschlossenen (bezahlt, storniert, erstattet, Entwurf) — ältere abgeschlossene Rechnungen fehlen in der Liste. Die Antwort nennt deshalb immer die Gesamtzahl aller Rechnungen sowie Anzahl und Summe GETRENNT für offen und bezahlt; diese Zahlen gelten für den gesamten Bestand. Fragen nach Gesamtbeträgen ("wie viel habe ich bezahlt?", "was ist noch offen?") ausschließlich aus diesen Summen beantworten und niemals die aufgelisteten Zeilen aufaddieren. Storno, Erstattung und Entwurf stehen nur mit ihrer Anzahl da, weil eine Summe über gemischte Status nichts aussagt. Rechnungen ohne Rechnungsnummer werden mit ihrer Beleg-ID genannt; unter dieser ID findet der Kunde sie im Kundencenter wieder. Entwürfe sind noch nicht gestellte Rechnungen und nicht zu zahlen.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Die Annotations decken nur readOnly/destructive ab. Die Beschreibung liefert entscheidende zusätzliche Informationen: die Liste ist bewusst gefiltert (alle offenen + 25 neueste abgeschlossene), was fehlt, und dass die Gesamtzahlen den vollen Bestand abbilden. Das ist essentiell für korrekte Antworten.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Der Text ist recht lang, aber jeder Satz trägt wichtige Informationen (Filter, Gesamtzahlen, ID-Hinweis, Entwurfserklärung). Die Front-loading ist gegeben, aber die Länge könnte für manche Agenten abschreckend wirken.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Das Tool hat keine Parameter und kein Output-Schema; die Beschreibung erklärt vollständig, was zurückgegeben wird (Liste plus Gesamtzahlen) und wie diese zu interpretieren sind. Es fehlt nichts Wesentliches.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Es gibt keine Parameter, daher Baseline 4. Die Beschreibung definiert dennoch die Semantik der Rückgabewerte (Summen, Zählungen), was für ein parameterloses Tool wertvoll ist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Der erste Satz nennt klar Verb (abrufen) und Ressource (Rechnungen des Kunden). Der Rest grenzt den Umfang präzise ab und unterscheidet das Tool so von allen anderen get_*-Tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Es wird explizit gesagt, wann welche Zahlen zu verwenden sind ('Fragen nach Gesamtbeträgen ... ausschließlich aus diesen Summen beantworten und niemals die aufgelisteten Zeilen aufaddieren'). Das ist eine seltene, sehr hilfreiche Anweisung für die korrekte Nutzung.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_outdated_pluginsVeraltete Plugins anzeigenARead-onlyInspect
Listet WordPress-Plugins und -Themes mit verfügbarem Update (Version aktuell → verfügbar) — gelesen direkt auf der Installation und deshalb auch unmittelbar nach einem gerade ausgeführten Update richtig. Genauer als der reine Zähler aus get_wordpress_status — zeigt konkret, welche Plugins/Themes betroffen sind. Jeder Eintrag nennt den Anzeigenamen; der Slug steht in Klammern dabei, KANN ABER FEHLEN (null) — dann liess sich der vom Plugin gemeldete Slug nicht gegen das erwartete Zeichenmuster bestätigen, und dieser Eintrag ist für update_wordpress_item/set_wordpress_plugin_state nicht nutzbar. An update_wordpress_item und set_wordpress_plugin_state gehört IMMER der Slug, nie der Anzeigename — er lässt sich aus dem Namen auch nicht ableiten.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die Domain, z. B. example.de |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish a safe read (readOnlyHint=true, destructiveHint=false), and the description adds substantial context: it reads directly from the installation so results are correct even right after an update, and it warns that the slug field can be null and, when null, the entry is unusable for update_wordpress_item/set_wordpress_plugin_state. This materially exceeds what the annotations convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and differentiator are front-loaded, then the slug caveat. The paragraph is dense but each sentence carries distinct, actionable information; only slightly long.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description carries the return-shape burden and does so precisely (display name plus slug in parentheses, slug may be null). Combined with the upstream accuracy note and downstream tool dependency, an agent has everything needed to call and use the result correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Single parameter ('domain') is fully documented in the schema (100% coverage), so the description need not explain it. The description adds no syntax or format detail beyond the schema's own 'z. B. example.de' example, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb+resource ('Listet WordPress-Plugins und -Themes mit verfügbarem Update') and distinguishes itself from the sibling get_wordpress_status by noting it is more precise than that tool's counter. An agent can separate it from the update/state tools immediately.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly contrasts with the alternative get_wordpress_status ('Genauer als der reine Zähler...') and gives the selecting condition: use this when you need to know which specific plugins/themes are affected. It also routes the agent forward by stating which tools consume the output and that they require the slug.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_performance_alertsPerformance-Warnungen anzeigenARead-onlyInspect
Beantwortet "hat die Überwachung zuletzt etwas gemeldet?" — die OFFENEN Warnungen der laufenden turbometrics-Überwachung (z. B. TTFB über der Schwelle, visuelle Regression, fehlgeschlagener Scan), also Ereignisse über die Zeit, keine Momentaufnahme und keine Messwerte. Die Zahlen einer Messung stehen in get_performance_findings, der zwischengespeicherte Gesamtwert in get_performance_score. Eine leere Liste wird nicht pauschal als Entwarnung ausgegeben: Die Antwort unterscheidet "überwacht, nichts offen", "Domain wird gar nicht überwacht" und "nicht ermittelbar".
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die Domain, z. B. example.com |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered structurally. The description adds genuine behavioral context beyond that: an empty result is not a blanket all-clear and the response distinguishes 'monitored/nothing open', 'domain not monitored at all', and 'not determinable'. It does not describe alert object structure or freshness/staleness of the events, so it stops short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the question it answers, then scope, then alternatives, then the empty-list caveat — a logical order with no filler. It is somewhat dense and the final sentence about the three empty-list states is long, though it earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does the important work of explaining what an empty list means and that three distinct states can be returned. It still leaves the shape/freshness of individual alert entries unaddressed, which an agent inspecting results would want.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Single required parameter 'domain' with 100% schema description coverage, so the schema already carries the semantics and the baseline is 3. The description adds no domain format, scoping, or permission nuance beyond what the schema states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource — the OPEN alerts of the running turbometrics monitoring — and pins down the scope ('Ereignisse über die Zeit, keine Momentaufnahme und keine Messwerte'). It explicitly distinguishes itself from the sibling tools get_performance_findings (measurement numbers) and get_performance_score (cached overall score).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Opens with the question the tool answers ('hat die Überwachung zuletzt etwas gemeldet?') and then routes the agent to the two alternatives by naming what they return instead. The when-to-use condition and the when-to-use-something-else conditions are both explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_performance_findingsPerformance-Befunde anzeigenARead-onlyInspect
Beantwortet "was genau bremst meine Seite?" — die Einzelbefunde des ZULETZT TATSÄCHLICH GELAUFENEN turbometrics-Scans, mit Handlungsempfehlung je Punkt (Bilder, JS-Last, Caching, Server-Antwortzeit) und dem Gesamtwert eben dieses Scans. Die Scanliste wird dafür im Moment der Abfrage gelesen, ein über start_performance_scan angestoßener Lauf erscheint hier also als erstes; der zwischengespeicherte Wert aus dem nächtlichen Bericht steht dagegen in get_performance_score, weshalb beide Zahlen auseinanderliegen können. Kennt turbometrics die Domain nachweislich nicht, sagt die Antwort das als fehlende Aktivierung. Ließ sich das nicht ermitteln, sagt sie GENAU DAS — ein solcher Messausfall ist weder "nicht aktiviert" noch eine Entwarnung. Offene Warnungen aus der laufenden Überwachung: get_performance_alerts.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die Domain, z. B. example.com |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only cover safety (readOnly/destructive=false); the description adds real behavioural context beyond that: the scan list is read live at query time (hence ordering effects), the two numbers can diverge, missing domain knowledge is reported as missing activation, and — importantly — an indeterminate measurement is reported as exactly that, explicitly warning the agent not to read it as 'not activated' or as an all-clear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core question it answers, then layers in the sibling distinctions and failure semantics. Nearly every sentence earns its place, though the conversational framing adds some length for a single-parameter read tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read tool with no output schema, the description covers purpose, sibling boundaries, live-read timing effects, and the three-way outcome semantics (findings / not activated / indeterminate) that an agent needs to interpret the response correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter (domain) and schema description coverage is 100%, so the schema already carries the meaning. The description adds no format or syntax detail about the domain argument, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: the itemised findings (Einzelbefunde) of the LAST ACTUALLY RUN turbometrics scan, each with a recommended action, plus that scan's overall value. It also names the two siblings it is not — get_performance_score (cached nightly value) and get_performance_alerts (open monitoring warnings).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly explains the condition under which this differs from get_performance_score, notes that a run triggered via start_performance_scan will appear here first, and routes the agent to get_performance_alerts for open warnings. When/when-not/alternatives are all present.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_performance_scorePerformance-Bewertung anzeigenARead-onlyInspect
Beantwortet "wie ist mein Wert?" mit EINER Zahl je Bereich (Gesamt, Speed, Bilder, Caching, WordPress, Technik, Time-to-First-Byte). Quelle ist ausschließlich der einmal täglich erstellte turbocheck-Bericht, nicht turbometrics selbst: die Antwort nennt den Berichtsstand UND den Zeitpunkt des darin enthaltenen Scans, und beide liegen regelmäßig einen Tag auseinander. Ein über start_performance_scan angestoßener Lauf steht hier erst nach dem nächsten nächtlichen Durchlauf. Wer den zuletzt wirklich gelaufenen Scan will, nimmt get_performance_findings — dessen Zahl kann deshalb von dieser abweichen, ohne dass eine der beiden falsch ist. Fehlt der Wert, meldet die Antwort einen fehlenden Messwert: das ist KEINE Aussage über die Geschwindigkeit und kein Beleg, dass nie gescannt wurde.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die Domain, z. B. example.com |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, and the description adds substantial non-obvious context: the source is a once-daily report rather than live data, the report date and the embedded scan timestamp are routinely one day apart, and a missing value means 'no measurement' rather than slow or never-scanned. That is exactly the kind of freshness/caveat disclosure annotations cannot express.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the answer to 'what does it return', then the source and freshness caveats. It is dense for a one-parameter read tool and slightly repetitive in restating the routing, but every sentence carries real information, so it is not padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only, single-parameter, no-output-schema tool, the description covers purpose, source, freshness semantics, sibling routing, and the meaning of missing values. Nothing an agent needs to call it correctly or to interpret the result is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single required parameter (domain) with 100% schema description coverage, so the schema already documents it. The description adds nothing about the domain format beyond the schema's own example, so the baseline 3 for fully-covered params is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (returns one score per area) and enumerates the areas (Gesamt, Speed, Bilder, Caching, WordPress, Technik, TTFB). It also names the data source (daily turbocheck report) and explicitly distinguishes itself from get_performance_findings and start_performance_scan, so an agent can tell it apart from siblings without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit when-to-use routing: use this for the scored daily value, use get_performance_findings for the last actually-run scan, and a start_performance_scan run only appears here after the next nightly pass. It also explains that divergence between the two tools' numbers is expected and not an error.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_php_versionsPHP-Versionen anzeigenARead-onlyInspect
Liest für EINE Domain die eingestellte PHP-Version und die Versionen, die auf ihrem Server wählbar sind (live aus dem Hosting-System). Das lesende Gegenstück zu switch_php_version — und der Weg, die Frage "Welche PHP-Versionen gibt es?" zu beantworten. Die wählbaren Werte ("8.4") sind genau die, die switch_php_version annimmt. Meldet die Antwort einen Wert als nicht lesbar, heißt das nicht "keine" — dann nichts raten und keinen Wechsel zum Ausprobieren anstoßen.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die Domain, z. B. example.de |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already carry the safety profile (readOnlyHint=true, destructiveHint=false), so the bar is lower. The description still adds real context: data is read live from the hosting system, the returned selectable values ('8.4') map exactly to what switch_php_version accepts, and an unreadable value must not be interpreted as 'none'. Return format/pagination is not covered, keeping it at 4 rather than 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded correctly: what it reads first, then its relation to switch_php_version and the question it answers, then the edge-case warning. Every clause carries operational value despite the dense em-dash style.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only, single-parameter tool with annotations already covering the safety profile and no output schema, the description supplies everything needed: purpose, sibling routing, value-format contract with switch_php_version, and a failure-mode warning.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single domain parameter is fully documented in the schema (including the 'example.de' example). The only description-level addition is emphasizing the single-domain scope ('für EINE Domain'), which is marginal. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource with scope ('Liest für EINE Domain die eingestellte PHP-Version und die Versionen, die auf ihrem Server wählbar sind') and explicitly names its sibling counterpart switch_php_version. An agent can distinguish it from switch_php_version and every other get_* tool without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Names the exact alternative (switch_php_version) and the condition selecting this one, plus the question it answers ('Welche PHP-Versionen gibt es?'). It even gives when-not guidance: if a value is reported unreadable, don't guess and don't trigger a trial switch.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_security_statusSicherheitsstatus anzeigenARead-onlyInspect
Sicherheitsstatus einer Domain abrufen (Malware-Funde, Schwachstellen, offen erreichbare Dateien). Stammt aus dem einmal täglich aktualisierten turbocheck-Bericht (Zeitstempel in der Antwort) — "keine Funde" bedeutet nur, dass der letzte Bericht nichts gefunden hat, nicht dass gerade aktiv geprüft wurde. Für den Härtungsstand von WordPress selbst stattdessen get_wordpress_hardening verwenden.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die Domain, z. B. example.com |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only carry the safety profile (readOnly, non-destructive); the description adds genuinely new behavioral context: the data comes from a once-daily turbocheck report, the response contains a timestamp, and "keine Funde" is explicitly warned not to mean an active scan just ran. This freshness caveat prevents a real misinterpretation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose, then the freshness caveat, then the alternative-tool pointer, in three tight sentences with no filler. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only status tool with full schema coverage and annotations covering safety, the description supplies the data source, staleness semantics, and sibling routing. Nothing an agent needs in order to call it correctly and interpret the result is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter (domain) and schema description coverage is 100%, so the schema already documents it ("Die Domain, z. B. example.com"). The description adds no syntax or format detail beyond that, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb ("abrufen") plus resource ("Sicherheitsstatus einer Domain") with the concrete contents enumerated (Malware-Funde, Schwachstellen, offen erreichbare Dateien). It also explicitly distinguishes itself from the sibling get_wordpress_hardening, so an agent can route correctly without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
States when to use it and names the alternative explicitly ("Für den Härtungsstand von WordPress selbst stattdessen get_wordpress_hardening verwenden"). The condition selecting the alternative is spelled out, leaving nothing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_spam_filterSpamfilter anzeigenARead-onlyInspect
Liest die Spamfilter-Einstellung EINES Postfachs (live aus dem Hosting-System): ob der Filter an ist, ab welcher Punktzahl eine Nachricht als Spam gilt, was mit erkanntem Spam geschieht, die Kennzeichnung im Betreff und die Sperr-/Freigabelisten. Das lesende Gegenstück zu set_spam_filter und der einzige Weg, eine Änderung daran nachzuprüfen. Anzugeben ist die Domain und die Adresse des Postfachs; sie wird serverseitig gegen die Postfächer genau dieses Hosting-Pakets gehalten — eine geratene oder fremde Adresse wird abgewiesen, bevor irgendetwas gelesen wird. Zwei Dinge sind beim Weitergeben wichtig: (1) Was mit Spam geschieht, gibt das Hosting-System ANDERS aus, als es gesetzt wird; die Antwort übersetzt das für die gemessenen Fälle und benennt einen unbekannten Wert ausdrücklich als nicht deutbar — dann diesen Wert dem Kunden nennen und NICHT auslegen. (2) Meldet die Antwort einen Punkt als "nicht gelesen", heißt das nicht "leer" und nicht "aus" — es konnte nur nichts ermittelt werden, und genau so gehört es dem Kunden gesagt.
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | Das Postfach — die volle Adresse (z. B. info@example.de) oder nur der lokale Teil (z. B. "info"). Muss ein Postfach DIESER Domain sein; die Schreibweise zeigt get_email_accounts. | ||
| domain | Yes | Die Domain, z. B. example.de |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint=true/destructiveHint=false, but the description adds substantial behavioral context: it reads live from the hosting system, validates the address server-side against mailboxes of exactly this hosting package, and rejects guessed/foreign addresses before reading anything. It further warns that the spam-action value is output differently than it is set, and that a 'nicht gelesen' marker means neither 'empty' nor 'off' — both high-value disclosure beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded in the first clause, followed in a logical order by the sibling relationship, the inputs/validation, then the two caveats. It is dense and somewhat long, but each sentence carries operational value; nothing is redundant filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description carries the burden and does so well: it enumerates what the response contains and explains two non-obvious output-format traps (differently-encoded spam action, and the 'nicht gelesen' state). An agent has everything needed to call it and to relay results accurately.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds validation semantics beyond the schema: the address is checked server-side against mailboxes of this hosting package, and a guessed or foreign address is rejected before any read occurs. That meaningfully extends the two documented parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Liest die Spamfilter-Einstellung EINES Postfachs') and enumerates the fields returned (on/off, score threshold, spam action, subject tag, block/allow lists). It explicitly positions itself against the sibling 'set_spam_filter', so an agent can distinguish the read side from the write side without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Names the counterpart tool ('Das lesende Gegenstück zu set_spam_filter') and the condition that selects it ('der einzige Weg, eine Änderung daran nachzuprüfen'). It also states the required inputs (Domain und Adresse des Postfachs), leaving nothing to inference for correct invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_ssl_statusSSL-Status anzeigenARead-onlyInspect
SSL-Zertifikatsstatus einer Domain live prüfen (echter TLS-Handshake, kein Cache): Aussteller, abgedeckte Namen (SANs) und verbleibende Gültigkeit. Ob Auto-Renew konfiguriert ist, kann nicht ermittelt werden.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die Domain, z. B. example.com |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds meaningful traits beyond them: a real TLS handshake with no cache, and an explicit limitation that auto-renew status is not retrievable. This is genuine behavioral context, though it says nothing about failure/timeout behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly-packed sentences with the core scope front-loaded ('live prüfen') and the key limitation last. No filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read-only status check with full schema coverage and annotations covering the safety profile, this is complete. It even describes the return content (issuer, SANs, validity) despite having no output schema, and sets correct expectations about the auto-renew limitation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single 'domain' parameter is fully documented in the schema (including the example.com example). The description adds no format or syntax detail beyond what the schema already provides, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('SSL-Zertifikatsstatus einer Domain live prüfen') and enumerates the returned content (Aussteller, SANs, verbleibende Gültigkeit). It clearly distinguishes itself from siblings like create_ssl_certificate or get_dns_security by being a live read of an existing certificate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for use (live status check of an existing certificate) and adds a useful boundary — that auto-renew configuration cannot be determined — which steers the agent away from expecting that from this tool. It does not, however, name specific alternative tools for those other needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_storage_breakdownSpeicherbelegung aufschlüsselnARead-onlyInspect
Aufschlüsselung des belegten Speicherplatzes einer Domain: Gesamtbelegung gegen die Quota (live aus Plesk), Aufteilung nach Posten (Web-Dateien, Datenbanken, Mailboxen, Logs) sowie alle Datenbanken mit Größe und Overhead. Beantwortet "Was frisst meinen Speicherplatz?" — für die reine Frage "Wie voll ist es?" reicht get_webspace_usage.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die Domain, z. B. example.com |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds real context beyond that — the data is fetched live from Plesk, and the scope is one domain — but it says nothing about response size, latency, or whether the numbers are cached. With annotations carrying the safety profile, a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense sentence enumerates the payload, then a short second sentence routes to the alternative — zero filler and the scope is front-loaded. It is a little list-heavy, but every clause maps to a real output section rather than padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description compensates well by naming the returned sections (quota comparison, item breakdown, database sizes with overhead). It stops short of describing ordering, pagination, or units (bytes vs MB), which an agent would still have to discover at call time.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single required parameter with 100% schema description coverage ("Die Domain, z. B. example.com"), so the schema fully documents it. The description adds no format, wildcard, or ID-vs-hostname nuance beyond what the schema already states. Baseline 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ("Aufschlüsselung des belegten Speicherplatzes einer Domain") and enumerates the exact contents: total vs quota, breakdown by web files/databases/mailboxes/logs, plus per-database size and overhead. It explicitly distinguishes itself from the sibling get_webspace_usage, so an agent can choose between them without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit decision rule and names the alternative: the diagnostic question "Was frisst meinen Speicherplatz?" is this tool, while the plain "Wie voll ist es?" is served by get_webspace_usage. Nothing is left to inference about when to prefer which.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_support_ticketsSupport-Tickets anzeigenARead-onlyInspect
Eigene Support-Tickets auflisten (zeigt max. die letzten 20 Tickets), oder mit ticket_id den vollen Thread eines einzelnen Tickets abrufen. ticket_id bezieht sich auf die in der Liste angezeigte interne "Ticket-ID", NICHT auf die kundensichtbare Ticketnummer (#12345).
| Name | Required | Description | Default |
|---|---|---|---|
| ticket_id | No | Die in der Ticketliste angezeigte interne Ticket-ID (nicht die Ticketnummer) für die Detailansicht |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds useful behavior beyond that: the list is capped at the last 20 tickets, ticket_id returns the full thread, and the ID is the internal ticket ID rather than the customer-facing ticket number. Auth and response format are not covered, but the added context is meaningful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the no-parameter list mode, then the parameterized detail mode, then the ID clarification. Every sentence earns its place and the structure matches how an agent would decide whether to pass ticket_id.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with one optional parameter, full schema coverage, and safety annotations, the description covers the meaningful gaps: list cap, detail behavior, and internal-vs-public ID semantics. It could mention whether the 20-ticket limit is paginable, but no output schema means return-shape detail is less critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema already describes ticket_id as the internal ID from the ticket list, not the ticket number. The description reinforces this with a concrete example (#12345), but adds little beyond the schema's own parameter description, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (Support-Tickets auflisten/abrufen), the scope (eigene, max. letzte 20), and two distinct modes: list view or full thread via ticket_id. The dual-mode framing makes it clearly distinct from sibling tools like create_support_ticket, reply_to_ticket, and close_support_ticket.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly explains when to omit ticket_id (list own tickets, capped at 20) versus when to include it (retrieve the full thread of a single ticket). It also gives a crucial usage nuance about which ticket ID to pass, though it does not name alternatives or state when the tool should not be used.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_webmail_urlWebmail-Link abrufenARead-onlyInspect
Bildet die Webmail-Zugangsadresse einer Domain nach dem üblichen Schema (https://webmail./). Das ist keine Messung: Es wird nicht geprüft, ob der Host im DNS existiert oder ein gültiges Zertifikat hat — bei externem DNS ohne webmail-Eintrag kann die Adresse im Browser nicht auflösen.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die Domain, z. B. example.com |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only and non-destructive behavior. The description adds important behavioral context beyond annotations: it explicitly warns that the URL is generated without checking DNS existence or certificate validity, and that it may not resolve with external DNS lacking a webmail entry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly written sentences with zero waste. The purpose is front-loaded and the important caveat follows immediately, making it easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, but the description makes clear that the tool returns a constructed webmail URL and explains its limitations. For a one-parameter, read-only utility, nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the single 'domain' parameter is already documented. The description adds the URL construction pattern, which clarifies how the parameter is used, but does not add constraints or format details beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: constructs the webmail access address for a domain, including the exact URL scheme. It is clearly distinguishable from sibling read/status tools because it only generates a URL rather than measuring or verifying anything.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when the tool is appropriate and explicitly states a key when-not condition: it is not a measurement and does not verify DNS or certificates. It does not, however, name an alternative tool to use when verification is actually needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_website_reportWebsite-Bericht abrufenARead-onlyInspect
Zusammenfassenden turbocheck-AI-Statusbericht (Fließtext mit allen Findings) für eine Domain abrufen. Stammt aus dem einmal täglich aktualisierten turbocheck-Bericht (Zeitstempel in der Antwort) — der Bericht beschreibt den Stand des letzten Durchlaufs, nicht den Moment der Abfrage; eine Veränderung von heute früh steht noch nicht darin. Für gezielte Fragen zu Backup, WordPress, Sicherheit, DNS oder Performance stattdessen die jeweiligen spezialisierten Tools verwenden (get_backup_status, get_wordpress_status, get_security_status, get_dns_security, get_performance_score, get_storage_breakdown).
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die Domain, z. B. example.com |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Die Annotationen belegen nur readOnly/destructive=false. Die Beschreibung ergänzt wesentliche Verhaltensdetails: Der Bericht stammt aus einem einmal täglich aktualisierten Lauf, enthält einen Zeitstempel in der Antwort und beschreibt den Stand des letzten Durchlaufs, nicht den Abfragezeitpunkt. Damit wird die Aktualität der Daten eindeutig offengelegt.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Drei Sätze mit klarer Front-Loading-Struktur: zuerst Zweck, dann Aktualitätshinweis, dann Abgrenzung zu Alternativen. Kein Satz ist überflüssig oder wiederholt lediglich strukturierte Felder.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Für ein Tool ohne Output-Schema und mit nur einem Parameter ist die Beschreibung ausreichend: Sie erklärt Inhalt (Fließtext mit Findings), Herkunft und Aktualität des Berichts sowie die Abgrenzung zu Alternativen. Ein Agent hat alles Nötige, um das Tool korrekt einzusetzen.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Die Schema-Beschreibungsabdeckung liegt bei 100 %, der einzige Parameter 'domain' ist dort bereits vollständig dokumentiert. Die Beschreibung fügt keine zusätzlichen Format- oder Syntaxdetails hinzu, sodass hier nur der Baseline-Wert angemessen ist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Die Beschreibung nennt ein klares Verb und Ressource: den zusammenfassenden turbocheck-AI-Statusbericht (Fließtext mit allen Findings) für eine Domain abrufen. Sie grenzt das Tool zudem explizit von den spezialisierten Geschwister-Tools ab.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Es wird klar gesagt, wann dieses Tool passt (zusammenfassender Gesamtbericht) und wann stattdessen Alternativen zu verwenden sind: für gezielte Fragen zu Backup, WordPress, Sicherheit, DNS oder Performance werden die jeweiligen Tools namentlich aufgeführt.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_webspace_usageSpeicherplatz-Nutzung anzeigenARead-onlyInspect
Speicherplatz-, Traffic- und Postfach-Nutzung einer Domain direkt von Plesk abrufen. Hinweis: Plesk aktualisiert diese Statistik nur etwa einmal täglich, der Wert kann also bis zu 24 Stunden alt sein — nicht in Echtzeit.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die Domain, z. B. example.com |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds a non-obvious limitation: Plesk updates this statistic only about once a day, so values can be up to 24 hours old and are not real-time. Lacks auth/rate-limit detail, so not a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with the purpose front-loaded, followed by the key caveat. Every sentence earns its place; no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A simple read tool with one fully documented parameter and safety annotations. The description covers what data is returned and the staleness caveat, but does not describe response structure (and there is no output schema). Adequate but not exhaustive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the domain parameter is fully documented with an example. The description adds no syntax or format detail beyond the schema, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (abrufen) and resource (Speicherplatz-, Traffic- und Postfach-Nutzung einer Domain) with source (direkt von Plesk). It does not differentiate from sibling tools like get_storage_breakdown, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no alternatives named, and no exclusions. The note about daily updates is a behavioral caveat, not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_wordpress_backupsWordPress-Backups anzeigenARead-onlyInspect
Listet vorhandene On-Demand-WordPress-Backups (über WP Toolkit) — eigenständig von den täglichen automatischen Plesk-Gesamt-Backups, auf die der Kunde keinen direkten Zugriff hat. Meldet klar, wenn kein WordPress gefunden wurde.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die Domain, z. B. example.de |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds real behavioral context beyond that: these are on-demand WP Toolkit backups independent of Plesk full backups, the customer has no direct access to the latter, and it clearly reports when no WordPress is found.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the resource and scope, no redundant filler. Slightly dense with parenthetical asides but every clause carries meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, read-only list tool with no output schema, the description is largely complete, covering scope, the backup-type distinction, and the empty-result behavior. It does not describe return shape, but that is minor given it is a simple listing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter (domain) with 100% schema description coverage, so the schema already documents it. The description adds no format or syntax detail beyond the schema, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (listet) and resource (On-Demand-WordPress-Backups) and scopes it to WP Toolkit, explicitly distinguishing it from the daily automatic Plesk full backups. An agent can tell it apart from get_backup_status and create_wordpress_backup without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The contrast with Plesk full backups implies the usage context (this is for on-demand WP backups specifically), but it never states an explicit when-to-use rule or names an alternative tool to prefer instead. Usage is inferable but not spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_wordpress_hardeningWordPress-Härtung anzeigenARead-onlyInspect
Zeigt, welche der von WP Toolkit angebotenen Härtungsmaßnahmen auf einer WordPress-Installation gesetzt sind und welche fehlen — mit Klartext-Titel, ob die Maßnahme als kritisch gilt und ob sie sich zurücknehmen lässt. NICHT zu verwechseln mit get_security_status: jenes liefert Malware-Funde und offen erreichbare Dateien aus dem nächtlichen turbocheck-Bericht, dieses den Härtungsstand von WordPress selbst.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die Domain, z. B. example.de | |
| site_url | No | Nur nötig, wenn mehrere WordPress-Installationen auf der Domain liegen |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds useful output-level context by saying the result includes a plain-text title, whether the measure is considered critical, and whether it can be reverted. It does not cover auth or rate limits, but those are minor for a simple read-only status tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose, then immediately handles sibling disambiguation. It uses two sentences with no filler, and every clause adds either scope or differentiation value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description must carry return-value expectations, and it does so by mentioning plain-text titles, criticality, and reversibility. Combined with the explicit sibling contrast, it gives an agent enough to call and interpret the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and both parameters (domain, site_url) are documented in the schema. The description adds no extra parameter meaning, so the baseline of 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb („Zeigt“) and resource (WordPress-Härtungsmaßnahmen auf einer Installation) and clarifies the exact scope: which measures are active and which are missing. It also explicitly distinguishes this tool from get_security_status, so an agent can identify it without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states exactly when to use this tool versus the closest alternative, get_security_status. The contrast is concrete: one reports malware findings and exposed files from the nightly turbocheck report, the other reports the WordPress hardening state itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_wordpress_sitesWordPress-Installationen anzeigenARead-onlyInspect
Listet die WordPress-Installationen, die zu einem Hosting gehören — mit Adresse, Version und Zustand. Das Werkzeug, das die Lücke schließt: Fast jedes andere WordPress-Werkzeug hier verlangt eine site_url, sobald es mehr als eine Installation gibt, und herausfinden ließ sich die bislang nirgends. Reines Lesen — es ändert nichts. Eine leere Liste ist eine abgerufene Auskunft ("hier läuft kein WordPress"); war die Liste dagegen nicht abrufbar, meldet die Antwort das ausdrücklich als Messausfall, und daraus darf NIE "es gibt kein WordPress" werden. Ein Eintrag, der als "antwortet derzeit nicht" gemeldet wird, ist NICHT gelöscht — die Installation steht weiter da. Felder, die das Hosting-System nicht mitliefert, werden als nicht mitgeliefert benannt und nicht ergänzt.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die Domain, z. B. example.de |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnlyHint/destructiveHint annotations: distinguishes an empty list (a real answer) from a failed retrieval (must never be read as 'no WordPress'), clarifies that 'currently not responding' does not mean deleted, and states that host-unsupplied fields are labelled rather than invented.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action and scope, and every sentence carries usable information (return fields, error semantics, non-deletion caveat). Slightly padded by framing phrasing such as 'Das Werkzeug, das die Lücke schließt', but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description correctly covers return content (address, version, state) and the two ambiguous-result cases an agent could misread. For a one-parameter read tool with annotation coverage, nothing needed is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single `domain` parameter is already documented in the schema. The description adds no format or syntax detail beyond that, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Listet die WordPress-Installationen, die zu einem Hosting gehören') plus the returned fields (Adresse, Version, Zustand). It clearly differentiates itself from siblings by positioning itself as the discovery tool that supplies the site_url other WordPress tools require.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear use context: other WordPress tools demand a site_url once more than one installation exists, and this tool is how you obtain it. Lacks an explicit 'when not to use' or a named alternative, but the routing condition is stated clearly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_wordpress_statusWordPress-Status anzeigenARead-onlyInspect
WordPress-Status einer Domain abrufen (Version, Updates, Cache, Sicherheits-Flags). Stammt aus dem einmal täglich aktualisierten turbocheck-Bericht (Zeitstempel in der Antwort) — sehr aktuelle Änderungen fehlen ggf. noch.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die Domain, z. B. example.com |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds value beyond that by disclosing the data provenance (daily turbocheck report), the presence of a timestamp in the response, and the resulting staleness limitation – exactly the kind of behavioral context an agent needs and cannot get from structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler, and the core scope is front-loaded before the data-freshness caveat. Slightly dense parenthetical listing, but every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only, single-parameter status tool with no output schema, the description covers what is returned, where the data originates, and its freshness limits. Nothing critical is missing, though a pointer to the ideal follow-up tool for real-time checks would have made it complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter whose schema description is 100% covered ('Die Domain, z. B. example.com'), so the schema does the heavy lifting. The description adds no format, subdomain, or ID-vs-domain guidance beyond the schema, matching the baseline 3 for full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb (abrufen) and resource (WordPress-Status einer Domain) and enumerates the payload (Version, Updates, Cache, Sicherheits-Flags), which lets an agent distinguish it from generic siblings like get_website_report or get_security_status. It does not explicitly contrast itself with the closest sibling, get_wordpress_sites, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description supplies a meaningful usage caveat – the data comes from a once-daily turbocheck report, so very recent changes may be missing – which tells the agent when this source is and isn't trustworthy. However, it names no alternative tool for fresher or deeper checks (e.g. check_wordpress_integrity, scan_wordpress_vulnerabilities), leaving routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
install_wordpress_pluginPlugin installierenADestructiveInspect
Installiert ein Plugin aus dem offiziellen WordPress-Verzeichnis auf einer Domain, wahlweise mit sofortiger Aktivierung. Dabei kommt fremder Programmcode auf die Website, den turbopress nicht geprüft hat. Höchstens fünf Installationen pro Tag. Installieren und Aktivieren sind EIN Vorgang: Scheitert nur die Aktivierung (etwa weil das Plugin eine höhere PHP-Version verlangt), ist das Plugin trotzdem INSTALLIERT. Das Tool liest den Zustand danach auf der Installation nach und meldet ihn — auch diesen Zwischenzustand. In dem Fall bitte NICHT erneut installieren (das endet in „already installed"), sondern die Aktivierung mit set_wordpress_plugin_state wiederholen. Lässt sich der Zustand nicht nachlesen, sagt die Antwort das ausdrücklich; das ist keine Aussage darüber, ob das Plugin da ist.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die Domain, z. B. example.de | |
| plugin | Yes | Slug im WordPress-Verzeichnis, z. B. "wordfence" | |
| activate | No | true = nach der Installation sofort aktivieren. Standard: false | |
| site_url | No | Nur nötig, wenn mehrere WordPress-Installationen auf der Domain liegen |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes far beyond the annotations: discloses a hard rate limit (max five installs/day), warns that unreviewed third-party code lands on the site, explains that install+activate is a single atomic operation with a documented intermediate state, states that it reads and reports state afterward, and is explicit about what an unreadable state does and does not mean. Annotations only supply readOnlyHint=false and destructiveHint=true.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads purpose, then constraints and failure behavior in tight, information-dense sentences; every statement carries operational weight (limit, atomicity, recovery path, ambiguous-state disclaimer) with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, but the description compensates by describing the state read-back and what the response reports, including the explicit case where state cannot be read. For a destructive mutation with side effects, nothing an agent needs to call it safely is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3, but the description adds real meaning about the activate parameter: activation is part of the same operation, and its failure leaves the plugin installed. It does not add anything for domain/site_url beyond the schema, but the activation semantics are non-obvious and genuinely useful.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (installs a plugin from the official WordPress directory onto a domain) plus the optional activation scope. It is clearly distinguishable from siblings like update_wordpress_core or set_wordpress_plugin_state.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit when-to-use context (install, optionally activate) and, critically, an explicit when-NOT-to-use instruction: do not reinstall after an activation-only failure, since that yields 'already installed'. It names the correct follow-up alternative, set_wordpress_plugin_state, so the routing decision needs no inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_wordpress_adminsWordPress-Administratoren auflistenARead-onlyInspect
Listet alle Benutzer mit Administratorrechten einer WordPress-Installation, mit Anmeldename, E-Mail-Adresse und Anlagedatum. Nach einem vermuteten Einbruch der erste Blick: Ein Konto, das der Kunde nicht kennt, fällt hier auf — besonders eines mit jüngerem Anlagedatum als die übrigen.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die Domain, z. B. example.de | |
| site_url | No | Nur nötig bei mehreren Installationen auf der Domain |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds genuine value beyond that by specifying the returned attributes and framing the analytical intent (spotting unrecognized or newly created admin accounts). It omits pagination or permission details, but those are minor for a read-only listing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences: the first front-loads what the tool does and returns, the second supplies the investigative use case. No redundancy or wasted wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by naming the returned fields, and annotations cover the safety profile. For a read-only listing tool with only two well-documented parameters, nothing an agent needs to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so both parameters (domain, site_url) are already fully documented in the schema, including the note that site_url is only needed for multiple installations. The description adds no parameter-level detail, making the baseline 3 correct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (listet) plus resource (Benutzer mit Administratorrechten einer WordPress-Installation) and enumerates the returned fields (Anmeldename, E-Mail-Adresse, Anlagedatum). This clearly separates it from siblings like reset_wordpress_admin_password or get_wordpress_sites without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides a concrete usage scenario — the first check after a suspected intrusion, looking for unknown accounts or ones with recent creation dates. It does not name an alternative tool or state exclusions, so it stops short of the top level, but the when-to-use context is clear and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prepare_domain_orderDomain-Bestellung vorbereitenARead-onlyInspect
Prüft eine Domain per WHOIS und liefert — falls verfügbar — den Preis sowie einen Link zur Domainsuche-Seite, dessen Suchfeld mit dieser Domain vorbelegt ist. Das ist KEIN fertiger Warenkorb-Link: Die Domain landet dadurch nicht automatisch im Warenkorb, der Kunde muss auf der Seite erneut suchen und die Domain auswählen. Löst KEINE Zahlung aus und schließt KEINEN Vertrag ab (Registrant-Daten, AGB-Bestätigung und Bezahlung erfolgen erst im normalen WHMCS-Checkout, rechtlich bewusst kein automatischer Kauf per Chat). Ist die Domain vergeben, gibt es keinen Link — dann suggest_domain_alternatives nutzen.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die gewünschte Domain, z. B. example.de |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true/destructiveHint=false, and the description adds genuinely non-redundant behavior: no payment triggered, no contract concluded, the link is not a pre-filled cart link and the customer must re-select the domain. This discloses side-effect boundaries and the checkout flow that annotations cannot express, and it is consistent with the read-only annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The key capability (WHOIS check + price + link) is front-loaded, and the disclaimers are placed after it. It is on the verbose side, with the parenthetical legal aside '(rechtlich bewusst kein automatischer Kauf per Chat)' being somewhat expendable, but each sentence still carries meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by naming the return contents (price and pre-filled search link) and the failure case (no link when taken). For a one-parameter tool with annotations covering safety, nothing an agent needs to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the single 'domain' parameter already documents itself with an example (example.de). The description adds no format, TLD, or validation detail beyond the schema, so the baseline 3 for schema-does-the-work applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (prüft eine Domain per WHOIS) and names the concrete outputs (Preis, Link zur vorbelegten Domainsuche). It also names the sibling suggest_domain_alternatives, so an agent can distinguish this tool from check_domain_availability and prepare_hosting_order without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit about the fallback case: 'Ist die Domain vergeben … dann suggest_domain_alternatives nutzen', which is true when-to-use guidance with a named alternative. It also warns this is not a cart link, but it doesn't clarify when to prefer this over check_domain_availability or prepare_hosting_order, so it stops short of explicit when-not coverage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prepare_hosting_orderHosting-Bestellung vorbereitenARead-onlyInspect
Bereitet eine Hosting-Bestellung vor und liefert einen fertigen Warenkorb-Link — löst KEINE Zahlung aus und schließt KEINEN Vertrag ab. Preis, AGB-Bestätigung und Bezahlung erfolgen erst, wenn der Kunde den Link selbst im normalen WHMCS-Checkout abschließt (rechtlich bewusst kein automatischer Kauf per Chat).
| Name | Required | Description | Default |
|---|---|---|---|
| product_id | Yes | Die Produkt-ID aus get_hosting_packages | |
| billing_cycle | No | Gewünschter Abrechnungszeitraum — fällt auf den günstigsten verfügbaren zurück, falls nicht angeboten |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and destructiveHint=false, and the description adds precisely the boundary context that matters: no payment is triggered, no contract is closed, and the transaction only completes in WHMCS checkout. That directly explains why the operation is non-destructive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the action and its output, then immediately bounds the side effects in a tight second clause. No filler; every phrase carries information an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description still tells the agent what is returned (a cart link) and what does not happen (payment, contract). For a 2-parameter preparation tool, nothing needed to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so product_id (linked to get_hosting_packages) and billing_cycle (with fallback-to-cheapest behavior) are already fully documented in the schema. The description adds no parameter-level detail, which is the expected baseline when the schema does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (vorbereiten) and resource (Hosting-Bestellung) plus the concrete artifact returned (fertigen Warenkorb-Link). An agent can immediately distinguish this from sibling actions like prepare_domain_order or deploy_publish.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explains the workflow context clearly: this is the preparation step before the customer completes checkout, and price/T&C/payment happen elsewhere. It does not explicitly name alternative tools or state when NOT to use it, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
redirect_domainDomain weiterleitenAInspect
Richtet eine HTTP-Weiterleitung von einer Domain auf eine andere ein (z. B. nach einem Domain-Wechsel: "alte-domain.de soll auf neue-domain.de weiterleiten"). Beide Domains müssen eigene turbopress-Hosting-Produkte des Kunden sein — eine Domain, die nicht bei turbopress liegt, kann so nicht eingerichtet werden. Schlägt Plesk-seitig sauber fehl, wenn source_domain bereits ein eigenes aktives Hosting hat (muss vorher aufgegeben werden).
| Name | Required | Description | Default |
|---|---|---|---|
| source_domain | Yes | Die Domain, die weiterleiten soll (die "alte" Domain), z. B. alte-domain.de | |
| target_domain | Yes | Die Domain, auf die weitergeleitet wird (die "neue"/Ziel-Domain mit dem echten Hosting), z. B. neue-domain.de |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=false, so the write nature is covered. The description adds genuinely non-obvious behavior: both domains must be turbopress-hosted, and the operation fails cleanly in Plesk if source_domain already has active hosting, which must first be cancelled. This is valuable operational context beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tightly packed sentences with the main action front-loaded, followed by prerequisites and failure behavior. No filler, though the inline example in the first sentence is slightly redundant with the schema descriptions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter mutation tool with no output schema, the description covers action, prerequisites, and failure mode, which is what an agent needs. It leaves out what the response returns, but no output schema exists and the mutation outcome is implied to be a configured redirect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters are fully documented there, so the baseline is 3. The description reinforces which domain is 'old' vs 'new' with an inline example, but adds no syntax or format detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Richtet eine HTTP-Weiterleitung von einer Domain auf eine andere ein') and contrasts with get_domain_redirects/remove_domain_redirect/fix_https_redirect by framing it as creating a redirect rather than reading, removing, or fixing one. An agent can distinguish it from its siblings immediately.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a concrete usage scenario ('nach einem Domain-Wechsel') and the precondition that both domains must be the customer's own turbopress hosting products. It does not explicitly name alternative tools such as fix_https_redirect, but the context is clear enough to select correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_domain_redirectDomain-Weiterleitung entfernenADestructiveInspect
Hebt EINE Domain-Weiterleitung auf — der Weg zurück zu redirect_domain, etwa wenn versehentlich die falsche Domain weitergeleitet wurde. Anzugeben ist die Domain MIT dem Hosting (das Ziel) und dazu entweder die redirect_id aus get_domain_redirects oder der Name der weiterleitenden Domain; beides wird serverseitig gegen die Weiterleitungen genau dieses Abonnements geprüft, eine geratene oder fremde Angabe wird abgewiesen, bevor irgendetwas aufgehoben wird. DIE FOLGE IST EINE ERREICHBARKEITSÄNDERUNG, und die gehört vor die Ausführung: Über die weiterleitende Domain läuft danach nichts mehr — wer sie in Lesezeichen, auf Visitenkarten, in einer E-Mail-Signatur oder als Link von einer anderen Seite stehen hat, landet im Leeren. Leitet sie auch E-Mail weiter (der Standard beim Einrichten, get_domain_redirects zeigt es), kommen Nachrichten an Adressen auf dieser Domain danach nicht mehr an. Nenne dem Kunden beides, bevor du es tust. STAGING-KOPIEN werden mit eigener Begründung abgewiesen: Sie sehen im Hosting-System wie eine Weiterleitung aus, sind aber Testumgebungen, und der Chat kann sie nicht wiederherstellen. Die Antwort sagt ausdrücklich, ob die Weiterleitung danach wirklich aus der Liste verschwunden ist; war die Liste danach nicht abrufbar, meldet sie das als ungeprüft statt als Erfolg. War die Liste schon vorher nicht abrufbar, wird nichts aufgehoben — das heißt dann NICHT, dass es die Weiterleitung nicht gibt. Neu einrichten lässt sie sich jederzeit mit redirect_domain.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die Domain MIT dem Hosting, also das Ziel der Weiterleitung, z. B. neue-domain.de | |
| redirect_id | No | Kennung der Weiterleitung aus get_domain_redirects. Vor dem Aufheben frisch abrufen, nie eine Kennung aus einer früheren Antwort verwenden. | |
| source_domain | No | Alternativ zur Kennung: die weiterleitende Domain, genau wie von get_domain_redirects geliefert, z. B. alte-domain.de |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, but the description adds substantial context: reachability changes, broken bookmarks/links/signatures, email forwarding stopping by default, and a directive to inform the customer first. It also discloses staging copies are rejected, response semantics (unverified vs. success), and that prior list unavailability does not mean the redirect is absent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with purpose, alternative, and parameter requirements, then consequences, staging exclusions, and response behavior. It is long, but each sentence adds a warning or constraint that is relevant for a destructive operation; it could be slightly tightened but is appropriately structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, but the description fully explains response behavior (explicit confirmation when removed, unverified when the list is unavailable, and no change when the list was already unavailable). Combined with consequences, validation, and staging exclusions, an agent has everything needed to invoke the tool safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds semantic meaning beyond the schema: it clarifies that either redirect_id or source_domain is accepted and both are checked server-side against this subscription's redirects, with guessed or foreign input rejected before removal. This is useful validation context not captured in the field descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Hebt ... auf') and resource ('Domain-Weiterleitung'), and emphasizes removing exactly one at a time. It distinguishes itself from the sibling redirect_domain ('der Weg zurück zu redirect_domain') and points to get_domain_redirects for IDs. An agent can immediately tell this is the removal counterpart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit scenario ('etwa wenn versehentlich die falsche Domain weitergeleitet wurde') and names the alternative redirect_domain for re-establishing a redirect. It adds prerequisites (domain with hosting plus either redirect_id or source_domain) and states that server-side validation rejects guessed or foreign input before anything is removed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_email_aliasE-Mail-Alias entfernenADestructiveInspect
Entfernt EINE Alias-Adresse von einem Postfach — der Weg zurück zu set_email_alias. Nachrichten an die Alias-Adresse kommen danach NICHT MEHR AN, sondern werden abgewiesen; sage dem Kunden das vorher und frage, ob die Adresse noch irgendwo steht (Website, Signatur, Visitenkarten, Formulare). Das Postfach selbst und alle Nachrichten darin bleiben unberührt — auch das gehört in die Antwort, sonst glaubt der Kunde, seine Mails seien mit weg. Postfach UND Alias werden serverseitig gegen die Postfächer genau dieses Abonnements geprüft, bevor irgendetwas entfernt wird; get_email_accounts zeigt die Aliase je Postfach, rate keinen. EINE BESONDERHEIT, die du nie übergehen darfst: Das Hosting-System meldet für diesen Befehl gemessen AUCH DANN Erfolg, wenn es den Alias gar nicht gab. Der Server verlässt sich deshalb nicht darauf, sondern sieht danach nach — steht der Alias noch da, meldet die Antwort einen FEHLER und keinen Erfolg. Melde diesen Fall nie als erledigt. War die Postfachliste nicht abrufbar, wird nichts entfernt; das heißt dann NICHT, dass es den Alias nicht gibt. Neu einrichten lässt sich ein Alias jederzeit mit set_email_alias.
| Name | Required | Description | Default |
|---|---|---|---|
| alias | Yes | Die zu entfernende Alias-Adresse — lokaler Teil ("kontakt") oder volle Adresse ("kontakt@example.de"), genau wie von get_email_accounts geliefert. Der Alias muss an GENAU DIESEM Postfach hängen. | |
| Yes | Das Postfach, an dem der Alias hängt — lokaler Teil ("info") oder volle Adresse ("info@example.de"), genau wie von get_email_accounts geliefert | ||
| domain | Yes | Die Domain, z. B. example.de |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true, and the description goes well beyond them: it states messages to the alias will be rejected afterward while the mailbox and its messages are untouched, that mailbox AND alias are validated server-side against this subscription's mailboxes before removal, and the critical quirk that the hosting system reports success even when the alias never existed — so the server re-checks and returns an ERROR instead. It also explains the failure mode when the mailbox list is unavailable. This is exactly the behavioral context an agent needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the most important consequence (alias stops receiving mail) and the imperative to warn the customer. It is long, but nearly every sentence carries distinct operational value (reversibility path, validation behavior, false-success quirk). Slightly verbose, but justified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive 3-param mutation tool with no output schema, the description covers consequences, reversibility, prerequisites, validation behavior, and even the false-success edge case. Nothing an agent needs to invoke this correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all three params are documented in the schema themselves (including local-part vs. full-address formats and the alias-must-belong-to-this-mailbox constraint). The description adds value by pointing to get_email_accounts as the source of valid values and reiterating 'rate keinen', which supplements rather than contradicts the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a precise verb+resource and scope: 'Entfernt EINE Alias-Adresse von einem Postfach' — removes exactly one alias from a mailbox. Explicitly distinguishes itself from the sibling set_email_alias ('der Weg zurück') and from get_email_accounts, so the agent can differentiate without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit when-to-use and consequential context: warn the customer beforehand that messages will be rejected, ask whether the address still appears anywhere (website, signature, business cards, forms), and routing guidance to use get_email_accounts rather than guessing the alias. Names both the alternative (set_email_alias) and the discovery tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_protected_directoryPasswortschutz entfernenADestructiveInspect
Hebt den Passwortschutz EINES Verzeichnisses einer Domain auf — der Weg zurück zu create_protected_directory. Sag dem Kunden vorher klar, was das bedeutet: Der Bereich ist danach wieder ÖFFENTLICH, jeder mit der Adresse kommt ohne Anmeldung hinein, und Suchmaschinen können ihn wieder aufnehmen und anzeigen. Liegen dort Dateien, die niemand sehen soll, ist das der falsche Weg. ZWEI GRENZEN, die du nicht verschweigen darfst: (1) Es gibt KEIN Werkzeug, das die geschützten Verzeichnisse einer Domain auflistet — das Hosting-System bietet dafür keinen Leseweg. Frag den Kunden nach dem Pfad, rate ihn nicht. (2) Ob der Schutz danach wirklich weg ist, lässt sich aus demselben Grund nicht nachlesen: Belegt ist nur, dass das Hosting-System den Auftrag angenommen und nicht abgelehnt hat. Melde das als angenommen, nie als bestätigt, und nenne dem Kunden die Probe: die Adresse in einem privaten Fenster aufrufen — kommt keine Passwortabfrage mehr, ist der Schutz weg. Wieder schützen lässt sich der Bereich jederzeit mit create_protected_directory, das alte Passwort kommt dabei aber nicht zurück.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die Domain, z. B. example.de | |
| directory | Yes | Das geschützte Verzeichnis, mit führendem Schrägstrich und in derselben Schreibweise wie beim Anlegen, z. B. "/intern" oder "/httpdocs/kunden". Erlaubt sind nur Buchstaben A–Z/a–z, Ziffern, Punkt, Bindestrich, Unterstrich — keine Umlaute, keine Leerzeichen, kein ".." und kein Schrägstrich am Ende; "/" allein wird abgewiesen. Es gibt keinen Weg, die geschützten Verzeichnisse aufzulisten: Der Pfad muss vom Kunden kommen. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, but the description adds what the annotations cannot: the concrete consequence (directory becomes public, indexable, no login), the irreversibility of the old password, and the critical caveat that success cannot be verified — only that the host accepted the request. That is exactly the behavioral layer the schema and annotations do not carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action and the public-exposure consequence, followed by the two explicit limits. It is long, but for a destructive and unverifiable operation nearly every sentence carries decision-relevant information; only minor tightening is possible.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description compensates fully by explaining what the tool can and cannot report back (accepted, never confirmed) and supplying a concrete verification procedure. Combined with the alternatives and downstream effects, nothing an agent needs to call and report this correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters (domain, directory syntax and constraints) are already fully documented in the schema. The description reinforces that the path must come from the customer and cannot be discovered, but this point is already present in the schema description for 'directory', so it adds little beyond the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Hebt den Passwortschutz EINES Verzeichnisses einer Domain auf') and explicitly positions itself as the inverse of create_protected_directory. An agent can tell it apart from the sibling that creates protection without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives the when (reversing directory protection), the when-not ('Liegen dort Dateien, die niemand sehen soll, ist das der falsche Weg'), and the alternative (create_protected_directory to re-protect). It even notes that re-protection does not restore the old password, which affects the decision to invoke it at all.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reply_to_ticketAuf Support-Ticket antwortenBInspect
Sendet eine Antwort auf ein bestehendes eigenes Support-Ticket.
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes | Nachrichtentext der Antwort. Der Server lehnt bei mehr als 10000 BYTES ab (HTTP 400 "invalid_input") — gezählt werden BYTES, nicht Zeichen: ASCII-Zeichen zählen 1 Byte, ein Umlaut oder ß zählt 2. Deutscher Text mit Umlauten reisst die Grenze also schon deutlich vor 10000 Zeichen, z. B. sind 5000 "ä" (10000 Bytes) noch erlaubt, 5001 "ä" (10002 Bytes) schon abgewiesen. Derselbe Fehler kommt auch bei leerer Nachricht und bei ungültiger ticket_id — ein Fehlschlag ist also kein sicheres Zeichen dafür, dass Kürzen hilft. create_support_ticket hat dagegen keine Längengrenze. | |
| ticket_id | Yes | Die in get_support_tickets angezeigte interne Ticket-ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare a non-destructive write (readOnlyHint=false, destructiveHint=false). The description adds the constraint that the ticket must exist and be your own, which is useful behavioral context. However, it does not disclose error behavior, rate limits, or post-reply effects; the rich error handling lives in the schema, not the description. With annotations covering the safety profile, a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with zero waste. It is appropriately sized for a brief purpose statement, though it is terse. No structural issues.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple reply tool, the description states purpose and scope, and the schema provides exhaustive parameter details and error handling. Annotations cover the write/safety profile. However, the description omits any usage guidance or routing to sibling tools, leaving the agent to infer when to use this versus create_support_ticket. Given the available richness, a 3 reflects a complete purpose but incomplete context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and both parameters have detailed descriptions (including byte limits and error conditions). The description adds no parameter information. Baseline 3 is correct when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Sendet eine Antwort') and resource ('Support-Ticket') with a scope qualifier ('bestehendes eigenes'). It implicitly distinguishes from create_support_ticket and close_support_ticket, but does not name any sibling or alternative. Clear purpose, but no explicit sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no alternatives named. The agent must infer that get_support_tickets is needed to find the ticket ID and that only own existing tickets can be replied to. No exclusions or context are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reset_email_passwordE-Mail-Passwort zurücksetzenADestructiveInspect
Setzt das Passwort eines bestehenden E-Mail-Postfachs zurück. Das alte Passwort wird dabei ungültig — Vorsicht bei aktiven Mail-Clients, die neu konfiguriert werden müssen. Ob das Postfach existiert, wird NICHT vorab geprüft: Gibt es die Mailbox nicht, wird die Aktion abgelehnt und das bisherige Passwort bleibt gültig — das ist keine Störung. Im Zweifel vorher get_email_accounts aufrufen, statt den Namen zu raten.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die Domain, z. B. example.com | |
| local_part | Yes | Lokaler Teil der Adresse (vor dem @), z. B. "info" für info@example.com. Erlaubt sind nur Buchstaben, Ziffern, Punkt, Bindestrich, Unterstrich, höchstens 64 Zeichen — keine Umlaute. gültig: "info", "max.mustermann", "Info_Neu". abgewiesen: "büro", "müller" (Umlaute), "info+shop" (Plus-Zeichen). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the destructiveHint annotation: it discloses that the old password becomes invalid, that active mail clients must be reconfigured, that a non-existent mailbox is rejected with the previous password still valid, and that this rejection is not an error. This is exactly the operational context annotations cannot carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four front-loaded sentences: action, side effect, edge case, remedy. Each sentence carries distinct operational value with no filler; the warning about active mail clients is deliberately emphasized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, yet the description covers purpose, side effects, failure behavior, and prerequisite lookup. For a two-parameter destructive tool this leaves nothing an agent would need missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both domain and local_part (including the character rules and examples) are already fully documented in the schema. The description adds only the procedural hint not to guess the name, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Setzt das Passwort eines bestehenden E-Mail-Postfachs zurück'), which cleanly distinguishes it from siblings reset_ftp_password and reset_wordpress_admin_password. An agent can identify the target object without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly routes the agent to a sibling ('Im Zweifel vorher get_email_accounts aufrufen, statt den Namen zu raten') and defines the boundary condition of a missing mailbox. The when-to-use and precondition are both stated rather than inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reset_ftp_passwordFTP-Passwort zurücksetzenADestructiveInspect
Setzt das Passwort eines ZUSÄTZLICH angelegten FTP-Zugangs einer Domain zurück. Das neue Passwort wird serverseitig erzeugt. Die bisherigen Zugangsdaten funktionieren danach nicht mehr — wer sie in einem FTP-Programm gespeichert hat, muss sie dort ändern. NICHT möglich ist das für den Hauptzugang des Abonnements (der Login aus der Willkommens-Mail, den get_ftp_accounts als Hauptzugang ausweist): Sein Passwort ist zugleich das SSH-Passwort und wird in Plesk geändert, siehe https://panel.turbopress.de/knowledgebase/57/FTP-und-SSH-Passwort-in-Plesk-aendern.html
| Name | Required | Description | Default |
|---|---|---|---|
| login | Yes | Login des bestehenden FTP-Zugangs, dessen Passwort zurückgesetzt werden soll | |
| domain | Yes | Die Domain, z. B. example.de |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag destructiveHint=true, so the mutation/safety profile is covered; the description still adds real value by explaining that the new password is server-generated, that prior credentials cease to work afterwards, and that stored credentials in FTP clients must be updated. It does not say whether the new password is returned to the caller or whether any permission is required, which keeps it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action, then the consequence, then the exclusion and the reference link. Every sentence carries information, though the trailing URL and its surrounding clause make it longer than strictly necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description covers scope, side effects and the excluded case well. The one meaningful gap is whether the newly generated password is returned in the response, which an agent needs to know to report it back to the user.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters (login, domain) are already documented, giving a baseline of 3. The description adds only a mild semantic constraint — that the login must belong to an additionally-created FTP account — but supplies no format or syntax guidance beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (zurücksetzen) plus resource (FTP-Passwort) and narrows the scope to 'ZUSÄTZLICH angelegte FTP-Zugänge einer Domain', which separates it from create_ftp_account/delete_ftp_account and from the sibling reset_email_password / reset_wordpress_admin_password. An agent can identify the target resource and the excluded resource without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit exclusion ('NICHT möglich ... für den Hauptzugang des Abonnements') and routes the agent to the correct alternative channel (the Plesk knowledge-base URL) for that case. It also ties the exclusion to a detectable criterion — 'den get_ftp_accounts als Hauptzugang ausweist' — so the agent knows how to check before calling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reset_wordpress_admin_passwordWordPress-Admin-Passwort zurücksetzenADestructiveInspect
Setzt das Passwort eines WordPress-Admin-Kontos zurück. Mit login lässt sich ein BESTIMMTER Benutzername gezielt ansprechen — der Name wird vorher gegen die echte Administratorenliste der Installation geprüft und abgelehnt, wenn es ihn dort nicht gibt; list_wordpress_admins liefert die vorhandenen Namen. Ohne login wird das hinterlegte Standard-Admin-Konto zurückgesetzt. Das alte Passwort wird dabei sofort ungültig, und das neue Passwort wird in der Antwort nur EINMAL im Klartext angezeigt — danach ist es nicht mehr abrufbar. Bei mehreren WordPress-Installationen auf derselben Domain muss site_url angegeben werden.
| Name | Required | Description | Default |
|---|---|---|---|
| login | No | Benutzername des WordPress-Administrators, dessen Passwort zurückgesetzt werden soll (z. B. "redakteur"). Weglassen für das hinterlegte Standard-Admin-Konto. Namen liefert list_wordpress_admins. | |
| domain | Yes | Die Domain, z. B. example.de | |
| site_url | No | Bei mehreren WordPress-Installationen: welche gemeint ist |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate destructiveHint=true, and the description adds critical context beyond that: the old password becomes immediately invalid, the new password is shown only once in plaintext and cannot be retrieved later, and the login name is validated against the actual admin list. These are exactly the behavioural details an agent needs for safe handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, information-dense paragraph that front-loads the core action and flows logically through the optional login case, the default case, the security behaviour, and the site_url condition. It is efficient, though the length is on the higher side for a 3-parameter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a mutation tool with destructiveHint, no output schema, and high schema coverage, the description covers what the tool does, the important side effects (password invalidation, one-time visibility), prerequisites (valid login, site_url when needed), and references the sibling for listing admins. Nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is already 100%, with all three parameters documented in the schema. The description reinforces the meaning of login and site_url but adds little syntactic or format information beyond what the schema provides. The base score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the specific verb (reset) and resource (password of a WordPress admin account). It clearly distinguishes itself from siblings like reset_email_password and reset_ftp_password by naming the WordPress admin context and references the dedicated sibling list_wordpress_admins.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly explains when to use the login parameter versus omitting it (default admin account), and adds the condition for site_url (multiple installations on the same domain). It also points to list_wordpress_admins as the source of valid usernames, covering the 'when' and 'what to combine with' aspects comprehensively.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
restore_wordpress_backupWordPress-Backup wiederherstellenADestructiveInspect
Spielt ein vorhandenes On-Demand-WordPress-Backup (aus get_wordpress_backups) zurück und überschreibt damit den aktuellen Live-Stand der Seite. Vor dem Restore wird automatisch ein Sicherungs-Backup des bisherigen Stands erstellt ("pre-restore-...") und sein Vorhandensein nachgewiesen; gelingt das nicht, wird NICHT restauriert. WICHTIG für die Antwort: WP Toolkit NIMMT den Restore-Auftrag nur an und arbeitet ihn im Hintergrund ab — dass er durchgelaufen ist, lässt sich nicht bestätigen, und ein Fehlschlag danach (etwa beim Datenbank-Import) meldet sich nirgends. Das Tool meldet deshalb IMMER "angestoßen, nicht bestätigt" und nie "wiederhergestellt"; diesen Vorbehalt bitte unverändert weitergeben. Ob der erwartete Stand da ist, sieht nur der Kunde selbst auf der Website. Bei mehreren WordPress-Installationen auf derselben Domain muss site_url angegeben werden.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die Domain, z. B. example.de | |
| filename | Yes | Dateiname des zurückzuspielenden Backups (siehe get_wordpress_backups) | |
| site_url | No | Bei mehreren WordPress-Installationen: welche gemeint ist |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only flag destructiveHint=true; the description adds substantial context: it overwrites live state, auto-creates and verifies a pre-restore backup (aborting if that fails), and — critically — discloses that WP Toolkit only accepts the job and processes it in the background, so completion cannot be confirmed and failures go unreported. It even dictates the exact wording of the caveat the agent must pass through, which is exceptional transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The key action and its destructive consequence are front-loaded, and each sentence adds unique information (pre-restore safeguard, background-processing caveat, site_url condition). It is dense and somewhat lengthy but essentially every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation with no output schema, the description covers the action, side effects, safety net, and the response's inherent uncertainty, so an agent knows exactly what will happen and how to report it. Nothing material is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all three parameters are already documented in the schema, and the description's note that site_url is required for multiple installs merely restates the schema's own description. It adds no formatting or syntax detail beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: it restores an existing on-demand WordPress backup and overwrites the current live state. It names the source sibling (get_wordpress_backups) so the agent knows where the filename comes from, and it is unmistakable against create_wordpress_backup or delete_wordpress_backup.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly establishes the context (restore a backup obtained via get_wordpress_backups) and the condition that selects the site_url parameter (multiple installs on the same domain). It does not, however, state when NOT to use it or contrast it explicitly with sibling operations like create_wordpress_backup.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
revert_wordpress_security_measureWordPress-Härtungsmaßnahme zurücknehmenADestructiveInspect
Nimmt GENAU EINE zuvor gesetzte WP-Toolkit-Härtungsmaßnahme wieder zurück. Nur möglich, wenn die Maßnahme laut get_wordpress_hardening umkehrbar ist (rollback=true) — fünf der neunzehn Maßnahmen sind es nicht.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die Domain, z. B. example.de | |
| measure | Yes | Kennung der Maßnahme, z. B. "dbPrefix" — get_wordpress_hardening nennt die verfügbaren Kennungen. | |
| site_url | No | Nur nötig, wenn mehrere WordPress-Installationen auf der Domain liegen |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false. The description adds meaningful behavioral context beyond that: a hard reversibility precondition and the concrete warning that a subset of measures cannot be undone, which directly shapes whether the agent should attempt the call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences that front-load the core action and then the precondition. Zero filler; every clause carries a constraint the agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, but for a targeted revert operation the description covers the key preconditions and scope adequately. The main residual gap is the absence of an explicit pointer to the inverse operation for the case where a measure is not yet applied.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds value by clarifying that exactly one measure is reverted and that valid measure identifiers are enumerated by get_wordpress_hardening, reinforcing the semantics of the 'measure' parameter beyond the schema text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (zurücknehmen/revert) and resource (WP-Toolkit-Härtungsmaßnahme) with an explicit scope constraint ('GENAU EINE'). This distinguishes it cleanly from its inverse sibling apply_wordpress_security_measure without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit precondition: only reversible measures (rollback=true per get_wordpress_hardening) can be reverted, and quantifies the exclusion (5 of 19 are not). It points to the prerequisite tool to consult, though it never names the inverse tool apply_wordpress_security_measure as the alternative you would use instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scan_wordpress_vulnerabilitiesWordPress-Sicherheitslücken anzeigenARead-onlyInspect
Listet bekannte Sicherheitslücken in WordPress-Kern, Plugins und Themes einer Installation — mit CVE-Kennung, Risikoeinstufung, ob die Lücke aktiv ausgenutzt wird, und ab welcher Version sie behoben ist. Nennt außerdem, welche Härtungsmaßnahme eine Lücke entschärft; diese Kennung nimmt apply_wordpress_security_measure entgegen. Zeigt den Stand der letzten Prüfung. Steht dort "kein Zeitpunkt hinterlegt", ist unbekannt, ob je geprüft wurde — ein leeres Ergebnis ist dann KEINE Entwarnung und darf dem Kunden nicht als solche verkauft werden.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die Domain, z. B. example.de | |
| site_url | No | Nur nötig, wenn mehrere WordPress-Installationen auf der Domain liegen |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true and destructiveHint=false, but the description adds substantial context beyond them: returned fields, the hardening-measure linkage consumed by apply_wordpress_security_measure, last-check semantics, and the critical caveat that an empty result may be meaningless. This is exactly the kind of behavioral detail agents need.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a dense single paragraph, but it is front-loaded with the tool's purpose and then layers the caveat at the end. Every sentence carries information, though the warning about empty results could be visually separated for quicker scanning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, but the description enumerates the key return values (CVE, risk rating, active exploitation, fixed version, hardening measure, last-check date) and explains how to interpret a missing timestamp. Combined with fully documented parameters and annotations covering safety, it is complete for a read-only scan tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema already explains domain as required and site_url as conditional for multiple installations. The description adds no parameter syntax, format, or examples beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Starts with a specific verb and resource: 'Listet bekannte Sicherheitslücken in WordPress-Kern, Plugins und Themes einer Installation'. It names the returned artifacts (CVE, risk, exploitation status, fixed version) and connects to the sibling apply_wordpress_security_measure, so an agent can identify the tool without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides important interpretation guidance: the last-check timestamp and the warning that an empty result is not an all-clear when 'kein Zeitpunkt hinterlegt' appears. However, it never explicitly states when to use this scan versus alternatives such as get_security_status or check_wordpress_integrity, so routing relies on inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_domain_error_logFehlerprotokoll durchsuchenARead-onlyInspect
Durchsucht die Fehlerprotokolle einer DOMAIN und gibt die passenden Zeilen AUS DEM ANGEFRAGTEN ZEITRAUM aus ("hours", Standard 24, höchstens 168). Erster Schritt bei „meine Seite ist weiß" oder „seit gestern kommen Fehler". Die Protokolle gehören dem Webserver der Domain, nicht einer bestimmten Anwendung: Eine Domain mit reinem PHP-Projekt wird genauso gelesen wie eine mit WordPress. Der Zeitraum gilt für die Zeilen und für die Zahlen — eine Protokolldatei umspannt Monate, eine Zeile vom April ist keine Antwort auf eine Frage nach gestern. Kein Treffer heißt also "nichts in diesem Zeitraum", nicht "nie ein Fehler"; gibt es ältere, nennt die Antwort deren jüngstes Datum, und ein größerer "hours"-Wert holt sie herein. Die AUSGEGEBENE ZEILENZAHL IST GEKAPPT (höchstens 20) — wie oft ein Fehler auftritt, sagt allein die dann mit genannte Gesamtzahl der Treffer, nie die Zahl der gezeigten Zeilen. Ohne "pattern" werden die jüngsten Zeilen des Protokolls ausgegeben, egal ob Fehler oder nicht: Der Webserver schreibt dort auch den Normalbetrieb hin ([NOTICE]), solche Zeilen sind KEIN Befund. Wer Fehler sucht, gibt ein Muster an, z. B. "PHP Fatal error". Zeilen, deren Zeitstempel sich nicht lesen lässt, werden mitgegeben und als "[Zeitpunkt unbekannt]" gekennzeichnet. Die zusätzlich genannten Zahlen je Protokollart gelten nicht für die Fehlerarten — deren Zählung ist auf unseren Servern nachweislich falsch und wird deshalb weggelassen; ob es Fehler gibt, sagen die Zeilen. Aus Datenschutzgründen werden nur Zeilen aus den Fehlerprotokollen ausgegeben, nie aus dem Zugriffsprotokoll, und IP-Adressen sind darin unkenntlich gemacht.
| Name | Required | Description | Default |
|---|---|---|---|
| hours | No | Zeitraum in Stunden rückwärts, Standard 24, höchstens 168 | |
| domain | Yes | Die Domain, z. B. example.de | |
| pattern | No | Suchbegriff, z. B. ein Fehlertext oder Plugin-Name. Buchstaben, Ziffern, Leerzeichen, . _ - / — höchstens 64 Zeichen, keine Sonderzeichen regulärer Ausdrücke. OHNE Muster kommen die jüngsten Protokollzeilen unabhängig davon, ob sie Fehler sind (der Webserver schreibt dort auch den Normalbetrieb hin) — für die Frage "gibt es Fehler" immer ein Muster angeben. | |
| site_url | No | Nur für eine WordPress-Installation auf einer Unterdomain mit eigenem Protokollverzeichnis. Ohne Angabe wird das Fehlerprotokoll der Domain selbst gelesen. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations only covering safety, the description adds extensive operational context: log ownership is per webserver, time filtering applies to both rows and counts, output rows are capped at 20, total hit count is the only occurrence signal, error-type counts are omitted as unreliable, unparsable timestamps are labeled, access logs are never returned, and IPs are anonymized. This is far beyond what annotations provide and none of it contradicts them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded, but the description is a single dense block that repeats schema-covered details such as the 168-hour cap and no-pattern row behavior. The length is justified by several important quirks, yet it could be tightened and structured with less duplication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must explain return behavior, and it does: row cap, total hit count, timestamp labeling, omission of error-type counts, exclusion of access logs, and IP anonymization. Together with the fully documented input schema, an agent has everything needed to call and interpret this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all four parameters, including hours, pattern syntax, and site_url behavior. The description reinforces some parameter behavior (pattern absent yields recent rows, larger hours fetches older rows, example pattern 'PHP Fatal error') but adds little syntax or format detail beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a precise verb and resource (searching a domain's error logs within a requested time range) and contrasts it with access logs and application-specific logs. It also positions itself as the first diagnostic step for white-screen or recent-error reports, so an agent can tell what it is and what it is not.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly says when to use the tool ('Erster Schritt bei „meine Seite ist weiß“ oder „seit gestern kommen Fehler“') and explains that a pattern should be supplied when the goal is to find errors. It does not name sibling tools as alternatives or state explicit when-not-to-use cases, so it stops short of a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_contact_formKontaktformular einrichtenAInspect
Legt fest, an welche E-Mail-Adresse(n) das Kontaktformular einer Website im Tarif turbopress AI Launch Nachrichten schickt (1 bis 5 Adressen), optional mit Betreff-Präfix. Nötig, bevor Formulare der Website funktionieren. Die Adressen nur so übernehmen, wie der Nutzer sie genannt hat. Gibt Hinweise zur Zustellbarkeit (SPF/DKIM) zurück – diese dem Nutzer nennen. Formulare der Website müssen an action="/_tp/form.php" method="post" senden, jedes Feld mit name-Attribut.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die Domain der Website im Tarif turbopress AI Launch, z. B. example.de | |
| recipients | Yes | Empfänger-Adressen, z. B. ["info@example.de"] | |
| subject_prefix | No | Betreff-Präfix der Mails, Standard "Kontaktanfrage" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint=false/destructiveHint=false; the description adds real behavioral context: it returns SPF/DKIM deliverability hints that must be relayed to the user, requires addresses be copied verbatim as the user stated them, and specifies the required form action endpoint and per-field name attribute. No output schema exists, so this disclosure carries weight.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action and scope, then prerequisites, then operational instructions. Every sentence contributes, though the implementation detail about the form action is a slight drift from the tool's own parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully explains what comes back (deliverability hints) and states the precondition for the tool to matter. Nothing essential for correct invocation is missing, though permission or overwrite behavior for existing recipients is unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters are already documented, and the description largely repeats the 1–5 recipient and subject-prefix facts. It adds only the handling instruction for recipients, which is marginal over the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (set the contact form's notification recipients for a turbopress AI Launch website), including scope limits (1–5 addresses, optional subject prefix). An agent can distinguish this from siblings like set_email_forwarding or set_email_alias without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear prerequisite — it is required before the website's forms work — which tells the agent when this must be invoked. It does not name alternatives or exclusion conditions, but the usage context is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_email_aliasE-Mail-Alias einrichtenAInspect
Setzt einen Alias für ein bestehendes E-Mail-Konto (z. B. "kontakt" liefert dann zusätzlich an "info"). Ein neuer Alias KOMMT ZU den bestehenden DAZU und ersetzt keinen (gemessen 2026-09-21; die frühere Auskunft "pro Mailbox ist immer nur ein Alias aktiv, ein neuer ersetzt den bisherigen still" war falsch und darf dem Kunden nicht mehr gegeben werden). Es gehen also keine Adressen verloren — dafür sammeln sie sich an. ÜBER DIESEN WEG lässt sich ein Alias nicht löschen (gemessen: Plesk lehnt einen leeren Alias ab); ENTFERNEN geht aber sehr wohl, und zwar mit remove_email_alias (seit dem 21.09.2026 gemessen — die frühere Auskunft "das geht nur im Kundenbereich" war falsch und darf dem Kunden nicht mehr gegeben werden). Welche Aliase ein Postfach hat, zeigt get_email_accounts — vor einem erneuten Aufruf dort nachsehen, damit nicht versehentlich ein weiterer dazukommt. Geprüft wird nur, dass Postfach und Alias nicht leer sind: Umlaute gehen durch diese Prüfung durch und scheitern erst bei Plesk. Ob das Postfach existiert, wird NICHT vorab geprüft: Gibt es die Mailbox nicht, wird die Aktion abgelehnt und nichts geändert — das ist keine Störung. Im Zweifel vorher get_email_accounts aufrufen, statt den Namen zu raten.
| Name | Required | Description | Default |
|---|---|---|---|
| alias | Yes | Lokaler Teil des neuen Alias, z. B. "kontakt" | |
| domain | Yes | Die Domain, z. B. example.de | |
| mailbox | Yes | Lokaler Teil des bestehenden E-Mail-Kontos, das den Alias bekommen soll, z. B. "info" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds substantial behavior beyond the readOnly/destructive hints: aliases are additive and never replace existing ones, this path cannot delete, validation only rejects empty strings (umlauts pass validation and fail later at Plesk), and a missing mailbox causes rejection with no changes rather than an error state. This is rich, non-obvious operational context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded and most sentences carry an actionable fact, but the repeated meta-commentary about which earlier statements were wrong (stated twice) is somewhat verbose for an invocation-time description. Still dense and informative rather than padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and only coarse annotations, the description fully carries the burden: it covers semantics, validation limits, failure behavior, prerequisites, and the sibling relationship. An agent has everything needed to invoke it safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3, but the description adds real meaning: it clarifies that mailbox existence is not pre-validated (rejection instead), and that the alias value passes the empty-check even with umlauts. These are value-level behaviors the schema alone does not convey.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: it sets (not replaces) an alias for an existing mailbox, with a concrete example ("kontakt" -> "info"). It also distinguishes itself from the sibling remove_email_alias by noting deletion is impossible through this path.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly routes the agent: use remove_email_alias for deletion, call get_email_accounts first to inspect existing aliases and to avoid stacking duplicates, and prefer get_email_accounts over guessing a mailbox name. When-to-use and when-not-to-use are both covered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_email_forwardingE-Mail-Weiterleitung einrichtenAInspect
Aktiviert oder deaktiviert die Weiterleitung eines bestehenden E-Mail-Kontos an eine beliebige externe Adresse (z. B. "leite info@ an meine private Gmail weiter"). target_address ist beim Aktivieren zwingend erforderlich. Ob das Postfach existiert, wird NICHT vorab geprüft: Gibt es die Mailbox nicht, wird die Aktion abgelehnt und nichts geändert — das ist keine Störung. Im Zweifel vorher get_email_accounts aufrufen, statt den Namen zu raten.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die Domain, z. B. example.de | |
| enabled | Yes | true = Weiterleitung aktivieren, false = deaktivieren | |
| mailbox | Yes | Lokaler Teil des bestehenden E-Mail-Kontos, z. B. "info" (nicht die volle Adresse) | |
| target_address | No | Ziel-E-Mail-Adresse der Weiterleitung — erforderlich wenn enabled=true. Geprüft wird nur, dass das Feld nicht leer ist; der Wert geht unverändert in EIN einzelnes Adressfeld bei Plesk. Genau EINE Adresse eintragen: Mehrere Empfänger ("a@x.de, b@y.de") oder ein Name davor ("Max Mustermann <max@gmail.com>") werden nicht hier, sondern erst von Plesk abgelehnt. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations (readOnlyHint=false, destructiveHint=false) by disclosing that mailbox existence is NOT pre-checked, that a missing mailbox causes rejection with no change made ("das ist keine Störung"), and that only non-emptiness of target_address is validated while multiple recipients or display names are rejected later by Plesk. These are exactly the failure-mode details an agent needs and cannot get from structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences, front-loaded with the core action and the required-parameter rule; every clause carries information (precondition, failure semantics, fallback tool). Slightly long and nested, but no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description covers failure behavior, validation limits, and prerequisites well enough to call the tool correctly. It omits required permissions and any note on distinguishing enable vs disable side effects, which keeps it from a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so a 3 is the baseline, but the description adds real semantics: target_address is required specifically when enabling (implying it is optional on disable) and may be an arbitrary external address. It largely echoes the schema's own notes about single-address format, so it stops short of a 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb pair (enable/disable) applied to a precise resource (forwarding of an existing mailbox to an external address), and the parenthetical example ("leite info@ an meine private Gmail weiter") makes the operation unmistakable. It is clearly distinguishable from siblings like set_email_alias or create_email_account, which act on different resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly gives the precondition (target_address mandatory when enabling) and routes the agent to an alternative: "Im Zweifel vorher get_email_accounts aufrufen, statt den Namen zu raten." It does not, however, contrast forwarding with the sibling set_email_alias, so the agent must infer that distinction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_hotlink_protectionHotlink-Schutz einstellenAInspect
Schaltet den Hotlink-Schutz einer Domain ein oder aus. Eingeschaltet können fremde Websites Dateien der Domain nicht mehr direkt einbinden — das trifft auch erwünschte Einbindungen, die dann über friendly_domains erlaubt werden müssen. Die Antwort meldet den GEWÜNSCHTEN Zustand — Plesk bestätigt nur die Annahme des Befehls. Was danach wirklich gilt, liest get_hotlink_protection; damit lässt sich eine Änderung nachprüfen, statt sie zu behaupten. ZU DEN BEIDEN LISTEN, beides live gemessen: (1) Eine angegebene Liste ERSETZT die bisherige vollständig — wer einen Eintrag HINZUFÜGEN will, muss die bestehenden MITSCHICKEN, sonst sind sie weg; den aktuellen Stand vorher mit get_hotlink_protection nachsehen, statt den Kunden aus dem Gedächtnis zu fragen. (2) Eine Liste, die nicht erwähnt wird, bleibt unverändert. LEEREN geht über diesen Weg NICHT: Das Hosting-System weist jede Schreibweise eines leeren Werts ab ("", " ", ";", "none"), deshalb wird ein ausdrücklich leerer Wert abgewiesen statt als Erfolg gemeldet. Um einen einzelnen Eintrag zu entfernen, die vollständige gewünschte Liste ohne diesen Eintrag angeben; soll gar nichts mehr drinstehen, geht das nur im Kundenbereich.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die Domain, z. B. example.de | |
| enabled | No | true (Standard) = Schutz einschalten, false = ausschalten | |
| extensions | No | Geschützte Dateiendungen, mit Semikolon getrennt. Jede Endung nur Kleinbuchstaben und Ziffern, 1–8 Zeichen, höchstens 21 Endungen. gültig: "jpg;png;gif", "jpg". abgewiesen: "JPG;PNG" (Grossbuchstaben), ".jpg;.png" (Punkt), "jpg, png" (Komma statt Semikolon). | |
| friendly_domains | No | Domains, die trotzdem einbinden dürfen, mit Semikolon getrennt. Nur Kleinbuchstaben, Ziffern, Punkt und Bindestrich, je Domain 1–80 Zeichen, höchstens 21 Domains — kein Schema wie "https://" und keine Grossbuchstaben. gültig: "partner.de", "partner.de;other.com". abgewiesen: "https://partner.de" (Schema), "www.Partner.de" (Grossbuchstabe). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes far beyond the annotations: it discloses that the response reports the DESIRED state because Plesk only acknowledges the command, that an unmentioned list is left unchanged while a supplied list fully replaces the prior one (data-loss risk), and that empty values are rejected rather than reported as success. This is exactly the kind of cache-behavior and mutation-risk context annotations cannot carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action, then verification, then list semantics — a logical order. It is somewhat long and includes advisory prose ('statt den Kunden aus dem Gedächtnis zu fragen'), but nearly every sentence carries operational information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no output schema, the description covers the desired-vs-actual response caveat, verification path, list replacement semantics, and empty-value rejection. An agent has everything needed to call it correctly and interpret the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds real meaning beyond the schema by explaining the replace-vs-untouched semantics of extensions/friendly_domains and the rejection of empty values. It does not, however, restate syntax rules that the schema already covers in detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Schaltet den Hotlink-Schutz einer Domain ein oder aus', and immediately scopes the effect (fremde Websites können Dateien nicht einbinden). It clearly separates itself from the read-side sibling get_hotlink_protection, which is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly routes the agent: use get_hotlink_protection to verify results and to read current lists before writing, use friendly_domains to whitelist intended embeds, and it states the exclusions (cannot empty via this path, must use the customer area). Names concrete alternatives and conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_site_metaSeitentitel und Beschreibung festlegenAInspect
Seitentitel und Beschreibung (so erscheint die Website bei Google) einer Website im Tarif turbopress AI Launch lesen oder setzen. Ohne title/description liefert das Tool die aktuellen Werte. turbopress setzt beides bei jeder Vorschau/Veröffentlichung in die Startseite ein (Unterseiten ohne eigenen Titel bekommen den Titel), auch bei Claude-Design-Exporten. Titel möglichst ≤ 60 Zeichen, Beschreibung ≤ 160; leerer String entfernt den Wert. apply_now=true erstellt sofort eine neue Version aus der veröffentlichten Website mit Vorschau – dem Nutzer die Vorschau zeigen und erst nach seiner ausdrücklichen Zustimmung deploy_publish mit der zurückgegebenen deploy_id aufrufen.
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | Seitentitel, z. B. "Bäckerei Sonnenschein – Frisches Brot in Dresden" | |
| domain | Yes | Die Domain der Website im Tarif turbopress AI Launch, z. B. example.de | |
| apply_now | No | true = sofort neue Version aus der Live-Website mit Vorschau erstellen | |
| description | No | Beschreibung für die Suchergebnisse, 1–2 Sätze |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only say readOnlyHint=false and destructiveHint=false; the description adds substantive behavior: turbopress injects title/description into the homepage on every preview/publish, subpages without their own title inherit it, an empty string removes the value, and apply_now immediately forks a new version from the live site. These are non-obvious side effects the agent needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the read/set purpose, then layers side effects and the apply_now/publish workflow. Dense but each clause carries needed information; slightly long, but no filler sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating tool with no output schema, it covers the read-mode return, write side effects, character guidance, empty-string semantics, and the multi-step apply_now → deploy_publish workflow. Nothing an agent needs to invoke it safely is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3, but the description adds meaning beyond the schema: SEO-recommended lengths (title ≤60, description ≤160 vs the schema's 120/320 maxima), the empty-string-removes-value convention, and the preview/deploy semantics of apply_now. It does not explain why the schema allows longer than the recommended lengths, a minor gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: reads or sets the site title and description (the Google snippet) for a turbopress AI Launch site. It is clearly distinguishable from generic siblings like update_wordpress_core or set_contact_form by naming the exact fields and their external effect.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly gives the read path (no title/description → return current values) and the write path, plus the apply_now workflow: create a preview, show it to the user, and only call deploy_publish with the returned deploy_id after explicit consent. This names the alternative tool and the condition that selects it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_spam_filterSpamfilter einstellenAInspect
Schaltet den Spamfilter eines Postfachs ein oder aus und legt fest, was mit erkanntem Spam geschieht. Achtung: action="del" löscht erkannte Nachrichten sofort und unwiederbringlich, auch bei einem Fehltreffer. Empfehlung ist "move" (Spam-Ordner) oder "mark" (nur Betreff kennzeichnen). Die Antwort dieses Werkzeugs meldet den GEWÜNSCHTEN Zustand — Plesk bestätigt nur die Annahme des Befehls. Was danach wirklich gilt, liest get_spam_filter; damit lässt sich eine Änderung nachprüfen, statt sie zu behaupten.
| Name | Required | Description | Default |
|---|---|---|---|
| hits | No | Punktzahl, ab der eine Mail als Spam gilt (1–20). Weglassen ändert NICHTS am bisherigen Wert — der Parameter wird dann gar nicht an Plesk übergeben, der zuvor gesetzte Wert bleibt stehen (kein automatisches Zurücksetzen auf Plesks Standard von 7). Den aktuell gesetzten Wert nennt get_spam_filter — dort nachsehen, statt "7" anzunehmen. | |
| action | No | mark (Standard) = nur Betreff kennzeichnen, move = in den Spam-Ordner, del = sofort löschen | |
| domain | Yes | Die Domain, z. B. example.de | |
| enabled | No | true (Standard) = Filter einschalten, false = ausschalten | |
| mailbox | Yes | Lokaler Teil des Postfachs, z. B. "info" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds substantial context beyond annotations: the irreversibility of "del", the warning about false positives, and crucially that the response reports the DESIRED state while Plesk only acknowledges the command. Annotations (readOnlyHint=false, destructiveHint=false) only say it is a non-read mutation; the description carries the real operational caveats. Slight tension worth noting: destructiveHint=false while "del" can destroy mail, but the annotation is about the tool call itself, not the configured behaviour.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core purpose, then the destructive warning, then the recommendation and verification note. Every sentence earns its place, though the final sentence about the response/verification is somewhat dense for a single sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description compensates by explaining exactly what the response means (desired state, not confirmed state) and how to verify it via get_spam_filter. For a mutation tool with no annotations covering these nuances, nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, and the schema already documents hits/action/domain/mailbox/enabled. The description still adds value by stressing the consequence of "del" and the recommended alternatives, reinforcing (without duplicating) the schema's action semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: it switches a mailbox's spam filter on/off and sets what happens to detected spam. It also implicitly separates itself from get_spam_filter (the read counterpart), so an agent can route correctly without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly warns that action="del" deletes immediately and irrecoverably even on a false positive, and recommends "move" or "mark" instead. It further prescribes the correct follow-up workflow (verify with get_spam_filter rather than assume). When-to-use and when-to-avoid are both covered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
setup_email_providerE-Mail-Anbieter einrichtenADestructiveInspect
Stellt die E-Mail-Zustellung einer Domain auf einen externen Anbieter (Google Workspace oder Microsoft 365) um — setzt MX, SPF und bei Microsoft 365 zusätzlich den Autodiscover-CNAME. ACHTUNG, Eingriff in die laufende Mailzustellung: Vorhandene MX-Einträge der Domain werden gelöscht und ERSETZT, ein vorhandener SPF-Eintrag wird mit dem Wert des Anbieters zusammengeführt und neu geschrieben. Lokale Postfächer bei turbopress empfangen danach keine Mail mehr — eingehende Mail geht vollständig an den neuen Anbieter und muss dort neu angelegt werden. Vor dem Aufruf ausdrücklich rückfragen und die betroffenen Postfächer benennen (get_email_accounts); die Antwort nennt sie ebenfalls. DKIM ist pro Kundenkonto einzigartig und muss danach mit dem vom Anbieter bereitgestellten Wert separat über add_dns_record ergänzt werden.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die Domain, z. B. example.de | |
| provider | Yes | Der einzurichtende E-Mail-Anbieter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, but the description adds crucial context beyond them: existing MX records are deleted and replaced, the SPF record is merged and rewritten, local turbopress mailboxes stop receiving mail, and DKIM requires a separate manual step. This is exactly the extra behavioral detail an agent needs for a destructive operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the action, then a clearly marked warning and follow-up steps. It is dense and somewhat long, but nearly every sentence carries operational weight given the destructive nature of the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, the description covers side effects, prerequisites, required confirmation, and follow-up DKIM steps, and even notes that the response lists affected mailboxes. Nothing an agent needs to call it safely is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are documented ('domain', provider enum). The description goes further by clarifying that the provider choice changes behavior (microsoft365 also sets an Autodiscover CNAME), adding meaning beyond the schema's flat enum list.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: it switches a domain's email delivery to an external provider (Google Workspace or Microsoft 365) by setting MX/SPF/Autodiscover records. This clearly distinguishes it from siblings like create_email_account and add_dns_record.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs the agent to ask for confirmation before calling, to name the affected mailboxes using get_email_accounts, and to add DKIM afterward via add_dns_record. It names the alternative/prerequisite tools and the conditions selecting them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_wordpress_plugin_statePlugin aktivieren oder deaktivierenADestructiveInspect
Aktiviert oder deaktiviert ein bereits installiertes WordPress-Plugin. Der wichtigste Anwendungsfall ist das Abschalten eines Plugins, das die Website zerlegt oder kompromittiert wurde. Der Plugin-Slug wird serverseitig gegen den Bestand der Installation selbst geprüft (wp-cli, nicht das WP Toolkit) — auch ein per wp-admin oder FTP eingespieltes Plugin ist damit schaltbar. Lässt sich der Bestand nicht lesen, wird der Versuch trotzdem gewagt statt fälschlich "nicht installiert" zu melden; scheitert auch er, sagt die Antwort ausdrücklich, dass das kein Beleg für ein fehlendes Plugin ist.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die Domain, z. B. example.de | |
| plugin | Yes | Slug des Plugins, z. B. "woocommerce" — nicht der Anzeigename. Es gibt derzeit KEIN Werkzeug, das alle installierten Plugins nennt: get_outdated_plugins zeigt nur die mit verfügbarem Update, get_wordpress_status nennt gar keine Namen, nur den Zähler plugins_to_update. Ist der Slug nicht bekannt, beim Kunden nachfragen statt zu raten. | |
| enabled | Yes | true = aktivieren, false = deaktivieren | |
| site_url | No | Nur nötig, wenn mehrere WordPress-Installationen auf der Domain liegen |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=true, so safety is covered structurally. The description adds real behavioral value beyond that: server-side slug verification via wp-cli, that wp-admin/FTP-installed plugins are still switchable, and the deliberate fallback that avoids falsely reporting 'not installed' — including what the failure response means.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the core action and the primary use case in the first two sentences. The wp-cli/fallback detail in the last two sentences is slightly dense but relevant to correct invocation, so little is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by explaining how failures are reported and explicitly warning that a failed attempt is not proof of a missing plugin. Combined with destructive annotations and a fully documented schema, an agent has enough to call it correctly, though auth/permission requirements are unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter is already documented; the slug caveat about there being no tool that lists installed plugins lives in the schema itself. The description adds no parameter-level detail beyond that baseline, so a 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb pair (activate/deactivate) and resource (WordPress plugin), and the 'bereits installiertes' scope implicitly separates it from install_wordpress_plugin. It stops short of naming the sibling alternative explicitly, so an agent must infer the boundary from the other tool's name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear primary use case ('Abschalten eines Plugins, das die Website zerlegt oder kompromittiert wurde'), which tells the agent when this tool is the right pick. It offers no explicit when-not conditions or named alternatives, so guidance is contextual rather than exhaustive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_performance_scanPerformance-Scan startenAInspect
Stößt bei turbometrics einen Performance-Scan an, statt auf den nächsten automatischen Lauf zu warten. Ändert am Hosting nichts. Das Ergebnis holt AUSSCHLIESSLICH get_performance_findings — es liest die Scanliste im Moment der Abfrage und zeigt damit genau diesen Lauf; get_performance_score bleibt zunächst auf dem alten Wert, weil dort der nächtliche Bericht steht. Liefert bewusst keinen Ergebnis-Link (der Scan läuft in unserem Agenturkonto, dessen Report der Kunde nicht öffnen kann). Die Antwort gibt den gemeldeten Zustand wieder, statt in jedem Fall "gestartet" zu melden: ein sofort fehlgeschlagener oder unbekannter Zustand wird als solcher benannt. Eine Laufzeit wird NICHT zugesagt — ob der Lauf durch ist, zeigt der Zeitpunkt bei get_performance_findings.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die Domain, z. B. example.de |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations (readOnlyHint=false, destructiveHint=false): states it does not affect hosting, deliberately returns no result link (agency-account explanation), reports the actual reported state rather than always 'started', and makes no runtime commitment. This is rich disclosure an agent could not get from structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core purpose, then layers behavioral detail; each sentence carries distinct information (result routing, no link, honest state reporting, no runtime promise). It is dense for a single-parameter tool but not padded, so it earns most of its length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description still characterizes the response (reflects the reported state, may name a failed/unknown state) and points to where completion is observed. Nothing an agent needs to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and only one parameter (domain) is described there as 'Die Domain, z. B. example.de'. The description adds no syntax or format detail beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('stößt ... einen Performance-Scan an') and immediately frames the scope against the automatic run. It is clearly distinguishable from the read-only siblings get_performance_findings and get_performance_score, which it explicitly names.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says when to use it (to avoid waiting for the next automatic run) and where the result lives — exclusively get_performance_findings, while get_performance_score stays stale. This routes the agent to the correct follow-up tools without inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
suggest_domain_alternativesDomain-Alternativen vorschlagenARead-onlyInspect
Schlägt verfügbare Domain-Alternativen vor, wenn die gewünschte Domain vergeben ist — prüft denselben Namen unter einer kuratierten Auswahl gängiger TLDs (.de, .com, .net, .org, .eu, .info, .online, .shop, .io, .biz) per WHOIS und liefert bis zu 5 tatsächlich verfügbare Treffer. Schlägt eine WHOIS-Abfrage fehl (z.B. Registrar-Ausfall), wird die betroffene TLD nicht als "vergeben" gewertet, sondern als fehlender Messwert benannt — das kann "keine Alternativen gefunden" von "nicht alle TLDs geprüft" unterscheidbar machen.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die ursprünglich gewünschte, nicht verfügbare Domain, z. B. example.de |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this read-only/non-destructive, and the description adds genuinely new behavior: what happens on a WHOIS failure (the TLD is not counted as taken but reported as a missing measurement), and the important consequence that 'no alternatives found' differs from 'not all TLDs checked'. That is exactly the kind of failure-mode disclosure annotations cannot carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the action and trigger, then the mechanism, then the failure semantics. Dense but each clause carries information; the long em-dash sentence is slightly heavy but not padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read-only lookup with no output schema, the description covers trigger, mechanism, result shape (up to 5 hits) and error semantics, leaving nothing an agent needs missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
One required parameter with 100% schema description coverage, so the schema already documents the 'domain' argument fully. The description adds the TLD set being probed, which is tool behavior rather than parameter meaning, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (vorschlagen), resource (Domain-Alternativen) and scope: WHOIS checks of the same name across a named curated TLD list, returning up to 5 available hits. An agent can distinguish this from check_domain_availability or prepare_domain_order without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The trigger condition is explicit – use it when the desired domain is already taken ('wenn die gewünschte Domain vergeben ist'). It does not name the sibling it complements/contrasts with (check_domain_availability), so routing is clear but not fully explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
switch_php_versionPHP-Version wechselnAInspect
Wechselt die PHP-Version einer Domain (z. B. "8.4"). Welche Versionen es gibt und welche eingestellt ist, zeigt get_php_versions — dort nachsehen, NIE mit einer geratenen Version "ausprobieren": Ein Wechselversuch kann beim Kunden als Bestätigungsknopf landen. Eine Version, die auf dem Server nicht wählbar ist, wird abgewiesen, bevor irgendetwas vorbereitet oder geändert wird; die Fehlermeldung nennt dann die wählbaren Versionen. Die gesetzte Version wird aus Plesk zurückgelesen; lässt sich der Wert nicht zurücklesen, sagt die Antwort das ausdrücklich statt den Wunschwert als bestätigt auszugeben.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die Domain, z. B. example.de | |
| php_version | Yes | Ziel-PHP-Version, GENAU im Format "X.Y" mit je einer Ziffer vor und nach dem Punkt (z. B. "8.4") — einer der Werte aus get_php_versions. Als ungültiges Format abgewiesen: "8", "8.4.1", "PHP 8.4", "8.10". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint=false, destructiveHint=false) it discloses validation-before-mutation (invalid versions are rejected before anything is prepared or changed), that the error lists the selectable versions, and that the set value is read back from Plesk with an explicit statement if the read-back fails rather than reporting the desired value as confirmed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the action, then the critical warning, then the safety/verification behavior. Dense and purposeful, though a couple of clauses (e.g. "bevor irgendetwas vorbereitet oder geändert wird") are mildly redundant for a two-parameter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and only two boolean annotations, the description carries the return/verification burden and does so: it explains read-back behavior and honest failure reporting. Only permissions/required role are not addressed, a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and php_version already documents the exact X.Y format and rejected forms. The description only adds an example ("8.4") and the pointer to get_php_versions, which is incremental over the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource+scope: "Wechselt die PHP-Version einer Domain". It explicitly names the sibling get_php_versions as the read-before-write counterpart, so an agent can distinguish it from the getter without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit when-to-use and a hard when-not-to: check get_php_versions first and NEVER try a guessed version, with the reason stated (a switch attempt can surface as a confirmation button to the customer). The alternative tool is named directly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_wordpress_coreWordPress aktualisierenADestructiveInspect
Aktualisiert den WordPress-Core auf die neueste Version. Erstellt davor automatisch ein Sicherheits-Backup und weist dessen Vorhandensein nach — lässt es sich nicht erstellen oder nicht nachweisen, wird NICHT aktualisiert. Ein Core-Update kann bis zu 30 Minuten dauern — falls die Bestätigung nicht rechtzeitig eintrifft, meldet das Tool ehrlich "unverified" statt fälschlich Erfolg oder Fehlschlag zu behaupten; in dem Fall get_wordpress_status später separat prüfen.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Die Domain, z. B. example.de | |
| site_url | No | Bei mehreren WordPress-Installationen auf derselben Domain: welche gemeint ist |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes far beyond the destructiveHint=true/readOnlyHint=false annotations: it discloses the automatic pre-backup and its verification gate, that failure aborts the update, the up-to-30-minute runtime, and the honest 'unverified' outcome instead of a false success/failure. This is exactly the extra behavioral context the annotations cannot carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the action, then the backup safety gate, then the timeout behavior. It is on the longer side, but nearly every clause carries operational meaning (precondition, expected duration, fallback status check).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, long-running mutation with no output schema, the description supplies the missing return semantics ('unverified' vs success) and the follow-up step. Nothing essential for correct invocation is absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters (domain, site_url) are already documented in the schema. The description adds no syntax or format detail beyond it, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Aktualisiert den WordPress-Core auf die neueste Version') with scope clearly bounded to core, which the agent can distinguish from the sibling update_wordpress_item (plugins/themes). An agent knows exactly what this mutates without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a concrete precondition (backup must be created and verifiable, otherwise no update) and explicitly routes the agent to get_wordpress_status when the result is 'unverified'. It lacks explicit 'use X instead for plugins' routing, but the usage context is clear and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_wordpress_itemPlugin oder Theme aktualisierenADestructiveInspect
Aktualisiert EIN einzelnes WordPress-Plugin oder -Theme (slug aus get_outdated_plugins). Der Slug wird zuerst gegen die tatsächlich installierten Erweiterungen geprüft — ist er dort nicht zu finden, bricht das Tool ab, OHNE einen der drei Backup-Plätze zu verbrauchen. Danach wird ein Sicherheits-Backup erstellt und dessen Vorhandensein nachgewiesen; lässt es sich nicht erstellen oder nicht nachweisen, wird NICHT aktualisiert. Nach dem Update wird die tatsächlich installierte Version auf der Installation NACHGELESEN und genannt — „aktualisiert" allein wird nie behauptet. Lässt sie sich nicht nachlesen, sagt die Antwort das ausdrücklich, statt Erfolg oder Fehlschlag zu behaupten. Nie "alle auf einmal", immer nur ein Element pro Aufruf.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Der Plugin-/Theme-Slug, z. B. "litespeed-cache" (siehe get_outdated_plugins) | |
| domain | Yes | Die Domain, z. B. example.de | |
| site_url | No | Bei mehreren WordPress-Installationen auf derselben Domain: welche gemeint ist | |
| item_type | Yes | Ob ein Plugin oder ein Theme aktualisiert werden soll |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (which only declare destructive/not-read-only), the description discloses a rich behavioral contract: slug pre-validation that aborts without consuming one of three backup slots, mandatory security backup with proof-of-existence, and post-update read-back of the actually installed version with explicit honesty about unverifiable outcomes. This is exactly the operational detail an agent needs for a destructive mutation and is not available in the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The critical behavior (single item, slug validation, backup gating, no false success claims) is front-loaded, and each sentence carries operational weight. It is somewhat verbose, restating the honesty guarantee twice ('aktualisiert allein wird nie behauptet' and 'statt Erfolg oder Fehlschlag zu behaupten'), which keeps it from a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, backup-gated mutation with no output schema, the description covers the full lifecycle an agent must anticipate: validation/abort path, backup precondition, update, and version verification result reporting. Nothing essential to calling it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so domain, slug, site_url and item_type are already documented in the schema. The description adds only the slug's provenance (get_outdated_plugins) and the one-item-per-call constraint, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a precise verb+resource+scope: it updates ONE single WordPress plugin or theme, keyed by a slug drawn from get_outdated_plugins. The 'EIN einzelnes' scope plus the plugin/theme distinction clearly separates it from update_wordpress_core and from install/set-state siblings without needing their schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear usage context: the slug is sourced from get_outdated_plugins, only one element may be updated per call ('Nie alle auf einmal'), and item_type selects plugin vs theme. It does not explicitly name alternative tools (update_wordpress_core, install_wordpress_plugin) or state when NOT to call it, so it stops short of full when/why-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
93 tool updates
- First observed
activate_turbometrics - First observed
add_dns_record - First observed
apply_wordpress_security_measure - First observed
check_domain_availability - First observed
check_wordpress_integrity - First observed
clear_wordpress_cache - First observed
close_support_ticket - First observed
create_cronjob - First observed
create_database - First observed
create_database_user - First observed
create_email_account - First observed
create_ftp_account - First observed
create_protected_directory - First observed
create_ssl_certificate - First observed
create_staging_site - First observed
create_support_ticket - First observed
create_wordpress_backup - First observed
delete_cronjob - First observed
delete_database - First observed
delete_database_user - First observed
delete_dns_record - First observed
delete_ftp_account - First observed
delete_wordpress_backup - First observed
deploy_begin - First observed
deploy_git - First observed
deploy_import_asset - First observed
deploy_list - First observed
deploy_preview - First observed
deploy_publish - First observed
deploy_put_file - First observed
deploy_rollback - First observed
diagnose_website - First observed
fix_https_redirect - First observed
get_backup_status - First observed
get_cloudlinux_status - First observed
get_cronjobs - First observed
get_databases - First observed
get_dns_records - First observed
get_dns_security - First observed
get_domain_redirects - First observed
get_domains - First observed
get_email_accounts - First observed
get_email_status - First observed
get_ftp_accounts - First observed
get_hosting_packages - First observed
get_hotlink_protection - First observed
get_invoices - First observed
get_outdated_plugins - First observed
get_performance_alerts - First observed
get_performance_findings - First observed
get_performance_score - First observed
get_php_versions - First observed
get_security_status - First observed
get_spam_filter - First observed
get_ssl_status - First observed
get_storage_breakdown - First observed
get_support_tickets - First observed
get_webmail_url - First observed
get_website_report - First observed
get_webspace_usage - First observed
get_wordpress_backups - First observed
get_wordpress_hardening - First observed
get_wordpress_sites - First observed
get_wordpress_status - First observed
install_wordpress_plugin - First observed
list_wordpress_admins - First observed
prepare_domain_order - First observed
prepare_hosting_order - First observed
redirect_domain - First observed
remove_domain_redirect - First observed
remove_email_alias - First observed
remove_protected_directory - First observed
reply_to_ticket - First observed
reset_email_password - First observed
reset_ftp_password - First observed
reset_wordpress_admin_password - First observed
restore_wordpress_backup - First observed
revert_wordpress_security_measure - First observed
scan_wordpress_vulnerabilities - First observed
search_domain_error_log - First observed
set_contact_form - First observed
set_email_alias - First observed
set_email_forwarding - First observed
set_hotlink_protection - First observed
set_site_meta - First observed
set_spam_filter - First observed
set_wordpress_plugin_state - First observed
setup_email_provider - First observed
start_performance_scan - First observed
suggest_domain_alternatives - First observed
switch_php_version - First observed
update_wordpress_core - First observed
update_wordpress_item
Publisher details
- Operator
- Dipalino UG (haftungsbeschränkt), operator of turbopress, Dresden, Germany · Publisher source
- Operator website
- https://turbopress.de/ · Publisher source
- Vendor relationship
- First-party · Publisher source
- Documentation
- https://panel.turbopress.de/knowledgebase/168/KI-Zugriff-Dein-Hosting-per-Claude-oder-ChatGPT-abfragen.html
- Trust center
- https://turbopress.de/dsgvo-hosting/
- Restrictions
- Requires a turbopress hosting account (customers only, OAuth sign-in). The website publishing tools (AI Launch) require the AI Launch plan.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.1622 npm1MIT
- AlicenseCqualityBmaintenanceCompetitor Monitor AI - MCP server providing AI-powered tools and automation by MEOK AI Labs1114 npm40 PyPIMIT
- AlicenseAqualityCmaintenanceRevnuvo Company Intelligence tells AI agents what changed at a company, with evidence. It observes company websites, technologies, and DNS over time and returns timestamped, confidence-aware changes, signals, and monitoring.9MIT

industrylens-mcpofficial
AlicenseNot gradedqualityBmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.