Skip to main content
Glama

Server Details

Ontology platform for field service: AI agents observe, connect and act on business objects.

Ownership verified
Status
Healthy
Uptime
88.9% over 22 days
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
telesherpa/telesherpa-mcp
GitHub Stars
0
Server Listing
Telesherpa Agentic Enterprise Platform

TDQS

C2.9/5.0

Scored across 109 tools

Disambiguation2/5

Multiple tools have overlapping or identical functionality (e.g., onto_object_show vs ontouser_object_show, onto_interface_show vs ontouser_interface_show, get_notifications vs ontouser_notification_index), and many object manipulation variants (set_property vs update vs delete_property) create unclear boundaries despite descriptive text. The agent must disambiguate by scope and intent, which is error-prone at 109 tools.

Naming Consistency3/5

All names are snake_case, but the server mixes three prefix conventions (onto_, ontouser_, unprefixed) and both verb-noun (show_formdef) and noun-verb (onto_object_show) orders. Families are somewhat predictable, but the overall pattern is inconsistent.

Tool Count1/5

109 tools is far beyond a reasonable MCP surface (rubric: 50+ extreme mismatch). The server exposes many admin/user/duplicate variants and auxiliary operations that could be consolidated.

Completeness3/5

Core object CRUD, properties, links, scopes, forms, reports, triggers, functions, credits, notifications, and files are covered, but there are notable gaps: no direct create/update/delete for object types (only show), no delete for property sets, and no way for users to delete their own scopes. These gaps could cause agent dead ends.

Available Tools

109 tools
activateAInspect

Activate a registered account with the voucher code from the activation email. Meldet sich intern mit loginusername/loginpassword an und loest dann den Voucher ein. Nach der Registrierung per E-Mail erhaltenen 7-stelligen Aktivierungscode hier eingeben. Den Code bekommst du entweder vom Menschen genannt (Standardweg — einfach danach fragen, die Mail kommt in einer Minute) oder per IMAP aus dem Postfach. Benötigt die Login-Daten (E-Mail + Passwort) des registrierten Accounts. Entfernt die 'notactivated'-Rolle und gibt vollen Zugriff. | EN: activation, onboarding, account setup

ParametersJSON Schema
NameRequiredDescriptionDefault
voucherYesAktivierungscode aus der E-Mail
loginpasswordYesPasswort des registrierten Accounts
loginusernameYesE-Mail-Adresse des registrierten Accounts

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations cover the safety profile (not readOnly, not idempotent, open-world, non-destructive). The description adds genuinely useful behavior beyond that: it deletes the 'notactivated' role and grants full access, and it requires the account's login credentials. These side-effect and auth disclosures are exactly the value structured data does 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.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The same idea — the code arrives by activation email — is restated three times across the German and English fragments, and the English is bolted on awkwardly. The mixed-language content is redundant rather than additive, so length is not earned.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 3-param mutation with no output schema, it covers the essentials: purpose, required credentials, the code's origin and format, and the account-state side effect. An agent has enough to invoke it correctly; only the absence of explicit sibling routing keeps it from a 5.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

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 goes beyond it by stating the voucher is a 7-digit activation code delivered by email and by identifying loginusername/loginpassword as the registered account's email + password, giving the agent the expected format and source.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (activate) and resource (registered account) with the mechanism (voucher code). It implicitly distinguishes from register (which comes before) and renew_account, though it doesn't name those siblings explicitly. The German sentences dilute but don't obscure the purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives real workflow guidance for obtaining the code (ask the human on the standard path, otherwise pull via IMAP), which is more than the bare minimum. However, it never clarifies when to choose this over register, renew_account, or redeem_invite_code, so the routing guidance against siblings is only implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

add_code_allowlist_entryAInspect

Eine einzelne E-Mail-Adresse oder ein Adressmuster zur Allowlist eines Codes hinzufuegen. Ergaenzt bestehende Eintraege (loescht nichts). Nutze es fuer einzelne Nachzuegler; fuer viele Adressen ist der Excel-Upload upload_code_allowlist der richtige Weg. Entfernen: delete_code_allowlist_entry. | EN: allowlist, permission, whitelist, code

ParametersJSON Schema
NameRequiredDescriptionDefault
code_idYesCode-ID
patternYesz.B. 'hans@firma-x.de', 'firma-x.de' oder '*@*.subauftrag-x.de'
pattern_typeYes'email' (exakte Adresse), 'domain' (alles nach @) oder 'glob' (Wildcard * und ?, sicher in Regex uebersetzt, kein rohes Regex)

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=false and readOnlyHint=false. The description adds the key behavioral detail that it appends to existing entries and deletes nothing, which clarifies the additive nature beyond the binary destructive hint. It does not cover idempotency explicitly, though the annotation covers it.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core action, then adds behavioral and usage context in short sentences. The trailing '| EN: allowlist, permission, whitelist, code' keywords are slightly extraneous for an agent but do not significantly harm readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With full schema parameter descriptions, clear annotations, and no output schema, the description is complete enough for an agent to call the tool correctly. It covers purpose, usage conditions, alternatives, and the additive behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 fully documented in the schema itself. The description mentions email addresses and patterns but adds no syntax or format details beyond what the schema already provides, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: adding a single email address or pattern to a code's allowlist. It explicitly distinguishes itself from sibling tools by naming upload_code_allowlist for bulk additions and delete_code_allowlist_entry for removal.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit when-to-use guidance ('fuer einzelne Nachzuegler') and names the alternative for bulk operations ('fuer viele Adressen ist der Excel-Upload upload_code_allowlist der richtige Weg'). It also points to the removal tool, leaving no ambiguity about tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

auth_statusA
Read-onlyIdempotent
Inspect

WICHTIG bei 'nur wenige Tools sichtbar': zeigt den Auth-Zustand dieser Verbindung im Klartext — ob dein Bearer-Token gültig ist, welche Rollen er hat und was als naechstes zu tun ist. Rufe dieses Tool auf, wenn du unerwartet wenige Tools siehst (statt zu raten). Rein lesend. Der Agent-Guide der Plattform (Einstieg, Referenzen, Best Practices) liegt als SKILL.md im Codeberg-Repo https://codeberg.org/telesherpa/skill-telesherpa-com (Unterordner telesherpa-ontology-platform/); diese Antwort nennt guide_repo, guide_entry und guide_version. | EN: auth, status, codeberg, guide, skill

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds meaningful return-content context (it reports token validity, roles, and next steps, plus guide_repo / guide_entry / guide_version), which is valuable because no output schema exists; the only redundancy is restating 'Rein lesend'.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core content is front-loaded under 'WICHTIG', which is good, but the text is a dense bilingual paragraph and the trailing '| EN: auth, status, codeberg, guide, skill' keyword list is search-engine padding that does not help an agent decide or invoke. 'Rein lesend' also repeats the readOnlyHint annotation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

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 adequately: it names the auth facts reported (validity, roles, next action) and the guide_* fields returned. It stops short of describing the full response shape, but 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.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there is nothing for the description to disambiguate and the baseline is 4. It correctly signals a no-argument diagnostic call rather than implying any filtering or input is needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb+resource: it diagnoses the auth state of the current connection, naming exactly what is reported (bearer-token validity, roles) and what to do next. This clearly separates it from siblings like login, refresh_access_token, or change_password, which mutate credentials rather than report status.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives an explicit triggering condition — call it when unexpectedly few tools are visible — and explicitly rejects the wrong behavior ('statt zu raten' / instead of guessing). It also points to the platform guide for the broader workflow, so the agent knows both when to call it and where to go afterwards.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

change_passwordAInspect

Das Passwort des EIGENEN Kontos aendern. Nutze es, wenn der Mensch das Passwort wechseln will. Das alte Passwort ist Pflicht; das neue muss zweimal identisch uebergeben werden. Es aendert nur das eigene Konto — fremde Passwoerter kann auch ein Administrator nicht setzen (Konten verwaltet er mit onto_user_update). Nach der Aenderung sind laufende Tokens des Kontos weiterhin gueltig; eine Neuanmeldung ist nicht noetig. | EN: password, credentials, account

ParametersJSON Schema
NameRequiredDescriptionDefault
passwordNoNew password (required for POST)
old_passwordNoCurrent password (required for POST)
password_confirmNoConfirm new password (required for POST)

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations: old password is mandatory, the new password must be supplied twice identically, only the caller's own account is affected, and existing tokens stay valid so no re-login is needed. These are non-obvious behavioral consequences an agent could not derive from readOnlyHint/destructiveHint alone.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the core action and the usage rule, then adds constraints and side effects in a logical order. The trailing '| EN: password, credentials, account' keyword block is slightly SEO-like filler, but the body is otherwise efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

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 and no required-parameter markers, the description covers inputs, scope, and post-change token behavior adequately. It stops short of mentioning error conditions (e.g., wrong old password), which is the only meaningful gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

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: it clarifies that the old password is required and that the new password must match the confirmation field exactly. This reinforces the semantics of old_password and password_confirm beyond their terse schema text.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Passwort des EIGENEN Kontos aendern') with explicit scope limited to the caller's own account. It distinguishes itself from the sibling onto_user_update by noting that even administrators cannot set foreign passwords. An agent can select 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.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit trigger ('Nutze es, wenn der Mensch das Passwort wechseln will') and names the alternative (onto_user_update) for account administration. It also states an exclusion — foreign passwords are out of scope — 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.

change_profileA
Idempotent
Inspect

Das Profil des EIGENEN Kontos lesen oder aendern (Anzeigename, Telefon, Organisation, Notizen, Skills). Ohne Felder aufgerufen liefert es den Ist-Stand; mit Feldern aendert es. Nutze es fuer Stammdaten der eigenen Person. Es aendert KEINE Zugriffsrechte (Rollen) — dafuer ist ein Administrator zustaendig (onto_user_update). Fremde Profile: onto_user_update_profile. Das eigene Konto samt Rollen lesen: onto_user_get. | EN: file, upload, document, attachment

ParametersJSON Schema
NameRequiredDescriptionDefault
notesNoNotes
phoneNoPhone number
skillsNoSkills
displaynameNoNew display name
organisationNoOrganisation

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=true, openWorldHint=false). The description goes beyond them by disclosing the dual read/write mode (no fields = read, fields = write) and by scoping the mutation strictly to personal master data, excluding access rights/roles. It does not contradict the annotations; the readOnlyHint=false correctly reflects that the tool can write.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core is front-loaded and efficient: purpose first, then the read/write rule, then sibling routing. However, the trailing '| EN: file, upload, document, attachment' is unrelated keyword noise that does not earn its place and actively risks misleading an agent into thinking this tool touches files or documents.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple 5-optional-string tool with no output schema, the description covers mode semantics, scope, and sibling routing adequately, and annotations supply the safety profile. The only gap is the misleading English keyword tail, which slightly undercuts an otherwise complete definition.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and all 5 optional string parameters are documented in the schema itself, so the baseline is 3. The description restates the fields (Anzeigename, Telefon, Organisation, Notizen, Skills) but adds no format, constraint, or partial-update semantics beyond what the schema already conveys.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource pair: reading or changing the profile of one's OWN account, and enumerates the affected fields (display name, phone, organisation, notes, skills). It explicitly distinguishes itself from the sibling operations onto_user_update (roles, admin only), onto_user_update_profile (other people's profiles), and onto_user_get (own account including roles). An agent can tell it apart from 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.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit conditional behavior: called without fields it returns the current state, called with fields it mutates. It names the alternatives and the exact condition that selects them (roles require an admin via onto_user_update, foreign profiles go to onto_user_update_profile, own account plus roles go to onto_user_get). Nothing 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.

create_invite_codeAInspect

Einen Einladungscode anlegen, mit dem sich neue Mitglieder selbst registrieren koennen. Der Code steuert, welchen Zugang der Beitragende erhaelt. Nutze es zum Anwerben von Mitgliedern/Subunternehmern. Den Code weitergeben (nicht hier ablegen) und mit list_invite_codes verwalten; ungueltig machen: revoke_invite_code. Weg (b) nach der Registrierung: nach dem eigenen Aufbau Menschen und andere Agenten in deinen Scope einladen. Die Einladung geht in beide Richtungen | EN: invitation, invite, voucher, code, bundle

ParametersJSON Schema
NameRequiredDescriptionDefault
labelNoFreitext-Notiz zur Unterscheidung mehrerer Codes (z.B. 'Pflegeteam Q3')
can_readNo1 = Code vergibt Lese-Recht
max_usesNoMaximale Anzahl Einloesungen (leer = unbegrenzt)
scope_idYesScope-ID, fuer den der Code gelten soll. Braucht can_manage_scope=1.
can_writeNo1 = Code vergibt Schreib-Recht
expires_daysNoCode laeuft nach so vielen Tagen ab (Default 30). Bereits beigetretene Mitglieder bleiben Mitglied, auch nach Ablauf.
can_manage_scopeNo1 = Code vergibt Verwalten-Recht (kann selbst wieder Codes/Mitglieder verwalten)

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare write/non-idempotent/non-destructive/open-world, so the description's added value is the operational context: the code governs which access rights the redeemer receives, it must be shared rather than retained, and the invitation is bidirectional. It does not restate auth requirements (those live in the schema) but adds meaningful behavioral framing 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded in the first sentence, followed by usage, alternatives, and workflow context in a compact block with no redundancy. Trailing lines are short directives rather than filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 7-parameter write tool with full schema coverage and no output schema, the description covers purpose, alternatives, and key behavior; the implicit return of a code is suggested by 'den Code weitergeben'. It stops short of describing the response shape or auth needs, but the schema carries those.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so every parameter (label, can_read, can_write, can_manage_scope, max_uses, expires_days, scope_id) is already documented in the schema, including the can_manage_scope=1 prerequisite. The description only gestures at the access-rights concept, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The first sentence states a specific verb (anlegen) and resource (Einladungscode) and explains the effect: new members self-register with it. It explicitly distinguishes itself from list_invite_codes (manage) and revoke_invite_code (invalidate), so an agent can route correctly 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.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states when to use it ('Anwerben von Mitgliedern/Subunternehmern') and names the two sibling alternatives with their conditions — list_invite_codes for management and revoke_invite_code for invalidation. The 'pass the code on, don't store it here' instruction is a concrete usage directive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_code_allowlist_entryA
Destructive
Inspect

Einen Eintrag aus der Allowlist eines Codes entfernen. Betrifft nur die Zulassung — bereits registrierte Konten bleiben bestehen. Nutze es, um einzelne Adressen zu sperren. Bulk-Ersetzung der ganzen Liste: upload_code_allowlist. | EN: allowlist, permission, whitelist, code

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesID des Allowlist-Eintrags (aus list_code_allowlist)

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and idempotentHint=false, so the safety profile is covered. The description adds non-obvious impact context beyond the annotations: deletion only revokes admission and already-registered accounts remain, which clarifies the blast radius. It stops short of stating auth requirements or confirmation behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the action, then impact, then routing, in three tight sentences. The trailing '| EN: allowlist, permission, whitelist, code' keyword block is redundant padding for an agent reader, costing it the top mark.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter destructive tool with annotations covering safety and no output schema, the description covers action, side effects, and the alternative. Only minor gaps remain (permission prerequisites, error/return behavior).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the schema itself notes the id comes from list_code_allowlist. The description adds no parameter-level detail, so the baseline of 3 applies when structured data carries the full parameter burden.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Einen Eintrag aus der Allowlist eines Codes entfernen') and immediately differentiates from the sibling upload_code_allowlist by scope (single entry vs. bulk list replacement). An agent can distinguish this from add_code_allowlist_entry and list_code_allowlist 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.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit use case ('Nutze es, um einzelne Adressen zu sperren') and names the alternative for the contrasting case ('Bulk-Ersetzung der ganzen Liste: upload_code_allowlist'), so the routing decision is fully specified.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_documentA
Read-onlyIdempotent
Inspect

Ein Dokument (PDF, Office-Datei) ueber urlslug und filetoken als Rohdatei abrufen. Rein lesend. Nutze es, wenn du die beiden Kennungen hast. Fuer Bilder gibt es get_image; die Kennungen bekommst du aus dem Objekt (onto_object_show). Nicht zum Hochladen: dafuer upload_file_to_object. | EN: get, document

ParametersJSON Schema
NameRequiredDescriptionDefault
urlslugYesURL slug for the file
filetokenYesFile token

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint/idempotentHint/destructiveHint, so 'Rein lesend' is partly redundant, but the description adds non-annotation context: the response is a raw binary file (Rohdatei) rather than JSON, and the tokens must be sourced from onto_object_show. It says nothing about size limits, auth, or failure on a bad token, 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the action and return form, then usage routing, all in a few tight sentences. The trailing '| EN: get, document' machine tag adds little for an agent but is not wasteful enough to drop below 4.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description correctly carries the burden of saying the return is a raw file, and it covers both the positive path and the two main confusions (images, uploads). Minor gaps remain around invalid/expired tokens and any size behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the terse schema descriptions ('URL slug for the file', 'File token') set the baseline at 3. The description goes beyond it by naming the provenance of both identifiers (the object from onto_object_show) and by confirming both are required identifiers rather than optional filters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (abrufen/get) and resource (Dokument als PDF/Office-Rohdatei), plus the exact two keys required to address it. It explicitly distinguishes itself from get_image and upload_file_to_object, so an agent can identify it among the ~100 siblings 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.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives affirmative use context ('Nutze es, wenn du die beiden Kennungen hast'), an exclusion ('Nicht zum Hochladen: dafuer upload_file_to_object'), a redirect for a different media type ('Fuer Bilder gibt es get_image'), and even tells the agent where to obtain the two tokens (onto_object_show). That is explicit when/when-not/alternatives guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_imageA
Read-onlyIdempotent
Inspect

Ein Bild ueber urlslug und filetoken als Rohdatei abrufen. Rein lesend. Nutze es, wenn du die beiden Kennungen hast (sie stehen an Objekten/Bildablagen). Ohne filetoken kommst du an die Datei nicht heran — die Kennungen liefert dir das Objekt (onto_object_show) oder die strukturierte Ablage (onto_file_structured). Nicht zum Hochladen: dafuer upload_file_to_object. | EN: get, image

ParametersJSON Schema
NameRequiredDescriptionDefault
urlslugYesURL slug for the file
filetokenYesFile token

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only, idempotent, non-destructive behavior, and the description reinforces 'Rein lesend'. It adds useful behavioral context by noting the raw file output and the hard prerequisite of having a filetoken (without it the file is inaccessible). However, it does not discuss authentication, rate limits, or error handling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core instruction is front-loaded in the first sentence, and the remaining content is relevant (prerequisites, source of identifiers, negative routing). The trailing '| EN: get, image' is slightly redundant but does not obscure meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the rich annotations, full schema description coverage, and absence of an output schema, the description provides everything needed: purpose, usage conditions, identifier sources, output format ('Rohdatei'), and a clear alternative for the upload case.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and provides basic descriptions for both parameters. The description adds semantic value by explaining that these identifiers live on objects/image repositories and how to retrieve them via sibling tools, which goes beyond the schema's minimal definitions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('abrufen') and resource ('Bild') and clarifies the output form ('als Rohdatei'). It also distinguishes itself from the upload sibling, 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.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use it ('wenn du die beiden Kennungen hast'), where to obtain the required identifiers (onto_object_show or onto_file_structured), and names the alternative for uploading (upload_file_to_object). This leaves no ambiguity about when and how to invoke it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_notificationsA
Read-onlyIdempotent
Inspect

Die eigenen Benachrichtigungen abrufen (Meldungen des angemeldeten Kontos). Rein lesend. Nutze es, um neue Meldungen zu finden. Die Self-Service-Variante mit gleichem Inhalt ist ontouser_notification_index — nimm sie, wenn du als Scope-Nutzer arbeitest. Meldungen als gelesen markieren: ontouser_notification_read. Systemprotokolle (Admin): onto_action_logs. | EN: notification, message, alert, inbox, unread

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, and the description is consistent with them ('Rein lesend'). It adds useful context beyond the annotations by clarifying that the data is scoped to the authenticated account's own inbox and by pointing to the mutation counterpart, though it says nothing about volume/pagination of the result.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded, followed by the routing rules, and the trailing EN keyword line aids retrieval. It is a dense run-on with several cross-references, but every clause carries routing value, so little is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a parameterless, read-only list tool with annotations covering the safety profile and no output schema, the description supplies purpose, scope, and sibling alternatives. The only gap is return shape (count, ordering, unread flag), which is minor for this tool class.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so per the rubric the baseline is 4; there is nothing for the description to disambiguate. The description correctly gives no parameter guidance, which is appropriate here.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource+scope: retrieving the logged-in account's own notifications ('Die eigenen Benachrichtigungen abrufen (Meldungen des angemeldeten Kontos)'). It also names the closely-related siblings (ontouser_notification_index, ontouser_notification_read, onto_action_logs), so an agent can separate this tool from near-identical ones 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.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit when-to-use routing: use this to find new notifications, switch to ontouser_notification_index when acting as a scope user, use ontouser_notification_read to mark as read, and onto_action_logs for admin system logs. Both the alternatives and the conditions that select them are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_code_allowlistA
Read-onlyIdempotent
Inspect

Die E-Mail-Allowlist eines Einladungscodes lesen (welche Adressen/Muster zugelassen sind). Rein lesend. Nutze es als Ist-Stand vor Aenderungen. Einzelne Eintraege ergaenzen/entfernen: add_code_allowlist_entry / delete_code_allowlist_entry. Massen-Upload per Excel: upload_code_allowlist. | EN: allowlist, permission, whitelist, code

ParametersJSON Schema
NameRequiredDescriptionDefault
code_idYesCode-ID, dessen Allowlist-Eintraege gelistet werden sollen. Leere Liste = jeder darf den Code einloesen.

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the description's 'Rein lesend' is largely redundant with structured data. It does add that an empty list means anyone may redeem the code, but that semantics lives in the schema parameter description, not here. No return-shape or pagination behavior is disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action and the usage/alternative guidance, with no filler sentences. The trailing '| EN: allowlist, permission, whitelist, code' keyword line is retrieval-oriented metadata rather than instruction, a minor structural cost but a reasonable trade for discoverability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

One required parameter, full schema coverage, and annotations that cover the safety profile, so the description is close to sufficient. The one gap is that with no output schema, it never indicates what the listing returns (entry objects, pattern types, ordering), which an agent would otherwise have to discover empirically.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single required code_id parameter, and the schema itself carries the important semantic (empty list = everyone may redeem). The tool description adds no parameter-level syntax, format, or constraint 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.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: read the email allowlist of an invite code, with a parenthetical clarifying what the entries are (addresses/patterns). It also names the sibling tools that mutate the same resource (add/delete/upload), so an agent can place it precisely among them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says to use it as the current-state baseline before making changes, and routes to the exact alternatives for the other operations: add_code_allowlist_entry / delete_code_allowlist_entry for single entries and upload_code_allowlist for bulk Excel upload. When-to-use and which-alternative 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.

list_formdefsA
Read-onlyIdempotent
Inspect

Liste aller Formulare (formdefs), die fuer dich sichtbar sind - mit udid, Titel, Feld-Anzahl und je Feld key/label/widget/required. ERSTER SCHRITT, um fachlich das passende Formular zu waehlen: hier siehst du, welche Formulare es gibt und welche Felder sie haben. Die udid nimmst du fuer show_formdef. Sichtbar sind nur Formulare in deinen Scopes (fail-closed). | EN: list, formdefs

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/strictly safe behavior. The description adds important context beyond annotations: visibility is fail-closed to the caller's scopes, and it enumerates the returned fields (udid, title, field count, per-field key/label/widget/required). Pagination and error behavior are not mentioned, keeping it slightly 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.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The German description is reasonably front-loaded but includes redundant visibility statements ('die fuer dich sichtbar sind' then 'Sichtbar sind nur Formulare in deinen Scopes') and an unnecessary English tag '| EN: list, formdefs' that adds no value. It could be tightened without loss.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

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 parameters, no output schema, and rich annotations, the description covers purpose, next-step usage, visibility constraint, and returned field contents. Minor omissions like pagination or empty-result behavior prevent a 5.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Zero parameters with 100% schema coverage, so the schema carries no burden. The description correctly omits any parameter discussion; baseline 4 applies with no additional semantics needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Liste aller Formulare (formdefs)') and summarizes the returned fields. It names show_formdef as the next step, but does not explicitly distinguish from the sibling onto_formdef_list_templates, so it falls short of perfect sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Clearly positions the tool as the 'ERSTER SCHRITT' for choosing a form and explains that the udid is used with show_formdef. No explicit when-not-to-use or alternative-listing guidance is given, but usage context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_invite_codesA
Read-onlyIdempotent
Inspect

Die eigenen Einladungscodes auflisten (wer wurde eingeladen, ist der Code noch gueltig). Rein lesend. Nutze es, um den Code fuer die Weitergabe oder zum Widerrufen zu finden. Neuen Code anlegen: create_invite_code. Ungueltig machen: revoke_invite_code. Die E-Mail-Allowlist eines Codes zeigt list_code_allowlist. | EN: invitation, invite, voucher, code, bundle

ParametersJSON Schema
NameRequiredDescriptionDefault
scope_idYesScope-ID, dessen Codes gelistet werden sollen. Braucht can_manage_scope=1 auf diesem Scope.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false. The description adds return content (who was invited, whether the code is still valid) and reiterates 'rein lesend', but does not disclose output format or pagination. With annotations carrying the safety profile, the added context is useful but not exhaustive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose and usage, followed by alternatives. The 'Rein lesend' clause duplicates the readOnlyHint annotation, and the trailing EN keywords are search aids, but overall the description is efficient and well-organized.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter read tool with full schema coverage and rich annotations, the description covers purpose, usage, alternatives, and return content. No output schema exists, and the description sufficiently explains what is returned.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the schema fully documents scope_id including the can_manage_scope=1 requirement. The description adds no parameter-level meaning beyond what the schema provides, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('auflisten') and resource ('Einladungscodes') and explicitly distinguishes from siblings by naming create_invite_code, revoke_invite_code, and list_code_allowlist. It also clarifies that the list is scoped to the user's own codes, leaving no ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says to use it to find a code for sharing or revoking, and names the alternative tools for creating, invalidating, and viewing allowlists. This provides clear when-to-use and alternatives without requiring inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_membersA
Read-onlyIdempotent
Inspect

Die Mitglieder eines eigenen Bereiches auflisten (wer gehoert dazu). Rein lesend. Nutze es, um den Ist-Stand vor Aenderungen zu sehen. Rechte aendern: toggle_member_flag; entfernen: remove_member. Zugang einladen: create_invite_code. | EN: member, participant, membership, team

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoSeite (20 Mitglieder pro Seite), Default 1
scope_idYesScope-ID. Braucht can_manage_scope=1. Liefert NUR email + Rechte + sp_id je Mitglied, keine weiteren Profildaten.

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so 'Rein lesend' largely repeats structured data. The description does add scoping context ('eigenen Bereiches') and the pre-change inspection purpose, but says nothing about pagination behavior or result limits beyond what the schema provides, so a 3 is appropriate against an annotation-covered baseline.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded and the three routing clauses are compact and useful. The trailing '| EN: member, participant, membership, team' block is keyword padding rather than operative instruction, which slightly dilutes an otherwise tight definition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only listing tool whose safety profile is fully covered by annotations, the description supplies purpose, scoping, and sibling routing. Return-value detail lives in the schema's scope_id description, and there is no output schema to account for, so the only minor gap is explicit pagination guidance.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the schema itself carries the meaningful details (20 members per page default, can_manage_scope=1 requirement, and that only email + rights + sp_id are returned). The description adds no parameter-level information beyond the schema, so the baseline 3 is correct.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Mitglieder ... auflisten') plus a scope qualifier ('eigenen Bereiches'), so the agent knows exactly what is returned. It also names the sibling operations it is not (toggle_member_flag, remove_member), making it distinguishable 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.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit when-to-use ('den Ist-Stand vor Aenderungen zu sehen') and routes three adjacent operations to their correct tools: rights changes to toggle_member_flag, removal to remove_member, invitations to create_invite_code. The alternatives and the selecting condition are spelled out.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

loginA
Read-only
Inspect

Ein Bearer-Token holen: tauscht client_id (E-Mail) und client_secret (Passwort) gegen access_token + refresh_token. Das ist der Einstieg — ohne Token sind nur die oeffentlichen Tools sichtbar. Nutze es einmalig am Anfang; das Token gilt 10 Stunden. Danach NICHT erneut einloggen, sondern mit refresh_access_token erneuern (dafuer braucht es kein Passwort). Passwort vergessen? Dafuer gibt es kein Tool — das macht der Mensch ueber die Weboberflaeche. Ein Konto gibt es noch nicht: vorher register. Speichere access_token (10 h) UND refresh_token (30 Tage) sofort dauerhaft — die Antwort kommt nur einmal. Mit refresh_access_token (grant_type=refresh_token) erneuerst du ohne Passwort. | EN: login, authentication, sign in, token

ParametersJSON Schema
NameRequiredDescriptionDefault
client_idYesYour username/email
client_secretYesYour password/secret

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds substantial context beyond the readOnly/openWorld/idempotent annotations: 10-hour access token, 30-day refresh token, the response being returned only once and needing immediate storage, and the fact that unauthenticated sessions see only public tools. None of this is recoverable from 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action and dense with useful constraints, but the refresh_access_token instruction is repeated twice (once as 'don't log in again' and again as the grant_type=refresh_token note), which is avoidable redundancy in an otherwise efficient block.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description correctly describes the return payload (access_token + refresh_token) and their lifetimes, plus prerequisites (register first) and credentials semantics. An agent has everything needed to call and follow up correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the schema already documents client_id as username/email and client_secret as password/secret, so the description's parenthetical glosses are pure duplication with no added syntax, format, or constraint detail. Baseline 3 applies when the schema does all the work.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Ein Bearer-Token holen' – exchange credentials for tokens) and immediately frames it as the entry point. It distinguishes itself from sibling auth tools by naming refresh_access_token and register explicitly, so an agent can differentiate without opening other schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit when-to-use (once at the beginning), when-not (do NOT log in again; use refresh_access_token, which needs no password), and named alternatives for adjacent cases (register for no account, web UI for forgotten password). Routing is unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

onto_actiondef_deleteA
DestructiveIdempotent
Inspect

Actiondef loeschen (Button entfernen). Rechte: Scope-Manager/Schreiber (can_manage_scope/can_write). | EN: action, button, definition, gate, condition, rule

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYesSchluessel der Actiondef

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, idempotentHint=true and readOnlyHint=false, so the safety profile is covered. The description adds genuine value beyond them by naming the required authorization scope (can_manage_scope/can_write), which the annotations do not convey. It does not explain reversibility or side effects on dependent data, 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.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core sentence is compact and the permission note is useful, but the trailing "| EN: action, button, definition, gate, condition, rule" is keyword stuffing that does not earn its place. The definition is short overall but not tightly front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter destructive delete whose annotations already carry the safety profile, the description covers purpose and authorization adequately. It would be fully complete with a note on what happens to objects that referenced the deleted definition.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 'key' parameter, so the schema does the heavy lifting. The description adds nothing about the key's format or semantics, making the baseline 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

"Actiondef loeschen (Button entfernen)" states a specific verb (delete) and resource (actiondef), and the parenthetical clarifies what an actiondef is for an agent unfamiliar with the domain. It does not, however, explicitly distinguish itself from its siblings onto_actiondef_list and onto_actiondef_save, 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.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description states a precondition (requires Scope-Manager/Writer, can_manage_scope/can_write), which is useful, but gives no when-to-use vs when-not guidance and never references the sibling save/list tools. Usage is only implied by the verb.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

onto_actiondef_listA
Read-onlyIdempotent
Inspect

Die nutzbaren Action-Definitionen auflisten (welche Buttons an welchen Objekten erscheinen). Rein lesend. Nutze es, wenn du wissen willst, welche Aktion du auf einem Objekt ausfuehren kannst — den key uebergibst du an onto_object_execute_action. Anlegen/Aendern: onto_actiondef_save. | EN: action, button, definition, gate, condition, rule

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoSeitennummer (Default 1)
limitNoErgebnisse pro Seite, 1..200; der Wert gilt fuer die Sitzung (Standard 10)

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint/idempotentHint/destructiveHint, so the safety profile is covered; "Rein lesend" merely restates it. The description does add useful context by explaining how the returned keys feed into onto_object_execute_action and what the definitions gate, which goes beyond 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads purpose, then read-only status, usage condition, and alternatives in a logical flow. The trailing EN keyword list is slightly noisy but serves discovery and does not bury the key information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

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 full annotation coverage and a documented schema, the description is essentially complete; it even describes the conceptual return (which buttons on which objects). No output schema exists, but none is needed for a simple list.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (page, limit fully documented in German), so the schema already carries parameter meaning. The description adds nothing about pagination or limits, which is acceptable given the baseline for full coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ("auflisten") and resource ("Action-Definitionen") and clarifies what they represent ("welche Buttons an welchen Objekten erscheinen"). It also distinguishes itself from the sibling onto_actiondef_save for create/modify.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit use condition ("wenn du wissen willst, welche Aktion du auf einem Objekt ausfuehren kannst") and routes the agent to two named alternatives: onto_object_execute_action (to consume the key) and onto_actiondef_save (for create/modify).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

onto_actiondef_saveA
DestructiveIdempotent
Inspect

Actiondef anlegen/aendern (Button am Objekt). PFLICHT: body.scopes mit den Scope-IDs, an denen der Button erscheinen soll — du musst dort Manager (can_manage_scope) oder Schreiber (can_write) sein, sonst 403. PUBLIC (15) nur fuer Admins. Beispiel fuer 'Formular am Standort ausfuellen': body = {"object_types":["building"],"scopes":[7],"roles":["member"],"action":{"type":"form_answer","name":"Visite","form":""}}. action.type 'form_answer' oeffnet das Formular und verknuepft die Antwort mit dem Objekt. Actions sind SCOPE-Daten, nicht global. Sehen darf sie, wer einen der Scopes in body.scopes[] lesen darf; AUSFUEHREN nur, wenn das Scope des Objekts in body.scopes[] steht (oder die Def public:true traegt). Ein Mitglied mit can_manage_scope auf SEINEM Scope darf dort eigene Actions anlegen (Kopie der Plattform-Action mit body.scopes=[eigener Scope]) und so die Standard-Actions im eigenen Scope nutzbar machen. Beim Anlegen genau EIN Ziel-Scope. public:true und der PUBLIC-Scope 15 sind Administratoren vorbehalten, SQL-Bedingungen ebenfalls. Ein Scope-Manager kann Actions in seinem Scope per hidden_actions abschalten. | EN: action, button, definition, gate, condition, rule

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYesTechnischer Schluessel (a-zA-Z0-9_), z.B. pflege_visite
bodyYesActiondef-JSON als STRING, z.B. {"object_types":["building"],"scopes":[7],"action":{"type":"form_answer","form":"<udid>"}}
labelYesAnzeigetext des Buttons
descriptionNoBeschreibung (optional)

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations (destructiveHint/openWorld/idempotent): it discloses the 403 authorization failure mode, admin-only restrictions on public:true/PUBLIC scope/SQL conditions, the visibility-vs-execution distinction tied to body.scopes[], and the hidden_actions opt-out a scope manager can use. This is exactly the extra mutation 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.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the verb and the PFLICHT requirement well, but the paragraph is long and drifts into tangential rules (members cloning platform actions, hidden_actions suppression) that are not needed to invoke the tool, and it ends with keyword-stuffed tags ('action, button, definition, gate...'). Useful content, but not tightly scoped.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive, non-open-world mutation with no output schema, the definition supplies permissions, scope semantics, an example payload and admin carve-outs — enough to call it correctly. It does not describe the success response or what happens on update versus create, a minor remaining gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is already 100%, so the non-zero value comes from the description unpacking body — a JSON string whose scopes[] is mandatory, plus a worked example with object_types, roles and action.type 'form_answer' linking the answer to the object. That adds real meaning beyond the schema's terse body description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb pair and resource: 'Actiondef anlegen/aendern (Button am Objekt)' — create/update an action definition (object button). An agent can immediately distinguish it from siblings onto_actiondef_delete and onto_actiondef_list 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.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives strong usage conditions: body.scopes is mandatory, the caller must be Manager (can_manage_scope) or Writer (can_write) on those scopes or get 403, PUBLIC scope 15 is admin-only, and exactly one target scope is allowed at creation. It stops short of explicitly routing to sibling tools (list/delete) for other operations, so it is clear context but not full alternative coverage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

onto_catalog_applyA
Destructive
Inspect

Ein Preset auf einen Scope anwenden und damit dessen Objekttypen anlegen/aendern. Aendert das Modell des Scopes und kann bestehende Typdefinitionen ueberschreiben. Pruefe vorher mit onto_catalog_index, was enthalten ist. Rueckgaengig: onto_catalog_clear. Der bisherige Wert ist danach weg (keine Historie, kein Undo). | EN: catalog, preset, template, apply, clear

ParametersJSON Schema
NameRequiredDescriptionDefault
presetsYesPreset-Namen (mehrere moeglich, Mengen werden vereinigt). Leeres Array = alle entfernen.
scope_idYesZiel-Scope-ID

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and idempotentHint=false, but the description adds concrete consequences beyond them: existing type definitions can be overwritten and the previous value is unrecoverable (keine Historie, kein Undo). It doesn't cover permissions or rate limits, 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The destructive warning and prerequisite are front-loaded across three tight sentences. The trailing '| EN: catalog, preset, template, apply, clear' keyword block is mild clutter but arguably aids search.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive mutation tool with no output schema, the description covers effect, prerequisite, reversibility and irreversibility. Return-value behavior is unaddressed, but that is a minor gap for this operation type.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the schema already documents both parameters, including the union/empty-array semantics. The description adds no syntax or format 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.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Ein Preset auf einen Scope anwenden') plus the effect on the scope's object types, which cleanly distinguishes it from siblings onto_catalog_index (read), onto_catalog_presets (list) and onto_catalog_clear (undo). An agent can route to 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.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly names the prerequisite ('Pruefe vorher mit onto_catalog_index') and the rollback alternative ('Rueckgaengig: onto_catalog_clear'), so both when-to-use and how-to-recover are 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.

onto_catalog_clearA
DestructiveIdempotent
Inspect

Die per Preset angelegten Objekttypen eines Scopes wieder entfernen. Einschneidend — pruefe vorher, ob Objekte dieser Typen existieren (onto_object_index); sonst werden sie unerreichbar. Nutze es zum Zuruecknehmen von onto_catalog_apply. Einzelne Typen entfernst du gezielter mit onto_type_delete. | EN: catalog, preset, template, apply, clear

ParametersJSON Schema
NameRequiredDescriptionDefault
scope_idYesZiel-Scope-ID

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and idempotentHint=true, so the safety profile is covered. The description earns credit by disclosing the downstream consequence that isn't in the annotations: objects of the removed types become unreachable, which is why the pre-check is advised. It still omits authorization/permission requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the action, then the risk warning, then the undo use case and the alternative. Efficient and well ordered; the 'EN:' keyword tail is minor tag padding rather than prose waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive, single-parameter mutation with no output schema, the description covers the action, its irreversible consequence, a mitigating pre-check, and the alternative tool - everything an agent needs to call it safely.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for the single scope_id parameter ('Ziel-Scope-ID'). The description adds no syntax or constraint detail beyond the schema, so the baseline 3 is appropriate when the schema carries the parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb (removes) applied to a precise resource: the preset-created object types of a scope. It distinguishes itself from siblings by naming onto_catalog_apply (the inverse) and onto_type_delete (the narrower alternative), so an agent can route 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.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit when-to-use ('zum Zuruecknehmen von onto_catalog_apply'), a concrete prerequisite step (check object existence via onto_object_index first), and a named alternative for partial removal (onto_type_delete). Nothing 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.

onto_catalog_indexA
Read-onlyIdempotent
Inspect

Den Objekttypen-Katalog lesen (welche Typen in welchen Presets gebuendelt sind). Rein lesend. Nutze es, um zu sehen, was ein Preset enthalten wuerde, BEVOR du es anwendest. Die verfuegbaren Presets listet onto_catalog_presets. | EN: catalog, preset, template, apply, clear

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so 'Rein lesend' largely restates structured data. The description does add the content shape (type-to-preset mapping) and the safe pre-apply check framing, but says nothing about response size, pagination, or failure modes. With annotations carrying the safety profile, this is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The operative German sentences are front-loaded and waste-free, but the appended '| EN: catalog, preset, template, apply, clear' block is keyword stuffing rather than agent-relevant guidance. That trailing barcode of terms adds no semantic value and dilutes otherwise tight prose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter read tool with no output schema, the description needs to convey what comes back, and it does (which types sit in which presets) plus when to call it. Missing only minor specifics like result format/pagination, which are low-risk here.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes no parameters and the schema coverage is 100%, so there is nothing for the description to disambiguate. Baseline 4 applies; no parameter behavior is left unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: reading the object type catalog and which types are bundled into which presets. It also distinguishes itself from siblings by name, pointing to onto_catalog_presets for the preset list and referencing the apply step. An agent can tell what this returns 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.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly instructs to use it to preview what a preset would contain BEFORE applying it, which is a concrete decision rule. It also names the alternative tool (onto_catalog_presets) for the adjacent need, so routing between the three onto_catalog_* tools is unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

onto_catalog_presetsA
Read-onlyIdempotent
Inspect

Die verfuegbaren Objekttyp-Presets auflisten (vorbereitete Typ-Buendel zur Auswahl). Rein lesend. Nutze es als Einstieg, wenn ein Scope mit Standardtypen ausgestattet werden soll. Anwenden: onto_catalog_apply. Inhalt eines Presets: onto_catalog_index. | EN: catalog, preset, template, apply, clear

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description repeats 'Rein lesend' and adds usage context, but does not disclose additional behavioral details such as authentication needs, rate limits, or output format. With annotations covering the safety profile, this is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose, followed by usage guidance and related tools. It is appropriately sized, though the 'Rein lesend' phrase duplicates the readOnlyHint annotation and the trailing English keyword list is a minor structural add-on.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple, zero-parameter listing tool with rich annotations and no output schema, the description covers purpose, usage entry point, and sibling routing. It does not describe the return shape, but the reference to onto_catalog_index for preset contents partially compensates.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and the schema is empty, so there is no parameter semantics to document. Per the rules, zero parameters yields a baseline of 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Die verfuegbaren Objekttyp-Presets auflisten') and clarifies what presets are ('vorbereitete Typ-Buendel zur Auswahl'). It explicitly names sibling tools (onto_catalog_apply, onto_catalog_index), making it easy to distinguish from related catalog operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives an explicit entry-point condition ('Nutze es als Einstieg, wenn ein Scope mit Standardtypen ausgestattet werden soll') and routes the agent to specific alternatives for applying (onto_catalog_apply) and inspecting a preset (onto_catalog_index). No inference is required.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

onto_credit_balanceA
Read-onlyIdempotent
Inspect

Das aktuelle Credit-Guthaben abrufen (Pay-per-Use-Konto). Rein lesend. Nutze es, um vor kostspieligen Aktionen zu pruefen, ob Guthaben vorhanden ist. Was eine Aktion kostet, zeigt onto_credit_pricing; aufladen kannst du mit onto_credit_chargeup oder onto_credit_checkout. | EN: credit, balance, pricing, billing, top-up, checkout

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so 'Rein lesend' largely restates structured data. The description does add that this applies to a Pay-per-Use-Konto, which is useful context, but says nothing about return format, units, or freshness of the balance.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core action is front-loaded in the first clause, followed by usage guidance and alternatives in a compact form. The trailing keyword tag ('| EN: credit, balance, pricing, ...') is search padding rather than information, and 'Rein lesend' duplicates the annotations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, read-only, annotation-covered tool with no output schema, the description covers what it returns (current credit balance) and when to call it. Only the shape/units of the returned balance and any caching or rate-limit behavior are unstated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so the baseline is 4 and there is no parameter semantics for the description to add. It correctly does not invent or imply inputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Das aktuelle Credit-Guthaben abrufen') and scopes it to a pay-per-use account. It is clearly distinguishable from the sibling credit tools (pricing, chargeup, checkout) 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.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit when-to-use condition ('vor kostspieligen Aktionen pruefen, ob Guthaben vorhanden ist') and routes the agent to the correct alternatives: onto_credit_pricing for costs, onto_credit_chargeup / onto_credit_checkout for topping up. Nothing about sibling 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.

onto_credit_chargeupAInspect

Credits aufladen (Guthaben erhoehen). Bewegt echtes Geld bzw. loest eine Zahlung aus — nutze es nur auf ausdrueckliche Ansage. Der Betrag ist eine Zahlung, keine Rueckgabe. Alternative Zahlwege: onto_credit_checkout oder onto_credit_create_prepaid. Stand danach: onto_credit_balance. | EN: credit, balance, pricing, billing, top-up, checkout

ParametersJSON Schema
NameRequiredDescriptionDefault
creditsNoGuthaben manuell aufladen (nur Admin)
prepaid_codeNoPrepaid-Code (Agent-Self-Service)

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, openWorldHint=true and idempotentHint=false, so the bar is lower. The description still adds valuable context beyond them: it moves real money / triggers a payment, requires explicit instruction, and clarifies the amount is a payment not a refund. It does not describe failure/retry behavior, which keeps 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The warning about real-money movement and the sibling alternatives are front-loaded and each sentence earns its place. The trailing keyword block ('| EN: credit, balance, pricing, billing, top-up, checkout') is search fodder rather than agent-facing content and slightly dilutes the otherwise tight structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a money-moving tool with no output schema, the description covers the critical dimensions: what it does, the danger profile, the required precondition, the alternatives, and the follow-up tool for verifying the new balance. 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.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents both parameters (credits = admin manual top-up, prepaid_code = agent self-service), making 3 the baseline. The description adds directional meaning not in the schema by clarifying the amount is an outbound payment rather than a refund, and by flagging that prepaid/checkout are alternative paths.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Credits aufladen / Guthaben erhoehen') and explicitly names the sibling alternatives (onto_credit_checkout, onto_credit_create_prepaid). An agent can distinguish this from other credit tools 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.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives an explicit when-to-use constraint ('nutze es nur auf ausdrueckliche Ansage') and names two alternative payment routes by tool name, plus the follow-up state check (onto_credit_balance). This is exactly the routing guidance an agent needs.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

onto_credit_checkoutAInspect

Credits per Checkout erwerben (Bezahlvorgang starten). Loest einen Zahlungsvorgang aus — nur auf ausdrueckliche Ansage ausfuehren. Fuer eine direkte Aufladung gibt es onto_credit_chargeup, fuer vorausbezahlte Kontingente onto_credit_create_prepaid. Den Erfolg prueft onto_credit_balance. | EN: credit, balance, pricing, billing, top-up, checkout

ParametersJSON Schema
NameRequiredDescriptionDefault
creditsYesAnzahl Credits (1 Credit = 0,01 EUR)

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnlyHint=false, idempotentHint=false, openWorldHint=true), so the bar is lower, but the description still adds genuinely new behavioral context: this triggers a real external payment flow and must only be invoked on explicit user instruction, and success is verified via onto_credit_balance. It stops short of stating cost implications, failure/rollback behavior, or auth requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the action and the safety constraint, then routing, then verification. The trailing EN keyword list is retrieval padding rather than agent-facing prose, which is a minor blemish on an otherwise tight two-to-three sentence block.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter, non-idempotent payment trigger with no output schema, the description covers the important gaps: that it is a real payment, that it needs explicit consent, and where to check the outcome (onto_credit_balance). Only deeper failure/permission semantics are absent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single parameter already documents 'Anzahl Credits (1 Credit = 0,01 EUR)'. The description adds no format, range, or unit 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.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Credits per Checkout erwerben', i.e. start a payment/checkout) and explicitly contrasts itself with two named siblings (onto_credit_chargeup for direct top-up, onto_credit_create_prepaid for prepaid contingents). An agent can distinguish this from the other credit tools 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.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit when ('start a payment transaction'), an explicit when-not/guard ('nur auf ausdrueckliche Ansage ausfuehren' – only run on explicit user instruction), and names the alternative tools for adjacent needs. Routing and the confirmation prerequisite are both stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

onto_credit_pricingB
Read-onlyIdempotent
Inspect

Credit-Kosten pro Aktion (Pay-per-Use). Zeigt, wie viele Credits jede Operation verbraucht. Flat-User (billing_model=flat) zahlen keine Credits. 1 Credit = 0,01 EUR. | EN: credit, balance, pricing, billing, top-up, checkout

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered. The description adds genuinely useful semantics beyond that: flat-model users incur no credits and 1 credit = 0.01 EUR, which helps the agent interpret results. It does not describe return format or scope of the pricing table, so it stays at an adequate 3.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core two sentences are tight and front-loaded, but the appended 'EN: ...' keyword list is SEO-style filler that repeats concepts already present and names terms belonging to sibling tools, adding noise rather than clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only, parameterless pricing lookup with no output schema, the description conveys what the agent will learn (per-operation credit costs, currency conversion, flat-user exemption). Enough to call and interpret it correctly, though it never states the shape or granularity of the returned pricing listing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are zero parameters and the schema is an empty object, so there is nothing for the description to document; the baseline for a parameterless tool is 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific resource (credit costs per action, pay-per-use) and verb-like function (show how many credits each operation consumes). It is distinguishable from onto_credit_balance, onto_credit_chargeup, and onto_credit_checkout, but the trailing 'EN: credit, balance, pricing, billing, top-up, checkout' keyword blob overlaps with those siblings' domains and muddies differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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, and no sibling alternatives named. The only conditional signal is the informal note that flat-billing users pay nothing, which is context rather than routing advice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

onto_credit_receiptA
Read-onlyIdempotent
Inspect

Beleg zu einer SumUp-Aufladung lesen (Bestellnummer, Datum, Betrag, Credits, Status, Transaktion, Zahlungsdaten). Rein lesend; nur der eigene Beleg, fremde und nicht vorhandene Bestellnummern ergeben dieselbe 404. Kartentoken und BIN werden nicht ausgegeben. Die Bestellnummer steht in onto_credit_balance. | EN: credit, receipt, invoice, bill, sumup, order, paid, top-up

ParametersJSON Schema
NameRequiredDescriptionDefault
order_idYesBestellnummer der Aufladung (steht als order_id an der Zeile chargeup:sumup in onto_credit_balance)

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (which already declare read-only/idempotent/non-destructive), the description adds real behavioral detail: foreign and non-existent order numbers return the same 404 (anti-enumeration), and card token and BIN are withheld from output. This is substantive context an agent could not infer 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose and return fields are front-loaded, followed by the safety/redaction notes, so the important content comes first. The trailing EN keyword list adds search noise but is a consistent convention; overall it is dense and mostly earns its length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

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 listing the returned fields (order number, date, amount, credits, status, transaction, payment data) and noting the redactions. An agent has enough to invoke 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.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single order_id parameter is already documented in the schema, including its origin at the chargeup:sumup line of onto_credit_balance. The description largely restates this, 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.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Beleg zu einer SumUp-Aufladung lesen') and enumerates the returned fields, so an agent knows exactly what the tool fetches. It is clearly distinguishable from sibling credit tools like onto_credit_balance and onto_credit_chargeup.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear operating context: it is read-only, only returns the caller's own receipt, and explicitly points to onto_credit_balance as the source of the order number. It stops short of an explicit 'use this instead of X when Y' routing statement, but the prerequisite is well covered.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

onto_favorite_addAInspect

Ein Objekt zu den eigenen Favoriten hinzufuegen (merken). Wirkt nur auf das eigene Konto und aendert keine Objektdaten. Nutze es fuer haeufig gebrauchte Objekte. Jeder Aufruf legt einen NEUEN Eintrag an — auch bei gleicher URL, weil der aktuelle Filter mitgespeichert wird. Mehrfaches Aufrufen mit gleichen Argumenten erzeugt also Duplikate; vorher mit onto_favorite_index pruefen. Entfernen: onto_favorite_delete. | EN: favorite, bookmark, quick access

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesZiel-URL des Favoriten (Pflicht)
titleNoAnzeigetitel (optional, Default: Favorit)

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only flag non-destructive and non-idempotent; the description explains WHY: every call creates a NEW entry even for the same URL because the current filter is stored alongside, so repeated calls with identical arguments produce duplicates. It also discloses the account scoping and that object data is untouched — context 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The action is front-loaded, followed by scope, then the duplicate-creation caveat, then the alternatives — a sensible ordering with no filler. The trailing bilingual keyword tag ('| EN: favorite, bookmark, quick access') is minor search metadata rather than content, so not a full 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter mutation with no output schema, the description supplies everything needed to call it safely: scope, required input role, the non-idempotency trap, and the sibling to check first or use to undo.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and both fields (url required, title optional with default) are already documented in the schema. The description only implies that url is the identity key ('auch bei gleicher URL') without adding format or validation detail, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Ein Objekt zu den eigenen Favoriten hinzufuegen') and constrains the effect to the caller's own account. It explicitly names the retrieval sibling (onto_favorite_index) and the inverse operation (onto_favorite_delete), so an agent can place it among the favorite_* family 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.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit use case ('fuer haeufig gebrauchte Objekte'), a pre-check workflow ('vorher mit onto_favorite_index pruefen') and a removal alternative (onto_favorite_delete). It does not mention onto_favorite_toggle, the closest sibling, so the agent is left to infer when to use additive add versus toggle.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

onto_favorite_deleteA
DestructiveIdempotent
Inspect

Ein Objekt aus den eigenen Favoriten entfernen. Loescht NUR die Merkung, nicht das Objekt selbst — das bleibt unberuehrt. Wirkt nur auf das eigene Konto. Das Objekt selbst loeschst du mit onto_object_delete. | EN: favorite, bookmark, quick access

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesFavoriten-ID aus onto_favorite_index (Pflicht)

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds real value beyond the annotations: destructiveHint=true could easily be read as deleting the object, and the description explicitly corrects that ('Loescht NUR die Merkung, nicht das Objekt selbst'). It also discloses the account scoping constraint, which no annotation conveys.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the action and the key non-obvious caveat; roughly three short sentences with no filler. The trailing 'EN: favorite, bookmark, quick access' tag block is search-oriented cruft rather than instruction.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter, non-read-only, idempotent mutation with no output schema, the description covers the risky ambiguity (bookmark vs object) and the routing alternative. Return/deleted-state confirmation is not described, but that is a minor gap at this complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single parameter already documents its origin (Favoriten-ID aus onto_favorite_index). The description adds nothing about the id 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.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb + resource (remove an object from one's own favorites) with explicit scope. It distinguishes itself from onto_favorite_add, onto_favorite_toggle, onto_favorite_index and onto_object_delete by name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

States the condition that switches to another tool ('Das Objekt selbst loeschst du mit onto_object_delete') and restricts scope to the caller's own account. It does not, however, contrast itself with onto_favorite_toggle, the closest behavioural sibling, leaving that choice to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

onto_favorite_indexA
Read-onlyIdempotent
Inspect

Die eigenen Favoriten auflisten (gemerkte Objekte des angemeldeten Kontos). Rein lesend. Nutze es, um schnell auf haeufig gebrauchte Objekte zuzugreifen. Ein Objekt merken: onto_favorite_add; entfernen: onto_favorite_delete. Alle Objekte (nicht nur Favoriten) zeigt onto_object_index. | EN: favorite, bookmark, quick access

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description's "Rein lesend" is redundant with the annotations; its only added context is the account-scoping (only the logged-in user's favorites are returned). No pagination or result-shape detail is given, so 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action, then alternatives, then a short English keyword tail ("favorite, bookmark, quick access") that aids discovery. Slightly dense with three sibling references, but every sentence carries routing value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-param, read-only list tool with no output schema, the description covers purpose, scope, safety, and alternatives adequately. It could say a bit more about what a favorite entry contains, but nothing needed for correct invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there is no parameter semantics to explain and the baseline is 4. The description correctly implies no filtering arguments are required.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("Die eigenen Favoriten auflisten") plus scope (gemerkte Objekte des angemeldeten Kontos), and explicitly names the adjacent siblings onto_favorite_add, onto_favorite_delete, and onto_object_index. An agent can distinguish this from the toggle/add/delete/index 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.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit routing: use onto_favorite_add to bookmark, onto_favorite_delete to remove, and onto_object_index for all objects rather than favorites. The when-to-use intent ("schnell auf haeufig gebrauchte Objekte zuzugreifen") is also stated, 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.

onto_favorite_toggleAInspect

Favoriten-Status eines Objekts umschalten (merken <-> nicht gemerkt). Wirkt nur auf das eigene Konto. Achtung: Nebenwirkung — ist die URL schon Favorit, wird der Eintrag GELOESCHT, sonst angelegt. Ein zweiter Aufruf mit gleicher URL macht den ersten rueckgaengig. Nutze es, wenn du den Ausgangszustand nicht kennst — du brauchst dann kein Vorab-Lesen. Gezielt merken: onto_favorite_add, gezielt entfernen: onto_favorite_delete. | EN: favorite, bookmark, quick access

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesZiel-URL des Favoriten (Pflicht)
titleNoAnzeigetitel (optional, Default: Favorit)

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations by disclosing the toggle side-effect (existing entry is DELETED, otherwise created) and that a second call reverses the first — crucial for a tool annotated idempotentHint=false, destructiveHint=false. It does not state permission/auth requirements, but the annotations already rule out open-world reads. The deletion of a bookmark entry is arguably at odds with destructiveHint=false, though it is self-reversing, so this is a tension rather than a flat contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the action, then the critical warning, then routing to siblings. Slightly long and mixes German with a trailing EN keyword line, but every sentence carries actionable information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

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 the mutation semantics, reversibility, account scoping, and sibling alternatives — everything an agent needs to invoke it correctly without a pre-read.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and both parameters are documented in the schema, so the baseline is 3. The description adds only implicit context (same URL toggles back) rather than new parameter-level semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Favoriten-Status eines Objekts umschalten') with the toggle direction spelled out (merken <-> nicht gemerkt) and the account scope. It is immediately distinguishable from the sibling onto_favorite_add / onto_favorite_delete, which are named.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to prefer this tool ('Nutze es, wenn du den Ausgangszustand nicht kennst — du brauchst dann kein Vorab-Lesen') and names both alternatives for the directed cases (onto_favorite_add, onto_favorite_delete). When/when-not/alternatives are all covered.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

onto_file_deleteA
DestructiveIdempotent
Inspect

Eine Datei aus der strukturierten Ablage loeschen. Unwiderruflich — pruefe vorher, ob Objekte darauf verweisen. Der Datensatz des Objekts bleibt bestehen, nur die Datei entfaellt. Zum Ersetzen einfach erneut hochladen (upload_file_to_object). | EN: file, image, document, attachment, upload

ParametersJSON Schema
NameRequiredDescriptionDefault
file_idNoDatei-ID (alternativ)
file_udidYesDatei-udid

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and idempotentHint=true, but the description adds genuinely new behavior: the deletion is irreversible, dangling references should be checked first, the parent object record survives, and re-uploading restores a file. That is real context beyond the annotation flags, though permissions/auth requirements and any post-delete response are unstated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four short, front-loaded sentences with the irreversibility warning placed high, and no filler. The trailing keyword block ("| EN: file, image, document, attachment, upload") is a discoverability artifact rather than agent-facing instruction, which keeps it just short of a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-purpose deletion tool with full annotation coverage and no output schema, the description covers the essentials: what is destroyed, what survives, the referential pre-check, and the recovery path. Only the auth/permission requirement and any error-on-referenced-file behavior are left implicit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both file_id and file_udid are already documented in the schema and the description adds nothing about them. Baseline 3 applies when the schema carries the parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb + resource ("Eine Datei aus der strukturierten Ablage loeschen") and immediately scopes it: the object record persists and only the file is removed. That scope sentence is what separates it from the similarly-named sibling onto_object_delete, so an agent can pick correctly 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.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a concrete pre-condition ("pruefe vorher, ob Objekte darauf verweisen") and points at the replacement path via the named sibling upload_file_to_object. It does not, however, state when NOT to use this tool (e.g. use onto_object_delete to remove the record itself), so the routing guidance is good but not exhaustive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

onto_file_structuredA
Read-onlyIdempotent
Inspect

Eine Datei aus der strukturierten Ablage abrufen (Metadaten und/oder Inhalt). Rein lesend. Nutze es, wenn du die Datei ueber ihre Kennung kennst. Einen Upload machst du mit upload_file_to_object; die Kategorien der Ablage zeigt onto_scope_structuredimage_categories. | EN: file, image, document, attachment, upload

ParametersJSON Schema
NameRequiredDescriptionDefault
object_idYesObjekt-udid (32-hex). Liefert die Bildkategorien des Objekts (imagename, caption, info) ZUSAMMEN mit den dort bereits hochgeladenen Bildern und object_scope_id. DAS ist der Weg zum Einsortieren eines Uploads in die richtige Kategorie — kein Verwaltungsrecht noetig (nur Zugriff auf das Objekt). Die Kategorien-DEFINITION eines Scopes bearbeitet dagegen onto_scope_structuredimage_categories.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, and the description merely restates 'Rein lesend'. It adds no new behavioral context such as auth/permission needs, error cases, or response shape — contextual details that exist only in the schema, not here.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the purpose and keeps the operational guidance tight in one flowing passage. The trailing 'EN: file, image, document, attachment, upload' is retrieval-oriented keyword padding rather than useful prose, but it is short enough not to obscure the core content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter, annotation-covered read tool with no output schema, the description covers retrieval scope, the routing alternative, and the related category tool. Nothing critical for correct invocation is missing, though return/pagination behavior is left unstated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single object_id parameter is richly documented in the schema itself (32-hex format, what it returns, and how it relates to scope category definitions). The description adds no parameter-level 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.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Eine Datei aus der strukturierten Ablage abrufen') plus the scope of what is returned (Metadaten und/oder Inhalt). It differentiates from the write sibling upload_file_to_object, though it does not distinguish itself from other read siblings like get_document or get_image.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit usage condition ('Nutze es, wenn du die Datei ueber ihre Kennung kennst') and names the alternative for the opposite operation ('Einen Upload machst du mit upload_file_to_object'), plus a pointer to onto_scope_structuredimage_categories for categories. No explicit when-not guidance, but the routing is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

onto_formdef_createAInspect

NEUES Formular anlegen. Legt das form-Objekt an und schreibt eine minimale gueltige Definition (1 Feld), die du danach mit onto_formdef_save ausbaust. MIT from_udid wird die Definition einer Vorlage kopiert (dann werden Felder uebernommen, Sichtbarkeit auf den Ziel-Scope gestellt und adminsql entfernt, falls du kein Admin bist). Ein so kopiertes Formular bringt auch dessen buttons/template_file mit — nach dem Kopieren mit onto_formdef_save pruefen. Rechte: form_writer/admin + Schreibzugriff auf den Scope — sonst 403. | EN: form, form definition, fields, template, PDF, submission

ParametersJSON Schema
NameRequiredDescriptionDefault
fromNoudid einer Vorlage aus onto_formdef_list_templates (kopiert deren Felder)
nameYesTechnischer Name, z.B. wartung_2g
formdefNoAlternativ: komplette Definition direkt mitgeben ({version,title,answer_type,fields})
scope_idYesZiel-Scope (Pflicht) — braucht Schreibzugriff
answer_typeNoObjekttyp fuer Antworten; Default 'inspection'

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations: it discloses required rights (form_writer/admin + scope write access, else 403) and details copy side effects (fields transferred, visibility reset to target scope, adminsql stripped if not admin, buttons/template_file carried over). These are non-obvious behavioral traits an agent must know before invoking.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action, then progressively adds copy semantics and permission notes; each sentence carries information. It is somewhat long and mixes German with an English keyword tail, but nothing is truly redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers permissions, copy behavior, and the follow-up step, which is substantial for a mutation tool with no output schema. It does not state what the call returns (e.g. the new form's id/udid needed by onto_formdef_save), which is the one remaining gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

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 to the copy parameter by explaining its side effects (field transfer, visibility, adminsql removal). Minor inconsistency: the text calls it 'from_udid' while the schema parameter is 'from'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource up front ('NEUES Formular anlegen'), then clarifies it creates the form object plus a minimal valid 1-field definition. It explicitly distinguishes itself from onto_formdef_save, which extends the definition, so the agent can tell the two apart 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.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit workflow: create here, then build out with onto_formdef_save. It names the alternative (onto_formdef_list_templates) for sourcing a template and states the condition for the from_udid copy mode and the required follow-up check after copying.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

onto_formdef_list_templatesA
Read-onlyIdempotent
Inspect

VORLAGEN auflisten: sichtbare Formulare im PUBLIC-Scope (generische Vorlagen). Rein lesend. Nutze die udid mit onto_formdef_create + from_udid, um eine firmenspezifische Kopie zu bauen, oder onto_formdef_show zum vollstaendigen Ansehen. Vorlagen (PUBLIC-Scope) sind der einfachste Weg an eine funktionierende Vorlage samt buttons/template_file. | EN: form, form definition, fields, template, PDF, submission

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoSuchbegriff (Titel oder Name), optional

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive/closed-world, so 'rein lesend' is largely redundant. The description does add usable behavioral context beyond the structured data: what a template result contains (buttons/template_file) and the correct next-tool workflow. No pagination or return-format disclosure keeps 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core listing statement and the alternatives, and the English keyword tail aids search. The full German text is duplicated in intent by the bilingual tail and 'rein lesend' repeats the annotations, adding some length without new meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

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 scope, next-step workflow, and result content, which is sufficient for a simple read-only list tool. It stops short of describing ordering, limits, or result shape, so not quite a 5.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one optional param (q) and schema description coverage is 100%, so the schema fully documents it. The description adds no syntax or matching semantics for q, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb+resource+scope: 'list templates: visible forms in PUBLIC scope'. The PUBLIC-scope qualifier and the explicit mentions of onto_formdef_show and onto_formdef_create distinguish it from siblings an agent might otherwise confuse it with.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit when/how-to-use: take the udid to onto_formdef_create + from_udid to build a company-specific copy, or use onto_formdef_show for the full view. It also asserts templates are the easiest route to a functioning template with buttons/template_file — clear routing with named alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

onto_formdef_saveA
Idempotent
Inspect

Formular-DEFINITION speichern (der EINZIGE Schreibweg fuer formdef). Pflichtfelder: version (int>=1), title, answer_type (muss existierender Objekttyp sein, z.B. 'inspection'), fields (nicht-leer). Jedes Feld: key (Buchstabe am Anfang, a-zA-Z0-9_), widget, label; optional required, options (bei select), source (bei picker), validation. Widgets: text, textarea, int, float, select, picker, switch, slider, datepicker, file, label, subform, images, documents, signature. Reservierte Keys: formdef, usesForm, performs, udid, name, external_id. adminsql/sql/sqlparameters nur als Admin. Rechte: form_writer/admin + Schreibzugriff auf den Scope. Mit 'name'/'scope_id' werden auch die Stammdaten gesetzt. ACHTUNG: buttons/template_file/template_filename sind KEINE eigenen Parameter, sondern Felder INNERHALB des formdef-JSON (buttons/template_file/template_filename). BUTTONS: formdef.buttons=[{type,label,...}]; erlaubte type-Werte: 'save' (nur speichern), 'saveandgoto' (+url: Weiterleitung), 'send' (Mailversand mit PDF-Anhang; PFLICHT to[]; optional cc[], bcc[], subject; '$currentuseremail' wird durch die Adresse des Ausfuellenden ersetzt). Empfaenger kommen IMMER aus der formdef, nie aus dem POST. PDF-VORLAGE aus Excel: formdef.template_file = file_udid als 32-hex aus upload_file_to_object (NICHT bin2hex!) und formdef.template_filename = Dateiname — beide parallel setzen. Die Auswahl per Dateiname ueberlebt einen Neu-Upload gleichen Namens. PLATZHALTER im Excel: ##feldkey## (doppeltes Hash; ## key ## mit Leerzeichen geht auch) — {feldkey} oder %%feldkey%% funktionieren NICHT. Subform-Felder fuellen zeilenweise den naechsten freien Platzhalter (das Excel bestimmt die Maximalzahl, ueberzaehlige Zeilen werden verworfen); Bildfelder/signature werden Bildanker. | EN: form, form definition, fields, template, PDF, submission

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoTechnischer Name (optional)
udidYesFormular-udid (32-hex) aus onto_formdef_list_templates oder onto_formdef_create
formdefNoDie Definition: {version, title, answer_type, fields:[...]}. Als Objekt ODER JSON-String.
scope_idNoObjekt-Scope aendern (optional)

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations cover only readOnly/idempotent/destructive flags, but the description adds substantial behavior: the admin-only adminsql/sql/sqlparameters fields, that name/scope_id also write Stammdaten, that recipients always come from the formdef and never the POST, and that buttons/template_file/template_filename live inside the formdef JSON rather than being top-level params. These are exactly the non-obvious traits an agent needs and none are recoverable from annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Content is relevant and the core purpose is front-loaded, but it is a dense unbroken block that mixes field schema, permissions, buttons, Excel/PDF templating and placeholder syntax into one paragraph. It is appropriately sized for the tool's complexity yet poorly structured for scanning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex, nested-object, no-output-schema tool, the description covers field structure, permissions, button types, PDF template wiring and placeholder syntax thoroughly. It stops short of describing the response or error behavior, which is a minor residual gap given no output schema is declared.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% at the top level, so the baseline is 3, but the description goes well beyond it for the nested formdef object: per-field requirements (key regex, widget, label, optional required/options/source/validation), the full widget enum, and the reserved-key list. This meaningfully compensates for the fact that the nested structure cannot be fully expressed in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Formular-DEFINITION speichern') and immediately scopes it as 'der EINZIGE Schreibweg fuer formdef', which tells an agent how it relates to siblings like onto_formdef_create and onto_formdef_list_templates. The purpose is unambiguous even 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.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete preconditions: required fields (version>=1, title, answer_type as existing object type, non-empty fields) and permission requirements (form_writer/admin + scope write access). It does not explicitly state when to prefer this over onto_formdef_create or show_formdef, so the alternative-routing guidance is implicit rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

onto_function_createAInspect

RECHENREGEL anlegen: eine Function. Anders als ein Trigger hat sie EINGABEN und einen AUSDRUCK — sie rechnet, statt nur zu reagieren. "inputs": Liste von {key, type, required}; Typen: object, string, int, float, bool, datetime, list. "body": der Ausdruck. body-Format: {"inputs":[{"key":"kmStand","type":"int","required":true}],"body":{"if":[{">":[{"field":["kmStand"]},{"field":["letzterService"]}]},"faellig","ok"]},"effects":[]}. Der Ausdruck AST hat IMMER die Form {"operator":[argumente]} — also {"-":[a,b]} fuer a minus b, nicht {"op":...}. Operatoren u.a.: field/var, source, link, linklist, and/or/!/if, ==/!=/</<=/>/>=/in/notin/empty/notempty/matches, +/-/*///%/min/max/abs/round, cat/lower/upper/len/trim, count_of/sum_of/max_of/min_of. Kein eval — nur diese Operatoren. Das Ergebnis steht als {result} bereit und wird in Regeln per run_function genutzt. Optional "effects" (set_property/create_object/create_link). RECHTE: scope_id muss ein Scope sein, den du VERWALTEST (can_manage_scope=1). | EN: function, automation, expression, script, effect

ParametersJSON Schema
NameRequiredDescriptionDefault
keyNoTechnischer Schluessel (a-zA-Z0-9_). Ohne Angabe = name.
bodyYesDie Definition als Objekt oder JSON-String. body-Format: {"inputs":[{"key":"kmStand","type":"int","required":true}],"body":{"if":[{">":[{"field":["kmStand"]},{"field":["letzterService"]}]},"faellig","ok"]},"effects":[]}. Der Ausdruck AST hat IMMER die Form {"operator":[argumente]} — also {"-":[a,b]} fuer a minus b, nicht {"op":...}. Operatoren u.a.: field/var, source, link, linklist, and/or/!/if, ==/!=/</<=/>/>=/in/notin/empty/notempty/matches, +/-/*///%/min/max/abs/round, cat/lower/upper/len/trim, count_of/sum_of/max_of/min_of. Kein eval — nur diese Operatoren. Das Ergebnis steht als {result} bereit und wird in Regeln per run_function genutzt.
nameYesAnzeigename (z.B. 'Wartung faellig?')
labelNoAnzeigetext
scope_idYesZiel-Scope. Du musst dort Manager sein (can_manage_scope).
descriptionNoBeschreibung (optional)

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare the basic safety profile (not read-only, not destructive, not idempotent). The description adds meaningful behavioral context beyond that: the permission requirement (scope_id must be a managed scope), the optional effects that can mutate data, and the security constraint that no eval is used and only listed operators are available. It does not cover rate limits or error behavior, but the additions are substantive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with purpose and then moves through inputs, body format, operators, effects, and permissions. However, it duplicates a large portion of the body format and operator details that already appear in the schema description, making it longer than necessary for a 1-sentence tool purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex mutation tool with nested objects and no output schema, the description covers everything an agent needs: creation semantics, permission prerequisites, the full expression AST format, allowed operators, optional effects, and how the result is consumed. Nothing critical is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents most parameters, including the body format and operator list. The description adds an explicit enumeration of allowed input types (object, string, int, float, bool, datetime, list) that is not in the schema, which is useful extra meaning for the complex nested 'body' parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('RECHENREGEL anlegen: eine Function') and explicitly distinguishes it from a trigger by noting it has inputs and an expression. An agent can identify the tool's role without opening other schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Clearly frames the tool as creating a calculation rule rather than a trigger, and notes that the result is used in rules via run_function. However, it gives no explicit guidance on when to use this versus onto_function_update or onto_function_run, so the alternative routing is only implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

onto_function_deleteA
DestructiveIdempotent
Inspect

RECHENREGEL loeschen. Soft-Delete (status=deleted), umkehrbar. Achtung: Regeln, die sie per run_function aufrufen, laufen danach ins Leere — vorher mit onto_trigger_index pruefen, wer sie nutzt. Rechte: can_manage_scope im Scope. | EN: function, automation, expression, script, effect

ParametersJSON Schema
NameRequiredDescriptionDefault
udidYesudid der Function (32-hex)

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations: it reveals the deletion is a reversible soft-delete (status=deleted), warns that dependent rules invoked via run_function will break, and names the authorization scope. This is exactly the kind of impact/auth context the destructiveHint annotation alone 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the action and the most surprising fact (soft-delete, reversible), then the warning, then permissions. Slightly cluttered by the trailing EN keyword list for retrieval, but the prose sentences are dense and waste-free.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-param mutation with annotations and no output schema, the description covers reversibility, side effects, and authorization — everything needed to call it safely. Minor gap: no note on how to undo the soft-delete or which tool restores it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and there is a single required param (udid) whose format is already documented in the schema. The description adds no parameter-level detail, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ("RECHENREGEL loeschen" = delete the function/computational rule) and immediately qualifies it as a soft-delete via status=deleted. Names sibling tools (run_function, onto_trigger_index) in a way that distinguishes this operation from executing or inspecting functions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete pre-flight guidance (check onto_trigger_index to see who consumes the rule) and states the required permission (can_manage_scope). It doesn't contrast delete against sibling operations like onto_function_update (e.g., when to disable vs delete), so it stops short of full alternative routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

onto_function_indexA
Read-onlyIdempotent
Inspect

Alle hinterlegten Funktionen auflisten (serverseitige Automatiken). Rein lesend. Nutze es, um den Namen/die udid fuer onto_function_run zu finden. Anlegen/Aendern: onto_function_create / onto_function_update. Zeitgesteuerte Ablaeufe sind Triggers: onto_trigger_index. | EN: function, automation, expression, script, effect

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoSeitennummer (Default 1)
limitNoErgebnisse pro Seite, 1..200; der Wert gilt fuer die Sitzung (Standard 10)

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and closed-world, so the safety profile is fully covered. 'Rein lesend' merely restates the readOnly annotation, and the description adds the useful framing that these are server-side automations but no pagination or return-shape context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded followed by routing guidance, and most sentences earn their place. The trailing keyword tag '| EN: function, automation, expression, script, effect' is search-oriented padding rather than functional information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

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 full annotation coverage and a fully documented schema, the description covers purpose, usage and alternatives adequately. Since no output schema exists, return format/pagination behavior is left implicit, a minor omission.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (both page and limit documented with defaults and range), so the schema does the heavy lifting. The description adds nothing about the two parameters, warranting the baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('auflisten') and resource ('Funktionen'), clarifies they are server-side automations, and explicitly distinguishes itself from onto_function_create/update and onto_trigger_index. An agent can identify the tool's role 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.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit routing: use it to find the name/udid for onto_function_run, use create/update for mutations, use onto_trigger_index for scheduled runs. This names both the purpose and the alternative tools for adjacent operations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

onto_function_runAInspect

Eine hinterlegte Funktion ausfuehren (serverseitige Automatik/Skript). Der Effekt haengt an der Funktion und kann Daten schreiben — also nicht rein lesend. Nutze es, wenn die Funktion bekannt ist; die verfuegbaren zeigt onto_function_index. Eingaben uebergibst du als inputs-Objekt. | EN: function, automation, expression, script, effect

ParametersJSON Schema
NameRequiredDescriptionDefault
inputsNoEingabewerte {key: wert}. Konvention: 'objekt' = Ziel-UDID.
functionYesFunction-UDID (32-hex) oder Name

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=false and destructiveHint=false, but the description adds genuinely new context: the effect depends on the function itself and may write data, so it is 'nicht rein lesend'. This warns the agent that behavior is dynamic and cannot be inferred from the annotation alone. It stops short of describing permissions, side-effect scope, or return shape.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Core purpose and the routing hint are front-loaded and the body is tight. The trailing bilingual keyword block ('| EN: function, automation, expression, script, effect') is redundant padding for an agent that already has the name, but the substantive sentences earn their place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

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 critical uncertainty (side effects vary per function, not read-only) and points to the discovery sibling. It would be stronger with a note on required permissions or how errors/return values surface, but nothing essential for calling it is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so both parameters (function, inputs) are already documented, including the 'objekt' = target-UDID convention. The description only restates that inputs are passed as an inputs-object, adding no syntax or format detail beyond the schema. Baseline 3 is correct.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Eine hinterlegte Funktion ausfuehren') and immediately scopes what it is — a server-side automation/script. It is clearly distinguishable from the surrounding onto_function_* siblings (create/update/delete/index) because it names the run vs. manage split.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit when-to-use condition ('Nutze es, wenn die Funktion bekannt ist') and routes the agent to the alternative for discovery ('die verfuegbaren zeigt onto_function_index'). This is exactly the when/when-not/alternative guidance the dimension asks for.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

onto_function_updateA
DestructiveIdempotent
Inspect

RECHENREGEL aendern: bestehende Function ueberschreiben. body ersetzt die Definition vollstaendig. Format siehe onto_function_create. Rechte: can_manage_scope im Ziel-Scope. | EN: function, automation, expression, script, effect

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYesNeue Definition vollstaendig (Format siehe onto_function_create)
udidYesudid der Function (32-hex, aus onto_function_index)
labelNoAnzeigetext
scope_idNoZiel-Scope (ohne Angabe: der bisherige)
descriptionNoBeschreibung

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already flag destructiveHint=true and idempotentHint=true, so the safety profile is known; the description still adds two things annotations cannot: the authorization requirement (can_manage_scope in the target scope) and the fact that 'body ersetzt die Definition vollstaendig', i.e. no partial merge. It does not say what happens to omitted label/description or whether a scope change moves the function.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Short and front-loaded: action, then the full-replacement warning, then format pointer and permission. The trailing '| EN: function, automation, expression, script, effect' keyword block is search scaffolding rather than instruction, but it is compact and clearly demarcated.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive mutation with rich annotations but no output schema, the description covers the essentials: what to pass, that the definition is wholly replaced, and the permission needed. Remaining gaps (fate of omitted optional fields, error behavior on a bad udid) are minor given annotation coverage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter (body, udid, label, scope_id, description) is already documented in the schema itself; the description's only added nuance is that body is a full replacement. Baseline 3 for a schema that carries the load.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a concrete verb and resource ('RECHENREGEL aendern: bestehende Function ueberschreiben') and makes the update-vs-create boundary explicit by pointing at onto_function_create for the body format. An agent can tell this apart from onto_function_create/delete/index 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.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It supplies a real prerequisite ('Rechte: can_manage_scope im Ziel-Scope') and routes the body format to onto_function_create, but it never states when to prefer this over onto_function_create (new function) or onto_function_delete. Usage is implied by the name 'update' more than explained.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

onto_interface_map_markersA
Read-onlyIdempotent
Inspect

Die Kartenmarker eines Interfaces abrufen (Objekte mit Koordinaten zur Anzeige auf der Karte). Rein lesend, ruft keine Kartendaten extern ab. Nutze es fuer Karten-/Karten-Ansichten; fehlende Koordinaten erst mit onto_object_geocode setzen. Die identische Antwort liefert ontouser_interface_map_markers. | EN: onto, interface, map, markers

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoObjekttyp
interfaceNoInterface-Name

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With annotations already declaring readOnlyHint, idempotentHint, non-destructive, and openWorldHint=false, the description reinforces and sharpens this by stating it is purely read-only and does not fetch external map data. It also discloses that ontouser_interface_map_markers returns an identical response, which is useful behavioral context not present in 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core purpose is front-loaded and most sentences earn their place by covering read-only behavior, usage, and the geocode alternative. The trailing '| EN: onto, interface, map, markers' keyword padding is dead weight, and the identical-response sentence could arguably be tighter, but overall it is well structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-optional-parameter read tool with full schema coverage and rich annotations, the description covers what is returned (marker objects with coordinates), when to use it, and a fallback for missing coordinates. No output schema exists, and the description adequately describes the return content, leaving only minor gaps about response shape.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with both parameters documented, so the schema already carries the parameter burden. The description implies the 'interface' parameter through its phrasing but adds no syntax, format, or filtering details beyond what the schema provides, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Die Kartenmarker eines Interfaces abrufen') and clarifies what the returned markers are (objects with coordinates for map display). It also names related siblings, but since it says ontouser_interface_map_markers provides the identical response, it does not actually help an agent distinguish when to prefer this tool over that one.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says to use it for map views ('Nutze es fuer Karten-/Karten-Ansichten') and provides an alternative workflow for missing coordinates via onto_object_geocode. This gives clear positive guidance, though it stops short of stating when not to use the tool or how it differs from its identical-response sibling.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

onto_interface_showA
Read-onlyIdempotent
Inspect

Ein einzelnes Interface vollstaendig lesen (enthaltene Felder, Gruppierung, Sichtbarkeit). Rein lesend. Nutze es, wenn der Name bekannt ist. Ohne Namen: onto_interface_index. Die identische Antwort liefert ontouser_interface_show. | EN: onto, interface, show

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesInterface-Name

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, so the safety profile is well covered; 'Rein lesend' merely reinforces it. The description adds genuine value by describing the payload (fields, grouping, visibility) and disclosing that ontouser_interface_show produces the same answer, though it says nothing about auth or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action and scoping, and each sentence carries routing information. The trailing '| EN: onto, interface, show' keyword block is search boilerplate rather than prose but is short and harmless.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

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 no output schema, the description tells the agent both what is fetched and which sibling to fall back on. The absence of any return-shape detail beyond the listed sub-fields is a minor gap given annotations already carry the safety profile.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for the single 'name' parameter, so the schema already defines its meaning ('Interface-Name'). The description only indirectly signals the name dependency via 'wenn der Name bekannt ist' and adds no format or syntax detail, making the baseline 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Ein einzelnes Interface vollstaendig lesen') and even enumerates the returned content (enthaltene Felder, Gruppierung, Sichtbarkeit). It explicitly distinguishes itself from the sibling onto_interface_index (no-name case) and notes ontouser_interface_show returns an identical response.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit when-to-use condition ('Nutze es, wenn der Name bekannt ist') and names the alternative for the opposite case ('Ohne Namen: onto_interface_index'). It even resolves the redundancy with ontouser_interface_show by stating the responses are identical.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

onto_object_addcommentAInspect

Einen Kommentar an ein Objekt anhaengen (Verlaufseintrag mit Autor und Zeitstempel). Rein anhaengend — bestehende Kommentare bleiben. Nutze es fuer Notizen und Rueckfragen am Datensatz. Es aendert KEINE Properties; dafuer onto_object_set_property. Ein Kommentar ist ein eigenes Objekt vom Typ comment, per hascomment-Link am Zielobjekt. Loeschen: onto_object_delete mit der udid des Kommentars (status wird deleted, er verschwindet aus dem Panel). Aendern geht nicht - loeschen und neu schreiben. | EN: object, record, entry, property, link, search

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesKommentar-Text
parentYesObjekt-udid, an das der Kommentar geht (32-hex)
scope_idNoScope-ID (leer = SSR-Kaskade)

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations, it discloses append-only semantics ('bestehende Kommentare bleiben'), that a comment is its own object of type comment linked via hascomment, and the delete path (status becomes deleted, disappears from panel). This is exactly the extra 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the action and keeps behavior, usage, and alternatives in tight sentences with no filler. The trailing '| EN: ...' keyword block is extraneous but minor.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an append-only mutation tool with no output schema, it covers behavior, alternatives, the deletion workflow, and the immutability constraint. 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.

Parameters3/5

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 three parameters. The description reinforces that parent is the target object and text is the comment, but adds no format or syntax detail and never mentions scope_id. 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.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Einen Kommentar an ein Objekt anhaengen') plus the resulting artifact ('Verlaufseintrag mit Autor und Zeitstempel'). It clearly distinguishes itself from siblings like onto_object_set_property and onto_object_delete.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly names the use case ('fuer Notizen und Rueckfragen am Datensatz') and the alternative for a different need ('Es aendert KEINE Properties; dafuer onto_object_set_property'). It also routes the agent to onto_object_delete for removal and states that editing is impossible, so the when/when-not is fully covered.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

onto_object_bulk_actionAInspect

Dieselbe Aktion auf viele Objekte in einem Aufruf anwenden (Massenbearbeitung). Nutze es ab mehreren Datensaetzen statt einer Schleife aus Einzelaufrufen. Wirkung und Seiteneffekte sind die der jeweiligen Action und koennen nicht zurueckgenommen werden — vorher mit onto_object_index die Zielmenge eingrenzen. | EN: object, record, entry, property, link, search

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNonur action=update: neuer Name
actionYesBulk-Action: delete | update
statusNonur action=update: neuer Status
scope_idNonur action=update: Ziel-Scope
object_idsYesObjekt-udids (32-hex)
external_idNonur action=update: neue externe ID

TDQS

A3.6/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description warns that effects 'koennen nicht zurueckgenommen werden' and that side effects are those of the underlying action (which the schema defines as delete | update), yet the annotations declare destructiveHint=false and readOnlyHint=false. An irreversible bulk delete is materially destructive, so the description contradicts the annotation and an agent relying on the hint could delete far more than intended.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The two operational sentences are compact and front-loaded: purpose, then usage, then the irreversibility warning and prerequisite. The trailing '| EN: object, record, entry, property, link, search' keyword tail is search-engine padding that earns no place for an agent, which keeps this out of the top band.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a multi-object mutation with 6 parameters and no output schema, the description covers purpose, usage, irreversibility and the narrowing prerequisite, but says nothing about the return shape (per-object success/failure?), partial-failure semantics, batch size limits, or permission requirements. Those gaps matter for a bulk destructive operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% — every parameter, including the action=update-only conditionals for name, status, scope_id and external_id, is documented inline. The description adds no syntax, format, or value guidance beyond what the schema already states, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource with its scope: 'Dieselbe Aktion auf viele Objekte in einem Aufruf anwenden (Massenbearbeitung)'. It implicitly distinguishes itself from the single-object siblings (onto_object_update, onto_object_delete, onto_object_execute_action) by framing itself as the batch alternative to 'einer Schleife aus Einzelaufrufen'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit trigger ('ab mehreren Datensaetzen statt einer Schleife aus Einzelaufrufen'), names the alternative practice it replaces (looping single calls), and specifies a prerequisite step with a named sibling ('vorher mit onto_object_index die Zielmenge eingrenzen'). Nothing about when to reach for this tool 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.

onto_object_createAInspect

Ein neues Objekt anlegen. Schreibt in die Datenbank — kein Trockenlauf. Pflicht ist mindestens type; properties ist eine Map Property-key -> Wert, interfaces eine Liste von Interface-Namen. Nutze es fuer neue Datensaetze; zum Aendern eines bestehenden nimm onto_object_update oder onto_object_set_property. Legt bei Bedarf NICHT automatisch Verknuepfungen an — dafuer onto_object_create_link. | EN: object, record, entry, property, link, search

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesName
typeYesObjekttyp-Name
scope_idNoScope-ID
interfacesNoInterface-Namen
propertiesNoProperty-key → value
external_idNoExterne ID

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the mutation profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false), so the safety burden is partly covered. The description adds real value beyond that: 'kein Trockenlauf' (no dry run) and the important caveat that links are NOT created automatically, redirecting to onto_object_create_link. It does not describe error behavior or whether partial writes roll back.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Core sentences are front-loaded and information-dense, but the trailing '| EN: object, record, entry, property, link, search' keyword block is pure search-index filler that adds length without meaning. The substantive content itself is tight.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

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 and full schema coverage, the description covers the important gaps: it confirms a real write, warns of no dry run, and pre-empts the most likely wrong sibling (link creation). Only rollback/permission behavior is unaddressed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema documents all six parameters and the baseline is 3. The description restates properties/interfaces semantics and adds a required-field note, but that note says 'mindestens type' while the schema actually requires both type AND name, which risks an agent treating name as optional.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Ein neues Objekt anlegen') and immediately distinguishes itself from the sibling read/update/link tools. An agent can separate it from onto_object_update, onto_object_set_property, and onto_object_create_link 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.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit when-to-use ('fuer neue Datensaetze') plus named alternatives for the adjacent cases ('zum Aendern ... nimm onto_object_update oder onto_object_set_property', and onto_object_create_link for links). Nothing about routing 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.

onto_object_deleteA
DestructiveIdempotent
Inspect

Ein Objekt unwiderruflich loeschen, samt seiner Properties. Nutze es nur, wenn der Datensatz wirklich entfallen soll — es gibt kein Undo. Zum Deaktivieren/Archivieren stattdessen ein Status-Property via onto_object_set_property setzen. Fuer mehrere Objekte auf einmal: onto_object_bulk_action. | EN: object, record, entry, property, link, search

ParametersJSON Schema
NameRequiredDescriptionDefault
udidYesObjekt-udid

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, so the safety profile is known; the description still adds real value by naming the cascade ('samt seiner Properties') and emphasizing irreversibility with no undo. It does not say whether links or comments attached to the object are also removed, which is the remaining gap 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The operational content is front-loaded in three tight sentences with the destructive warning first. The trailing '| EN: object, record, entry, property, link, search' keyword block is search-oriented filler that slightly dilutes an otherwise efficient definition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter destructive tool with no output schema and full annotation coverage, the description supplies the essential context: irreversibility, cascading deletion of properties, and escape hatches. Only the treatment of dependent links/comments is left unspecified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single parameter 'udid' is documented there as 'Objekt-udid', so the schema carries the semantics. The description adds no format, scope, or validation detail beyond it — the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Ein Objekt unwiderruflich loeschen') and adds scope: the object's properties are removed with it. An agent can distinguish this from onto_object_update or onto_object_bulk_action 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.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly bounds usage ('nur, wenn der Datensatz wirklich entfallen soll — es gibt kein Undo') and routes to two named alternatives: onto_object_set_property for deactivate/archive and onto_object_bulk_action for multiple objects. This is a textbook when/when-not/alternative statement.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

onto_object_delete_propertyA
DestructiveIdempotent
Inspect

Ein einzelnes Property von einem Objekt entfernen (der Wert verschwindet, das Objekt bleibt). Unwiderruflich. Nutze es zum Aufraeumen fehlerhafter Felder; um nur den Wert zu leeren, genuegt onto_object_set_property mit leerem Wert. Zum Loeschen des ganzen Objekts onto_object_delete. | EN: object, record, entry, property, link, search

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYesProperty-Key
udidYesObjekt-udid

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and idempotentHint=true, so the safety profile is partly carried structurally. The description still adds real context beyond them: the operation is irreversible ('Unwiderruflich') and, crucially, that only the value is removed while the object itself survives — a non-obvious behavioral distinction from the sibling delete tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core action, its irreversibility, and both alternatives are front-loaded and waste-free. The trailing English keyword tail ('object, record, entry, property, link, search') is search-oriented padding rather than agent-facing instruction, which slightly dilutes an otherwise tight two-sentence description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

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-behavior burden and does so adequately by stating the value vanishes and the object remains. Parameters are fully covered by the schema and safety is covered by annotations, leaving only minor gaps such as no-op behavior for a missing key.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with two required params (udid, key), so the schema already documents both fully. The description's mention of 'Property' and 'Objekt' maps to those params but adds no format, syntax, or edge-case detail (e.g. what happens if the key does not exist). Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Ein einzelnes Property von einem Objekt entfernen') and immediately scopes it with the parenthetical that the value disappears but the object remains. It explicitly differentiates from two siblings by name (onto_object_set_property for clearing a value, onto_object_delete for the whole object), so an agent can route correctly 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.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit use case ('zum Aufraeumen fehlerhafter Felder') and names both alternatives with the condition that selects each: set_property with an empty value to clear a value, onto_object_delete to remove the whole object. This is the when/when-not/alternative pattern done fully.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

onto_object_execute_actionAInspect

Eine hinterlegte Action (Button/Automatik) auf einem Objekt ausfuehren. Der Effekt haengt an der Action-Definition und kann Properties aendern, Links setzen oder Folgeprozesse starten — also nicht rein lesend. Nutze es, wenn am Objekt eine Action angeboten wird; die verfuegbaren Actions zeigt onto_actiondef_list. | EN: object, record, entry, property, link, search

ParametersJSON Schema
NameRequiredDescriptionDefault
udidYesObjekt-udid (32-hex)
promptsNoPrompt-Werte {key: value}
action_keyYesAction-Key (z.B. checkin, checkout)

TDQS

A4/5.0
Behavior4/5

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 covered. The description adds genuine value beyond that: the effect is contingent on the action definition and may mutate properties, create links, or launch follow-up processes — important context for an agent that cannot predict the outcome from the call signature.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The two German sentences are front-loaded and information-dense, but the trailing '| EN: object, record, entry, property, link, search' keyword list is SEO-style padding that adds no invocation value for an agent. Removing it would leave a tight, well-ordered definition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

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 essentials: it is a write operation, the outcome is action-dependent, and discovery happens via onto_actiondef_list. It stops short of saying what is returned on success/failure or whether prompts is conditionally required, but nothing critical for correct invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so udid, action_key and the prompts object are already documented in the schema, establishing a baseline of 3. The description adds no syntax or format guidance for 'prompts' ({key: value}) or for how action_key relates to the action definitions, so it does not rise above baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('eine hinterlegte Action (Button/Automatik) auf einem Objekt ausfuehren') and explicitly distinguishes itself from read-only siblings by noting the effect is 'nicht rein lesend'. An agent can tell it apart from onto_object_set_property or onto_function_run 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.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit trigger ('Nutze es, wenn am Objekt eine Action angeboten wird') and routes the agent to the discovery tool 'onto_actiondef_list' for available actions. It lacks a when-not-to-use clause (e.g. use set_property for direct edits), but the positive routing is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

onto_object_geocodeAInspect

Koordinaten zu einem Objekt ermitteln und hinterlegen (Adresse -> Lat/Lon). Schreibt in das Objekt und ruft dazu einen externen Kartendienst auf (offene Welt). Nutze es nach dem Anlegen eines Objekts mit Adresse, wenn Kartenmarker gebraucht werden. Kartenanzeige selbst: onto_interface_map_markers. | EN: object, record, entry, property, link, search

ParametersJSON Schema
NameRequiredDescriptionDefault
udidYesObjekt-udid
applyNo1 = berechnete Werte direkt ans Objekt schreiben (1-Call-Flow), 0 = nur liefern (Default 0)
directionNogeocode (Adresse→Koordinaten) oder reverse (Koordinaten→Adresse). Default geocode

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false and openWorldHint=true, covering the write and external-service profile. The description confirms it writes into the object and calls an external map service, but adds little beyond what the annotations and the apply parameter already convey. No disclosure of rate limits, failure behavior, or reversibility.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose, behavior, and the sibling alternative are front-loaded and readable. The trailing 'EN: object, record, entry, property, link, search' keyword list is SEO-style filler that does not earn its place, slightly weakening an otherwise tight definition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool that calls an external service with no output schema, the description plus annotations cover the essentials: what it does, when to use it, the write target, and the display alternative. Only error/return behavior is unaddressed, which is minor given annotations carry the safety profile.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so udid, apply, and direction are all documented in the schema itself. The description's 'Adresse -> Lat/Lon' merely echoes the default geocode direction and adds no syntax or format detail beyond the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (coordinates for an object, address -> Lat/Lon) and explicitly notes it writes into the object. It also differentiates from the sibling onto_interface_map_markers, so an agent can distinguish it 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.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a clear when-to-use rule ('nach dem Anlegen eines Objekts mit Adresse, wenn Kartenmarker gebraucht werden') and routes display needs to onto_interface_map_markers. It lacks an explicit when-not condition, but the alternative is named and the trigger context is concrete.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

onto_object_graphA
Read-onlyIdempotent
Inspect

Ein Objekt samt seinen Verknuepfungen als Graph lesen (Knoten + Kanten). Rein lesend. Nutze es fuer Beziehungsfragen ('womit haengt X zusammen'). Fuer die reine Feldansicht eines Objekts genuegt onto_object_show; fuer die Liste aller Link-Definitionen onto_link_index. | EN: object, record, entry, property, link, search

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesObjekt-udid (32-hex)

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so 'Rein lesend' largely restates structured data. The description does add the return shape (nodes + edges), which matters because there is no output schema, but it omits traversal depth, size limits, and pagination behavior for what is effectively a graph read.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short, front-loaded sentences with the core purpose first and routing second; no wasted clauses. The trailing '| EN: object, record, entry, property, link, search' keyword line is retrieval padding rather than agent-facing guidance, which slightly dilutes the structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-param, read-only tool with no output schema, the description covers purpose, return shape (Knoten + Kanten), and sibling routing, which is enough to call it correctly. The only gap is traversal scope (depth or result caps), a minor omission given the annotation-declared safe read profile.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one parameter (id) with 100% schema description coverage ('Objekt-udid (32-hex)'), so the schema already carries the semantics. The description adds nothing about id format or what happens on an unknown id, leaving the baseline of 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Ein Objekt samt seinen Verknuepfungen als Graph lesen (Knoten + Kanten)') and immediately differentiates itself from the two nearest siblings, onto_object_show and onto_link_index. An agent can pick this tool 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.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit when-to-use ('fuer Beziehungsfragen') plus explicit alternatives with their selecting conditions: onto_object_show for a pure field view, onto_link_index for all link definitions. Nothing 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.

onto_object_indexA
Read-onlyIdempotent
Inspect

Alle Objekte auflisten, seitenweise und nach optionalem Filter. Rein lesend. Nutze es fuer Uebersichten und Zaehlungen. Wenn du EIN Objekt ueber seine udid kennst, nimm onto_object_show (billiger); fuer Volltextsuche ueber mehrere Felder onto_object_search. | EN: object, record, entry, property, link, search

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoSeitennummer (Default 1)
limitNoErgebnisse pro Seite, 1..200; der Wert gilt fuer die Sitzung (Standard 10)

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint/idempotentHint/destructiveHint=false, and 'Rein lesend' merely restates that. The description does add some behavioral context (result sets are paginated, useful for overviews and counts), but discloses nothing about return shape, total counts, or limits beyond what the schema states. Adequate but thin against an annotation set that already covers safety.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action, then the routing advice, so the most important content comes first. The trailing '| EN: object, record, entry, property, link, search' keyword block is noise rather than definition and slightly bloats an otherwise tight entry.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter read-only list tool with no output schema, the description covers purpose, safety, and routing well enough to invoke it. The gap is the phantom 'Filter' mention, which is unresolved by schema or annotations, and no hint about result shape or pagination limits beyond the schema's default.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so page/limit are fully documented in the schema and the description needn't repeat them. However, the description advertises 'nach optionalem Filter', a filtering capability that no parameter in the schema exposes, which can send the agent hunting for a filter argument that does not exist. Slightly below the coverage-based baseline because of this inaccurate hint.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Alle Objekte auflisten') plus scope modifiers (paginated, optional filter), so the agent immediately knows this is a list/overview endpoint. It explicitly differentiates itself by naming the two closest siblings, onto_object_show and onto_object_search, and the condition that picks each.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit when-to-use ('fuer Uebersichten und Zaehlungen') and when-not-to-use routing: use onto_object_show when you already know a udid (and notes it is cheaper), and onto_object_search for full-text search across multiple fields. This is exactly the when/when-not/alternatives guidance that makes sibling selection unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

onto_object_set_propertyA
DestructiveIdempotent
Inspect

Genau ein Property eines Objekts setzen oder ueberschreiben. Nutze es fuer gezielte Einzelkorrekturen; fuer mehrere Felder auf einmal onto_object_update. Ein Property entfernt dagegen onto_object_delete_property. Der bisherige Wert ist danach weg (keine Historie, kein Undo). Zeitpunkt-Properties: Eingaben gelten in der Zeitzone des Betrachters (Default Europe/Berlin) und werden als UTC gespeichert; die JSON-Ausgabe zeigt UTC. Wer UTC schickt, bekommt je nach Zone einen Versatz. | EN: object, record, entry, property, link, search

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYesProperty-Key
udidYesObjekt-udid
valueYesProperty-Wert
scope_idNoScope-ID

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already flag destructiveHint=true and idempotentHint=true, and the description adds context beyond them: the previous value is irretrievably lost (no history, no undo). It also discloses non-obvious timezone semantics for temporal properties, including that stored/output values are UTC and that sending UTC produces an offset. That is unusually rich behavioral disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the core action, then routing, then irreversible-loss warning, then timezone caveat — a sensible priority order with little waste. The mixed German/English and the trailing 'EN: object, record, entry, property, link, search' keyword tag are mildly noisy but conventional and do not obscure the payload.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive mutation tool with no output schema and full schema coverage, the description covers everything an agent needs: what it mutates, irreversibility, alternatives for other intents, and value-format/timezone behavior. No material gap remains.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so key, udid, and value are already documented and the baseline would be 3. The description adds genuine meaning for the value parameter by explaining timezone interpretation and storage format for date properties, though scope_id is never mentioned and no added syntax is given for the core fields.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource with exact scope: set or overwrite exactly one property of an object. It explicitly differentiates itself from siblings onto_object_update (multiple fields) and onto_object_delete_property (removal), so an agent can select it 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.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit when-to-use ('gezielte Einzelkorrekturen') and names two alternatives with the conditions that select them: onto_object_update for several fields at once and onto_object_delete_property for removal. Nothing about routing 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.

onto_object_showA
Read-onlyIdempotent
Inspect

Ein einzelnes Objekt ueber seine udid vollstaendig lesen — alle Properties und Interfaces. Rein lesend. Nutze es, wenn du die udid schon hast. Ohne udid: erst onto_object_search oder onto_object_index. Die identische Antwort liefert ontouser_object_show. | EN: object, record, entry, property, link, search

ParametersJSON Schema
NameRequiredDescriptionDefault
udidYesObjekt-udid (32-hex)

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so 'Rein lesend' is largely redundant. However, the description adds real behavioral value beyond the annotations: the read is complete (all properties and interfaces, not a summary), and a functionally identical sibling tool exists. It does not describe failure behavior for an unknown udid.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core purpose and constraint, and each sentence carries routing value. The trailing '| EN: object, record, entry, property, link, search' keyword tag is padding that does not help an agent decide or invoke, which keeps it out of the top score.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

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 full annotation coverage and no output schema, the description covers purpose, precondition, alternatives and an equivalent tool, so an agent has what it needs. The only unaddressed area is error behavior when the udid does not resolve, which is minor here.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the schema already documents udid as a 32-hex object identifier. The description only repeats that the lookup is by udid and that the udid must already be known, adding no format or constraint detail beyond the schema. Baseline 3 applies when the schema carries the parameter burden.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: fully reading a single object by its udid, including all properties and interfaces. It explicitly names the sibling it is not (onto_object_search/onto_object_index for finding udids) and the near-duplicate (ontouser_object_show), so an agent can distinguish it 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.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit precondition (use it when you already have the udid) and routes the agent to alternatives when the precondition fails (without udid, use onto_object_search or onto_object_index first). It also tells the agent that ontouser_object_show returns an identical answer, which is exactly the routing information needed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

onto_object_updateA
DestructiveIdempotent
Inspect

Mehrere Felder eines bestehenden Objekts in einem Aufruf aendern. Ueberschreibt die uebergebenen Properties; nicht genannte Felder bleiben unberuehrt. Nutze es fuer mehrere Aenderungen gleichzeitig; fuer ein einzelnes Feld ist onto_object_set_property schlanker. Loeschen ist nicht Teil dieses Tools. Der bisherige Wert ist danach weg (keine Historie, kein Undo). | EN: object, record, entry, property, link, search

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoNeuer Name
statusNoNeuer Status
pin_urlNoPin-URL
scope_idNoZiel-Scope
external_idNoNeue externe ID
object_udidYesObjekt-udid

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (destructiveHint=true, idempotentHint=true, readOnly=false), but the description adds real substance: passed properties are overwritten, unmentioned fields are left untouched, and the previous value is gone with no history and no undo. That spells out precisely what the destructive flag means in practice, which the annotation alone does not.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with purpose, then behavior, alternative, and exclusion in tight sentences. The trailing '| EN: object, record, entry, property, link, search' keyword block is search-oriented filler that adds no invocation value, so it falls just short of a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

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 and full schema coverage, the description supplies everything an agent needs: what is updated, what is preserved, the alternative for single edits, and the irreversibility of the change. Nothing material is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and each of the six fields (name, status, pin_url, scope_id, external_id, object_udid) is already documented in the schema. The description adds no per-parameter syntax or format detail beyond the partial-update semantics, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a precise verb+resource+scope: it changes multiple fields of an existing object in a single call. It explicitly distinguishes itself from onto_object_set_property (single-field alternative) and clarifies that deletion is out of scope, so an agent can separate it from onto_object_delete and onto_object_set_property 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.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives an explicit when-to-use rule ('fuer mehrere Aenderungen gleichzeitig') and names the alternative for the single-field case ('fuer ein einzelnes Feld ist onto_object_set_property schlanker'). It also states an exclusion (deletion is not part of this tool), which is exactly the routing guidance needed among the many onto_object_* siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

onto_property_def_createAInspect

Eine neue Property-Definition anlegen (neues Feld im Objektmodell). Aendert das Schema; bestehende Objekte haben das Feld danach leer. Nutze es beim Modellaufbau. Zum Setzen von WERTEN an einem Objekt ist onto_object_set_property zustaendig, nicht dieses Tool. | EN: property, field, schema, property set, definition

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYesProperty-Key
labelYesLabel (mo.<Key> = uebersetzbar, sonst Rohwert)
optionsNoJSON [{"value":..,"label":..}] fuer value_type=options
requiredNo1 = Pflichtfeld
scope_idNoZiel-Scope. GESETZT = eigenes Feld nur fuer diesen Kunden-Scope (braucht can_manage_scope). FEHLEND = globale Plattform-Definition (nur admin).
type_idsNoObjekttyp-IDs, an die das Feld gebunden wird
max_valueNoMaximum
min_valueNoMinimum
value_typeYesValue-Type: string|int|float|datetime|date|geo|bool|options
default_valueNoStandardwert

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the safety profile (readOnlyHint=false, idempotentHint=false, destructiveHint=false). The description adds genuinely non-obvious context beyond them: it mutates the schema and 'bestehende Objekte haben das Feld danach leer', i.e. a real side effect on existing data. It does not discuss permissions, though the schema's scope_id description carries that detail.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The useful content (purpose, side effect, routing) is front-loaded and terse. The trailing '| EN: property, field, schema...' keyword dump is a minor structural wart that pads the definition without adding invocation guidance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 10-parameter mutation tool with full schema coverage and annotations present, the description covers purpose, side effects, and sibling routing. Nothing critical is missing; only permission/authorization nuance and return behavior are absent, and those are handled elsewhere or not applicable (no output schema).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the parameter descriptions are detailed (scope_id even documents can_manage_scope/admin requirements), so the schema does the heavy lifting. The description adds no parameter-level meaning of its own; baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Eine neue Property-Definition anlegen') and glosses it concretely as 'neues Feld im Objektmodell'. It also explicitly distinguishes itself from onto_object_set_property, so an agent can tell it apart from the value-setting 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.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Nutze es beim Modellaufbau' gives the positive context (schema/model construction phase), and the sentence naming onto_object_set_property as the tool for setting VALUES gives the explicit exclusion. Both when-to-use and when-not-to-use are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

onto_property_def_delete_overrideD
Destructive
Inspect

Ontologie: onto/property_def/delete_override | EN: property, field, schema, property set, definition

ParametersJSON Schema
NameRequiredDescriptionDefault
def_idYesID der Override-Definition (die Zeile mit scope_id)
scope_idYesScope der Override-Definition

TDQS

D1.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare destructiveHint=true, readOnlyHint=false, idempotentHint=false and openWorldHint=false, so the safety profile is carried by structured data, not the prose. The description adds no behavioral context (what an 'override definition' is, what gets destroyed, whether it cascades), so it neither helps nor contradicts 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.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is short, but it is a tag dump rather than front-loaded prose. Length is not the problem; there is no informational payload for an agent to act on.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive, non-idempotent delete of a schema override with no output schema, the description should at minimum state the effect on the underlying property definition. It conveys nothing beyond the tool name, leaving the agent to infer everything from annotations and the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%: def_id and scope_id are both documented in-schema, and def_id’s description even cross-references 'die Zeile mit scope_id'. The description contributes no additional parameter meaning, which is the baseline-3 situation 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.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description is a string of pipe-separated German/English tags ('Ontologie: onto/property_def/delete_override | EN: property, field, schema, property set, definition') rather than a statement of what the tool does. It merely restates the name and a keyword cloud; nothing distinguishes it from siblings like onto_property_def_create or onto_property_def_update.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use, when-not-to-use, or alternative routing is given. The sibling set contains onto_property_def_create and onto_property_def_update, but the description never mentions them or any condition that selects this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

onto_property_def_updateA
DestructiveIdempotent
Inspect

Eine bestehende Property-Definition aendern (Label, Typ, Pflicht, Optionen). Betrifft das Modell, nicht die Werte einzelner Objekte. Nutze es zum Korrigieren der Felddefinition; Werte aenderst du mit onto_object_set_property. Der bisherige Wert ist danach weg (keine Historie, kein Undo). | EN: property, field, schema, property set, definition

ParametersJSON Schema
NameRequiredDescriptionDefault
keyNoNeuer Key — nur zum Umbenennen setzen
labelYesLabel — die API verlangt es bei JEDEM Update, sonst schlaegt der Aufruf fehl
def_idYesProperty-Definition-ID (Pflicht). Bei einer Scope-Definition (scope_id gesetzt) genuegt can_manage_scope des Scopes.
optionsNoJSON [{"value":..,"label":..}] fuer value_type=options
computedNoJSON {"rule":"..."} — berechnetes Feld
requiredNo1 = Pflichtfeld
type_idsNoObjekttyp-IDs — ERSETZT die bestehende Bindung
max_valueNoMaximum
min_valueNoMinimum
value_typeNoValue-Type: string|int|float|datetime|date|geo|bool|options
default_valueNoStandardwert

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and idempotentHint=true. The description amplifies this beyond the binary flag by stating there is no history and no undo, and clarifies that object values are unaffected. It does not describe permission requirements, though the def_id schema note partially covers scope-management rights.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action and constraint, and the destructive warning lands before the trailing keyword block. The appended '| EN: property, field, schema, ...' keyword dump is search metadata rather than useful prose, a minor waste but not a structural problem.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 11-parameter destructive mutation with no output schema, it covers purpose, the sibling alternative, and irreversibility, while the schema carries full parameter documentation. It stops short of stating auth/permission prerequisites in the description, but the definition-level scope is otherwise complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all 11 parameters are documented in the schema itself (including the mandatory label and the replacing semantics of type_ids). The description's field list (Label, Typ, Pflicht, Optionen) only echoes schema content, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a precise verb+resource (eine bestehende Property-Definition aendern) and enumerates the mutable aspects (Label, Typ, Pflicht, Optionen). It also explicitly demarcates scope: it changes the model/definition, not the values of individual objects, which cleanly separates it from value-level siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit when-to-use (zum Korrigieren der Felddefinition) and names the alternative tool by name (onto_object_set_property) for the adjacent task of changing values. The routing decision is fully determined without opening any schema.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

onto_property_set_createA
Idempotent
Inspect

Ein neues Property-Set anlegen (Gruppe von Feldern fuer Objekttypen). Aendert das Modell. Nutze es, um wiederkehrende Feldbuendel einmal zu definieren statt Felder einzeln zuzuweisen. Bestehende Objektwerte aendert es nicht. | EN: property, field, schema, property set, definition

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYesSet-Key
labelNoLabel
layoutNoLayout (JSON)
def_idsNoProperty-Definition-IDs
scope_idNoZiel-Scope. GESETZT = Set nur fuer diesen Kunden-Scope (braucht can_manage_scope). FEHLEND = global (nur admin).
type_idsNoObjekttyp-IDs
sort_orderNoSortierung
card_layoutNoCard-Layout (JSON)
descriptionNoBeschreibung
display_modeNoAnzeigemodus

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With annotations indicating it is not read-only, not destructive, and idempotent, the description adds context that it changes the model but does not alter existing object values. It does not mention permission requirements or full side effects, but the annotation already covers the safety profile.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded: it states the action, then clarifies its effect, then gives usage guidance, and finally adds a note about not altering object values. Every sentence serves a purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (10 parameters) and the presence of detailed annotations and complete schema coverage, the description provides sufficient context to understand its purpose, effect, and usage. It could mention that it requires admin or can_manage_scope permissions, as hinted in the scope_id parameter description, but overall it is adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 100% description coverage, so the baseline is 3. The description does not add any parameter-specific details beyond the schema, which already documents each parameter thoroughly (e.g., scope_id semantics, key requirement).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb and resource: creating a new property set (a group of fields for object types). It also explicitly notes that this changes the model, distinguishing it from tools that modify object values.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides clear guidance on when to use this tool: to define recurring field bundles once instead of assigning fields individually. It also clarifies that it does not modify existing object values, implicitly differentiating it from data-modification tools. However, it does not explicitly name alternative tools like onto_property_set_update or onto_property_def_create.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

onto_property_set_updateA
DestructiveIdempotent
Inspect

Ein bestehendes Property-Set aendern (enthaltene Felder, Zuordnung, Label). Betrifft das Modell, nicht die Werte einzelner Objekte. Nutze es zum Nachziehen von Feldgruppen; Werte aenderst du mit onto_object_set_property. Der bisherige Wert ist danach weg (keine Historie, kein Undo). | EN: property, field, schema, property set, definition

ParametersJSON Schema
NameRequiredDescriptionDefault
keyNoSet-Key
labelNoLabel
layoutNoLayout (JSON)
set_idYesProperty-Set-ID. Bei einem Scope-Set (scope_id gesetzt) genuegt can_manage_scope des Scopes.
def_idsNoProperty-Definition-IDs
type_idsNoObjekttyp-IDs
sort_orderNoSortierung
card_layoutNoCard-Layout (JSON)
descriptionNoBeschreibung
display_modeNoAnzeigemodus

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, idempotentHint=true and readOnlyHint=false. The description adds the genuinely useful consequence detail that the previous value is irretrievable (no history, no undo) and clarifies that the change is model-level, not value-level. It does not restate permissions or apply semantics, so it is strong but not exhaustive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four short sentences, front-loaded with the core purpose and consequence, with the alternative routing after. The trailing bilingual keyword line ('| EN: ...') is non-essential padding for an agent but does not obscure the main content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Annotations cover the safety profile, the schema covers all parameters, and there is no output schema to explain. Combined with the model-vs-value scoping and irreversibility note, an agent has what it needs; only explicit auth/permission context is absent (partially covered in the set_id param description).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 ten parameters. The description only loosely gestures at the same fields (Felder, Zuordnung, Label) and adds no syntax, format, or constraint detail beyond the schema, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Ein bestehendes Property-Set aendern') and scopes the affected aspects (enthaltene Felder, Zuordnung, Label). It also delimits the domain against object values, making it clearly distinct from the object-level siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit when-to-use ('Nutze es zum Nachziehen von Feldgruppen') and names the alternative for the other case ('Werte aenderst du mit onto_object_set_property'). Nothing about tool 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.

onto_report_aggregateA
Read-onlyIdempotent
Inspect

Kennzahlen eines Reports berechnen (Summen/Durchschnitte statt Einzelzeilen). Rein lesend. Nutze es, wenn du Zahlen brauchst statt Datensaetze — das ist billiger als die Rohdaten mit onto_report_json zu holen. Karten-Darstellung dagegen: onto_report_map_data. | EN: report, chart, heatmap, map, dashboard, evaluation, export, statistics

ParametersJSON Schema
NameRequiredDescriptionDefault
report_idYesReport-ID

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so 'Rein lesend' is largely redundant. However, the description adds a genuine behavioral/cost signal absent from structured fields: aggregation is cheaper than pulling raw data via onto_report_json, which directly affects tool choice. No detail on output shape or aggregation granularity, 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose and the alternative-routing advice are front-loaded and the core is three tight sentences. The trailing EN keyword dump ('report, chart, heatmap, map, dashboard, evaluation, export, statistics') is retrieval filler that does not help an agent decide or invoke, so it costs a point.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter, non-destructive read tool with full annotation coverage, the description covers what it returns conceptually (aggregates instead of rows) and when to prefer it. With no output schema, the actual structure of the returned metrics is undisclosed, which is the remaining gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and there is a single required report_id parameter, so the schema carries the load. The description adds no meaning beyond it (e.g. what report_id refers to, whether aggregations are configurable), so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource (compute report metrics — sums/averages rather than individual rows) and explicitly distinguishes itself from two siblings, onto_report_json (raw data) and onto_report_map_data (map display). An agent can route correctly 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.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit when-to-use condition ('Nutze es, wenn du Zahlen brauchst statt Datensaetze') and names the alternatives with the condition that selects each (onto_report_json for raw rows, onto_report_map_data for maps). Nothing 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.

onto_report_csvA
Read-onlyIdempotent
Inspect

Einen Report als CSV-Download ausfuehren (Semikolon-getrennt). Rein lesend. Nutze es fuer Exporte und Tabellenkalkulation. Fuer Weiterverarbeitung in Code ist onto_report_json besser, fuer die Anzeige onto_report_show. Die report_id liefert onto_report_index. | EN: report, chart, heatmap, map, dashboard, evaluation, export, statistics

ParametersJSON Schema
NameRequiredDescriptionDefault
report_idYesReport-ID

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered; the description's 'Rein lesend' only restates it. It does add a genuinely new behavioral detail — the output is a semicolon-delimited CSV download — but says nothing about download mechanism, size limits or pagination.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action and format, then routing guidance, all in a few sentences. The trailing keyword list ('report, chart, heatmap, map, dashboard, evaluation, export, statistics') is retrieval padding rather than instruction and slightly dilutes the definition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

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 no output schema, the description covers what the tool does, its output format, and which siblings to prefer. Missing details about how the download is delivered and any result limits are minor but prevent a 5.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% but the schema only says 'Report-ID'; the description adds where that ID comes from (onto_report_index), which is real provenance guidance beyond the schema. With a single, fully documented parameter this is a solid contribution.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: execute a report as a CSV download, with the format qualifier (semicolon-separated) and read-only nature. It explicitly distinguishes itself from the sibling report tools (onto_report_json, onto_report_show), so an agent can route 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.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit when-to-use ('fuer Exporte und Tabellenkalkulation') and when-to-use-alternatives: onto_report_json for code further-processing, onto_report_show for display. It also names the source of the required report_id (onto_report_index), removing the main ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

onto_report_indexA
Read-onlyIdempotent
Inspect

Alle Reports auflisten, die fuer dich freigegeben sind. Rein lesend. Nutze es als Einstieg, um die report_id fuer die Ausgabe-Tools zu finden. Die Daten selbst liefern onto_report_show (HTML/Struktur), onto_report_json, onto_report_csv oder onto_report_aggregate. | EN: report, chart, heatmap, map, dashboard, evaluation, export, statistics

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoSeitennummer (Default 1)
limitNoErgebnisse pro Seite, 1..200; der Wert gilt fuer die Sitzung (Standard 10)

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so 'Rein lesend' mostly restates what the agent already knows. The description adds real value by clarifying the tool returns identifiers rather than report content, which shapes expectations of the response, but it discloses nothing about the session-persistent 'limit' quirk or pagination behavior noted in the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose and routing are front-loaded well, but 'Rein lesend' duplicates the annotations and the trailing '| EN: report, chart, heatmap...' keyword list is retrieval-stuffing rather than information for the caller. Still compact overall, but a sentence or two does not earn its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple index tool with no required parameters and no output schema, the description covers purpose, read-only nature and where the actual data lives. Only the session-persistence detail of 'limit' is left to the schema, which is acceptable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and both page/limit are documented there, including the non-obvious session-persistence behavior of limit. The description adds no parameter-level detail, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Alle Reports auflisten') plus scope ('die fuer dich freigegeben sind'), so the agent knows exactly what comes back. It also contrasts itself with the output tools, making it unmistakable which sibling belongs to which task.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly designates itself as the entry point ('Nutze es als Einstieg') for obtaining the report_id, and names the four alternative tools (onto_report_show/json/csv/aggregate) that deliver the actual data. When-to-use and the alternatives 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.

onto_report_jsonA
Read-onlyIdempotent
Inspect

Einen Report als JSON ausfuehren (maschinenlesbare Rohdaten). Rein lesend. Nutze es, wenn du die Ergebnisse weiterverarbeiten willst. Filter uebergibst du als Objekt. Fuer die reine Anzeige genuegt onto_report_show, fuer Tabellen onto_report_csv, fuer Summen onto_report_aggregate. | EN: report, chart, heatmap, map, dashboard, evaluation, export, statistics

ParametersJSON Schema
NameRequiredDescriptionDefault
filtersNoFilter-Parameter
report_idYesReport-ID

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so "Rein lesend" adds little. However, the description surfaces an output-behavior trait not covered by any structured field and not backed by an output schema: that the result is raw machine-readable data intended for downstream processing, which materially shapes how an agent should use the result.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The German body is front-loaded and dense: purpose, read-only guarantee, usage condition, parameter note, and three sibling routes in four short sentences with no filler. The trailing EN keyword block is search-oriented metadata rather than instruction, which is minor padding but not disruptive.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter read tool with no output schema, the definition covers purpose, safety, usage routing, and parameter passing adequately. The only real gap is the structure of the nested "filters" object, whose properties are undefined in both the schema and the description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 a small amount for the nested "filters" parameter by stating it is passed as an object, but it does not enumerate accepted filter keys or format, leaving the undocumented nested object's internal structure entirely to inference.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("Einen Report als JSON ausfuehren") plus the nature of the output ("maschinenlesbare Rohdaten"). It explicitly distinguishes itself from onto_report_show, onto_report_csv, and onto_report_aggregate, so an agent can select it without opening sibling schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit use condition ("Nutze es, wenn du die Ergebnisse weiterverarbeiten willst") and routes the agent to the correct alternative for each other need: display (onto_report_show), tables (onto_report_csv), sums (onto_report_aggregate). When-to-use and alternatives 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.

onto_report_map_dataA
Read-onlyIdempotent
Inspect

Die geografischen Daten eines Reports abrufen (Punkte fuer die Kartendarstellung). Rein lesend. Nutze es, wenn der Report Objekte mit Koordinaten enthaelt. Fehlende Koordinaten setzt onto_object_geocode. Kennzahlen statt Karte: onto_report_aggregate. | EN: report, chart, heatmap, map, dashboard, evaluation, export, statistics

ParametersJSON Schema
NameRequiredDescriptionDefault
report_idYesReport-ID

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so 'Rein lesend' largely repeats structured data. The genuine addition is the note that missing coordinates are filled by onto_object_geocode, clarifying what this tool does NOT do. It still says nothing about return format or pagination, so with annotations carrying the safety profile a 3 is fair.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core purpose and reads efficiently in a few short sentences. The trailing 'EN: report, chart, heatmap, map, dashboard, evaluation, export, statistics' keyword block is search-oriented filler that adds little for an agent, slightly diluting conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-required-param read-only tool with no output schema, the description covers purpose, read-only nature, usage condition, and alternatives. It hints at the return ('Punkte fuer die Kartendarstellung') but does not describe structure or pagination, leaving a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Single parameter (report_id) with 100% schema description coverage, so the schema already does the work. The description adds no syntax, format, or constraint detail for report_id. Baseline 3 is correct when the schema is fully covered.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('geografischen Daten eines Reports abrufen') and immediately scopes it to map points ('Punkte fuer die Kartendarstellung'). It explicitly distinguishes itself from siblings by naming onto_report_aggregate for metrics and onto_object_geocode for coordinate gaps, so an agent can tell it apart without opening another schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly gives the when: 'Nutze es, wenn der Report Objekte mit Koordinaten enthaelt.' It also routes to alternatives for adjacent cases — onto_object_geocode when coordinates are missing, onto_report_aggregate when aggregated metrics are wanted instead of a map. Clear when-to-use and alternative-selection guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

onto_report_showA
Read-onlyIdempotent
Inspect

Einen Report ausfuehren und sein Ergebnis lesen (Standarddarstellung). Rein lesend. Nutze es, um den Inhalt zu sehen. Fuer maschinelle Weiterverarbeitung ist onto_report_json geeigneter, fuer Tabellenexport onto_report_csv, fuer Kennzahlen onto_report_aggregate. Die report_id liefert onto_report_index. | EN: report, chart, heatmap, map, dashboard, evaluation, export, statistics

ParametersJSON Schema
NameRequiredDescriptionDefault
report_idYesReport-ID

TDQS

A4.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, fully covering the safety profile. The description repeats 'Rein lesend' and adds only that this is the standard display variant. It does not disclose output format, pagination, or error behavior, so beyond annotations it adds limited behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The German sentence is front-loaded and states the action immediately, followed by alternatives and the ID source. The bilingual keyword tail ('| EN: report, chart, heatmap...') is search-oriented rather than invocation-focused and slightly dilutes the structure. Overall it is compact and readable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter read-only tool with full annotations and no output schema, the description covers purpose, alternatives, and the source of report_id. Nothing essential for correct invocation is missing, and return-value documentation is appropriately unnecessary here.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the basic meaning of report_id is already documented as 'Report-ID'. The description adds valuable provenance beyond the schema: 'Die report_id liefert onto_report_index', telling the agent where to obtain the ID. It does not add format or syntax details, but the source hint is genuinely useful.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Einen Report ausfuehren und sein Ergebnis lesen (Standarddarstellung)' — execute a report and read its result in standard display. It distinguishes itself from siblings by naming onto_report_json, onto_report_csv, onto_report_aggregate, and onto_report_index directly. An agent can tell what this tool does and what it is not for 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.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage guidance is explicit: 'Nutze es, um den Inhalt zu sehen' plus directional alternatives for machine processing, table export, and metrics. It also tells the agent where to get the required report_id from onto_report_index. This is exactly the when-to-use / when-to-use-alternative 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.

onto_scope_save_structuredimage_categoriesA
DestructiveIdempotent
Inspect

Die Kategorien der strukturierten Bildablage eines Scopes speichern (anlegen/aendern). Ueberschreibt die Kategorienliste des Scopes. Nutze es beim Einrichten neuer Bildplaetze; anschliessend passen Uploads mit upload_file_to_object darauf. Den Ist-Stand vorher liest onto_scope_structuredimage_categories. Der bisherige Wert ist danach weg (keine Historie, kein Undo). | EN: scope, workspace, area, project, category, image, access

ParametersJSON Schema
NameRequiredDescriptionDefault
scope_idYesScope-ID (nur eigene, can_manage_scope noetig)
categoriesYesKategorien-Liste. Jeder Eintrag: {imagename (Pflicht, z.B. 'Image01.jpg' — MUSS dem Dateinamen des Uploads entsprechen), caption (Anzeigename), info (Fotografier-Hinweis), language ('de'/'en'), thumbnail (true/false), versioned (true/false)}. Mehrere Eintraege mit gleichem imagename = Sprachvarianten. Die Reihenfolge bestimmt die Anzeige.

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already flag destructiveHint=true and idempotentHint=true, but the description goes further: it states the category list is fully replaced, the previous value is gone afterwards, there is no history and no undo, and that subsequent uploads depend on this state. This is concrete disclosure of what is destroyed and the downstream consequences.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core guidance is front-loaded in focused sentences covering purpose, timing, dependencies, and the read counterpart. The trailing '| EN: scope, workspace, ...' keyword list is padding that does not earn its place for an agent selecting the tool, though the main body is tight.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive, annotation-covered mutation with no output schema, the description supplies everything needed: purpose, overwrite/replacement semantics, destructive irreversibility, prerequisites, sequencing with the read sibling, and downstream effects on uploads.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

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 genuine meaning: 'Ueberschreibt die Kategorienliste' clarifies that the categories parameter is a full replacement rather than a merge. The scope_id permission requirement is covered in the schema, so this is the main incremental value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: saving (creating/changing) the categories of a scope's structured image storage, and explicitly names the overwrite semantics. It is clearly distinguishable from its read counterpart onto_scope_structuredimage_categories, which it names as the reader.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It says exactly when to use it ('beim Einrichten neuer Bildplaetze'), what depends on it afterwards ('anschliessend passen Uploads mit upload_file_to_object darauf'), and which tool to use first to inspect current state. Explicit alternative and sequencing guidance leaves nothing to infer.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

onto_scope_structuredimage_categoriesA
Read-onlyIdempotent
Inspect

Die Kategorien der strukturierten Bildablage eines Scopes lesen (welche Bildplaetze es gibt). Rein lesend. Nutze es vor einem Upload, um den korrekten Kategorie-Namen fuer upload_file_to_object (type=structuredimage) zu kennen. Kategorien aendern: onto_scope_save_structuredimage_categories. | EN: scope, workspace, area, project, category, image, access

ParametersJSON Schema
NameRequiredDescriptionDefault
scope_idYesScope-ID. VERWALTUNGS-SICHT: liefert die Kategorien-DEFINITION des Scopes zum Bearbeiten (Bearbeiten nur mit can_manage_scope). Zum ANZEIGEN beim Einsortieren von Bildern an einem Objekt NICHT dieses Tool nehmen, sondern onto_file_structured — das braucht kein Verwaltungsrecht und liefert die Kategorien zusammen mit den bereits hochgeladenen Bildern.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, and the description reinforces this with 'Rein lesend.' Beyond the safety profile it adds the workflow role (pre-upload lookup) and what the result conceptually represents (available image slots). It does not describe the return shape or error behavior, but with no output schema and strong annotations that is a minor gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the core purpose in one sentence, then the read-only note, then the alternative tool. The trailing '| EN: scope, workspace, ...' keyword block is convention noise rather than information, which keeps it just short of a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter, read-only lookup with full schema coverage and rich annotations, the definition gives the agent everything needed to call it and to route to the correct sibling first. The absence of any statement about the returned structure is acceptable given there is no output schema to rely on, but it is the one remaining hole.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the schema description for scope_id is itself unusually rich, contrasting the management view with onto_file_structured for display. The description adds conceptual value (the category-name purpose) but no scope_id-specific syntax or format beyond what the schema already provides, so the baseline 3 holds.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: reads the categories of a scope's structured image storage ('welche Bildplaetze es gibt'). It clearly distinguishes itself from onto_scope_save_structuredimage_categories (the write variant) and from onto_file_structured, so an agent can select correctly 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.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly names the when ('Nutze es vor einem Upload, um den korrekten Kategorie-Namen fuer upload_file_to_object (type=structuredimage) zu kennen') and the alternative for modification ('Kategorien aendern: onto_scope_save_structuredimage_categories'). Nothing 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.

onto_series_lastA
Read-onlyIdempotent
Inspect

AKTUELLE Werte mehrerer Zeitreihen in EINEM Aufruf - der Weg fuer Listen, Karten und Fahrzeugflotten ("wo stehen alle Fahrzeuge jetzt"). objects = Liste der Objekt-udids (max 1000), series = Liste der series_keys (mehrere Reihen gleichzeitig). Beide als Array. Gemessen: 1000 Objekte in 56 ms. Antwort: {count, values[{object_udid, series_key, ts, value_float, value_str, lat, lng}]}. Geliefert wird nur, was der Aufrufer sehen darf (Scope des Property, fail-closed): ein Objekt ohne sichtbare Reihe fehlt still - count kleiner als objects heisst "nicht sichtbar", nicht "kein Wert da". Rein lesend. ZEIT: series_ts ist UTC (ISO 8601 mit Z). | EN: time series, history, trend, chart, curve, sensor data, measurement

ParametersJSON Schema
NameRequiredDescriptionDefault
seriesYesListe der series_keys (Property-Keys), z.B. ["location"]
objectsYesListe der Objekt-udids (32-hex), max 1000

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Far exceeds the annotations (which only cover read-only/idempotent/non-destructive). It discloses the fail-closed scope rule and the crucial count semantics ('count kleiner als objects heisst nicht sichtbar, nicht kein Wert da'), plus a performance benchmark (1000 objects in 56 ms) and UTC ISO-8601 timestamp behavior. This is exactly the behavioral context annotations cannot provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose and scope, and every clause is substantive (params, benchmark, response shape, visibility rule, time format). It is dense and slightly congested by mixing German prose with an English keyword tail, but little is padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description fully compensates by spelling out the response object shape ({count, values[{...}]}) and the notable visibility/fail-closed behavior. Time format and read-only nature are also covered, leaving nothing an agent needs to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

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 still adds meaning: it clarifies objects are object-udids capped at 1000 and that series is a list allowing several series to be fetched at once, reinforcing the schema's intent beyond raw field types.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: 'AKTUELLE Werte mehrerer Zeitreihen in EINEM Aufruf' (current values of multiple time series in one call), including the bulk nature emphasized by 'EINEM Aufruf'. It clearly implies a distinct role vs cursor/range access, and the English tail ('time series, history, trend...') aids retrieval. It does not explicitly name the sibling onto_series_range, so differentiation from it is left implicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete when-to-use scenarios ('Listen, Karten und Fahrzeugflotten – wo stehen alle Fahrzeuge jetzt'), which selects the right contexts well. There is no explicit exclusion or named alternative (e.g. onto_series_range for historical windows), so routing between the two series tools still relies on inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

onto_series_rangeA
Read-onlyIdempotent
Inspect

VERLAUF einer Zeitreihe lesen: die Punkte zwischen zwei Zeitpunkten. Das ist der Weg fuer "wie war der Verlauf / die Tagesroute / die Messkurve". Pflicht: object_udid + series_key (beides aus onto_object_show: series_keys liefert die Reihen des Objekts). resolution ist der Kniff: 0 = jeder Rohpunkt, >0 = Raster in Sekunden (Minimum 60). Fuer eine Tagesroute 300 (5 Min) nehmen. Ohne resolution kommen ALLE Rohpunkte. Ohne from/to: die letzten 3 Tage. Antwort: {count, resolution, points[{ts, value_float, value_str, lat, lng}]}. Bei einem geo-Sensor tragen lat/lng die Position, value_* ist dann null. Ist count kleiner als erwartet, ist die Antwort auf MAX_RANGE_POINTS begrenzt: Fenster verkleinern oder groeber rastern. Rein lesend. ZEIT: alle ts in der Antwort sind UTC (ISO 8601 mit Z). Auch from/to sind UTC. | EN: time series, history, trend, chart, curve, sensor data, measurement

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoEnde in UTC, gleiches Format. Ohne Angabe: jetzt (UTC).
fromNoBeginn in UTC. "2026-10-06", "2026-10-06 08:00:00" oder "2026-10-06T08:00:00Z" — alles UTC. Ohne Angabe: vor 3 Tagen.
resolutionNoRaster in Sekunden: 0 = roh, sonst >=60. Fuer Tagesroute 300. Ohne Angabe: 0 (roh).
series_keyYesKey der Reihe = Key des zugehoerigen Property (z.B. "location")
object_udidYesudid des OBJEKTS (32-hex), nicht der Reihe

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only cover the safety profile (readOnly/idempotent/non-destructive). The description adds substantial behavior the annotations cannot: the MAX_RANGE_POINTS truncation rule with remediation advice, the default 3-day window when from/to are omitted, the raw-vs-grid tradeoff, and the UTC-only contract for both inputs and returned timestamps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose, then required params, then the resolution mechanics, then response shape. It is dense with little filler, though resolution/default details partially duplicate the schema and the trailing EN keyword list is SEO padding rather than guidance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

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 fully describes the return object ({count, resolution, points[{ts, value_float, value_str, lat, lng}]}), including the geo-sensor case where value_* is null. Combined with defaults, limits and time semantics, 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.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is already 100%, so baseline is 3. The description goes beyond the schema by specifying that object_udid and series_key must be sourced from onto_object_show (series_keys), and by reinforcing the practical resolution choice (300 for a Tagesroute) and the raw-by-default behavior.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource with its exact scope: "VERLAUF einer Zeitreihe lesen: die Punkte zwischen zwei Zeitpunkten". The scope clause (between two timestamps) inherently separates it from the sibling onto_series_last, 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.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives strong user-intent triggering ("wie war der Verlauf / die Tagesroute / die Messkurve") and tells the agent where the required identifiers come from (onto_object_show: series_keys). It never explicitly names the alternative tool to prefer for the latest value only (onto_series_last), so the when-not half of the guidance 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.

onto_trigger_createAInspect

Einen neuen Trigger anlegen (zeit- oder ereignisgesteuerter Ablauf). Aendert den Plan — der Ablauf laeuft danach automatisch und kann Daten schreiben. Nutze es fuer wiederkehrende Aufgaben. Bestehende aenderst du mit onto_trigger_update; Loeschen: onto_trigger_delete. | EN: trigger, automation, rule, event, condition, effect

ParametersJSON Schema
NameRequiredDescriptionDefault
keyNoTechnischer Schluessel (a-zA-Z0-9_). Ohne Angabe = name. Muss eindeutig sein.
bodyYesDie Regel als Objekt oder JSON-String. body-Format (verifiziert): {"on":"update","object_types":["building"],"effects":[{"type":"set_property","props":{"status":"geprueft"}}]}. WICHTIG: set_property nutzt das Feld "props", NICHT key/value. Platzhalter in Werten: {object_udid}, {object_name}, {value_new}, {value_old}. Optional condition: {"changed":["feld"],"props":[{"key":"temperatur","op":"gte","value":"30"}]} — Operatoren: eq, neq, in, gt, gte, lt, lte, empty, notempty, matches. create_object braucht "object_type" und "name", optional "props"/"links". create_link braucht "linktype" und "to" (32-hex, oder from/to). run_function braucht "function" (Name oder UDID).
nameYesAnzeigename der Regel (z.B. 'Rauchmelder-Alarm')
labelNoAnzeigetext (ohne Angabe aus key abgeleitet)
scope_idYesZiel-Scope. Du musst dort Manager sein (can_manage_scope). PUBLIC (15) nur Admin.
descriptionNoBeschreibung (optional)

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false and destructiveHint=false, so this is credit for added context: the description warns that the automation "laeuft danach automatisch und kann Daten schreiben," disclosing delayed/deferred side effects that go beyond the immediate call. It does not, however, address the non-idempotent behavior (duplicate triggers) or permission requirements beyond what the schema states.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the purpose and sibling routing in a few compact sentences. The trailing "| EN: trigger, automation, rule, event, condition, effect" keyword list is padding rather than instruction, which keeps it from a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a non-idempotent mutation tool with no output schema, the description plus annotations and full schema coverage give an agent enough to act: operation semantics, deferred side effects, and sibling routing are all present. Minor gaps remain around success/failure response and required permissions, but these are largely covered by annotations and the scope_id schema note.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 six parameters, including the extensive body format. The description adds no parameter-level detail (not even for the required body or scope_id), so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb ("anlegen"/create) and resource ("Trigger") with scope qualifier ("zeit- oder ereignisgesteuerter Ablauf"). It explicitly routes the agent to siblings: "Bestehende aenderst du mit onto_trigger_update; Loeschen: onto_trigger_delete." An agent can distinguish this from update/delete 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.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

States the use case ("fuer wiederkehrende Aufgaben") and names the alternatives for the adjacent operations (onto_trigger_update, onto_trigger_delete), which is exactly the routing a create tool needs. The when-not case (existing triggers) is covered by pointing to update.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

onto_trigger_deleteA
DestructiveIdempotent
Inspect

Einen Trigger loeschen (Automatik abschalten). Er laeuft danach nicht mehr — bereits erzeugte Daten bleiben bestehen. Zum blossen Pausieren den Zeitplan mit onto_trigger_update anpassen, falls die Definition erhalten bleiben soll. | EN: trigger, automation, rule, event, condition, effect

ParametersJSON Schema
NameRequiredDescriptionDefault
udidYesudid der Regel (32-hex)

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, idempotentHint=true and readOnlyHint=false, so the safety profile is covered. The description adds real context beyond that: the trigger stops running but 'bereits erzeugte Daten bleiben bestehen' — clarifying what is and isn't destroyed. It doesn't address permissions or reversibility of the definition itself.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the action and consequence, then the alternative in a tight sequence of sentences. The trailing English keyword tag ('trigger, automation, rule...') is search-oriented padding rather than informative content, but it's brief.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter destructive tool with annotations covering safety and no output schema, the description covers purpose, side effects, and the pause alternative. Minor gap: no mention of auth/permission requirements or whether the deleted definition can be recovered.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single udid parameter is fully documented in the schema ('udid der Regel (32-hex)'). The description adds no syntax or format detail beyond the schema, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (loeschen/delete) plus resource (Trigger) and clarifies the effect ('Automatik abschalten'). It also distinguishes itself from the sibling onto_trigger_update by contrasting deletion with pausing, so an agent can tell them apart.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly names the alternative and the condition that selects it: 'Zum blossen Pausieren den Zeitplan mit onto_trigger_update anpassen, falls die Definition erhalten bleiben soll.' This is a genuine when-to-use-this-vs-that instruction, not inferred.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

onto_trigger_indexA
Read-onlyIdempotent
Inspect

Alle Trigger auflisten (zeit- oder ereignisgesteuerte Ablaeufe). Rein lesend. Nutze es, um zu sehen, welche Automatiken geplant sind und wann sie laufen. Anlegen/Aendern: onto_trigger_create / onto_trigger_update. Sofort ausfuehrbare Funktionen: onto_function_index. | EN: trigger, automation, rule, event, condition, effect

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoSeitennummer (Default 1)
limitNoErgebnisse pro Seite, 1..200; der Wert gilt fuer die Sitzung (Standard 10)

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

"Rein lesend" largely restates the readOnlyHint=true annotation rather than adding new information, and the annotations already declare idempotent and non-destructive behavior with a closed-world scope. The description does add useful semantic context about what triggers represent (scheduled vs. event-driven automations) but says nothing about pagination behavior or result size beyond what the schema already states.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the core action and the read-only constraint, then the usage cue and the sibling routing in a compact run of sentences. The trailing keyword block ("trigger, automation, rule, event, condition, effect") is retrieval scaffolding rather than instruction, but it is short and clearly delimited.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter, no-output-schema list tool, the description supplies the action, the safety profile, the use case, and the sibling routing an agent needs to select it correctly. Only minor operational details (ordering, what a trigger record contains) are absent, and the absence of an output schema makes that a small gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%: both `page` and `limit` are documented in the schema, including the 1..200 range and the notable session-wide persistence of `limit`. The description adds nothing about parameters, so the baseline 3 applies when the schema carries the full burden.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("Alle Trigger auflisten") and immediately qualifies the resource as time- or event-driven processes, so the agent knows exactly what is being listed. It explicitly distinguishes itself from the sibling tools onto_trigger_create/update and from onto_function_index, which is the key ambiguity in this namespace.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a concrete use case ("um zu sehen, welche Automatiken geplant sind und wann sie laufen") and routes the agent to alternatives for the adjacent operations: onto_trigger_create / onto_trigger_update for writes, onto_function_index for directly executable functions. When-to-use and when-to-use-something-else are both covered.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

onto_trigger_updateA
DestructiveIdempotent
Inspect

Einen bestehenden Trigger aendern (Zeitplan, Bedingung, Ziel-Funktion). Betrifft den Plan, nicht die bereits gelaufenen Ausfuehrungen. Nutze es zum Umstellen von Automatiken. Eine Funktion einmalig ausfuehren: onto_function_run. Der bisherige Wert ist danach weg (keine Historie, kein Undo). | EN: trigger, automation, rule, event, condition, effect

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYesNeue Regel vollstaendig (Format siehe onto_trigger_create)
udidYesudid der Regel (32-hex, aus onto_trigger_index)
labelNoAnzeigetext
scope_idNoZiel-Scope (ohne Angabe: der bisherige)
descriptionNoBeschreibung

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, idempotentHint=true and readOnlyHint=false, so the safety profile is covered. The description adds real context beyond that: it discloses that the previous value is permanently lost ('keine Historie, kein Undo') and that the change affects only the schedule/plan, not past executions. That is meaningful 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the verb+resource, then scope, then usage, then the excluded alternative, then the destructive warning — a logical order. It is a bit dense in five clauses, and the trailing '| EN: ...' keyword list is search-oriented rather than informative, but nothing is genuinely wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with full annotation coverage of the safety profile, no output schema, and 100% parameter coverage, the description supplies the essential missing pieces: what is modified, what is destroyed, and where to go for the body format. Complete enough to invoke correctly, with only minor depth left to sibling tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 udid, label, scope_id, description and the nested body. The description's breakdown (schedule/condition/target function) loosely describes the opaque 'body' contents but adds no syntax or format detail beyond 'siehe onto_trigger_create'. 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.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('einen bestehenden Trigger aendern') and enumerates exactly what changes (Zeitplan, Bedingung, Ziel-Funktion). It also draws the boundary from siblings by noting the change 'betrifft den Plan, nicht die bereits gelaufenen Ausfuehrungen' and routes one-off execution to onto_function_run. An agent can distinguish it from onto_trigger_create/delete/run 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.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit usage ('Nutze es zum Umstellen von Automatiken') and names the alternative for the adjacent task ('Eine Funktion einmalig ausfuehren: onto_function_run'). It does not explicitly contrast against onto_trigger_create (creating a new rule), though 'bestehenden' implies existing-only, so the guidance is clear but not exhaustive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

onto_type_showA
Read-onlyIdempotent
Inspect

Einen Objekttyp vollstaendig lesen (zugehoerige Properties, Interfaces, Eigenschaften). Rein lesend. Nutze es, wenn dir der Typ-Name bekannt ist und du wissen willst, welche Felder er erlaubt — das ist die Vorbereitung fuer onto_object_create. Die reine Namensliste liefert onto_type_index. | EN: object type, schema, type, definition

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesObjekttyp-Name
pageNoSeitennummer der Objektliste (Default 1)
limitNoObjekte pro Seite, 1..200; wird in der Sitzung gemerkt (Standard 10)
scope_idNoScope fuer das Agentenschema (sonst kleinster lesbarer Scope)

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so the safety profile is covered; the description reinforces this with 'Rein lesend'. It does not disclose anything beyond the annotations, e.g. how scope defaults are resolved or that paging state is session-remembered (that only appears in the schema). With annotations carrying the behavioral burden, 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The German portion is front-loaded and efficient: what it reads, the read-only nature, the when-to-use, and the sibling pointer. The trailing 'EN: object type, schema, type, definition' keyword block is modestly redundant but serves as search aliases. No sentence is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read operation over a single named type with a fully-documented schema and four annotations, the description covers purpose, read-only behavior, usage condition, and the sibling alternative. It lacks any note on how scope_id affects the returned schema, but the schema comment covers the default, so nothing critical is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all four parameters (name, page, limit, scope_id) are already documented in the schema, including defaults and the 1..200 range. The description adds no parameter-level meaning beyond what is structured. Baseline 3 is correct when the schema does the work.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Einen Objekttyp vollstaendig lesen' — fully read an object type, including its Properties, Interfaces, Eigenschaften) and explicitly distinguishes itself from the sibling onto_type_index by stating that the pure name list is delivered by that tool. An agent can tell exactly what this tool returns versus its closest sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives an explicit when-to-use condition ('Nutze es, wenn dir der Typ-Name bekannt ist und du wissen willst, welche Felder er erlaubt') and names the alternative for the other case (onto_type_index for name lists). It also frames the use as preparation for onto_object_create, which situates it in a workflow.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ontouser_interface_map_markersA
Read-onlyIdempotent
Inspect

Die Kartenmarker eines Interfaces im Self-Service-Kontext abrufen (Objekte mit Koordinaten fuer die Karte). Rein lesend. Inhaltlich identisch zu onto_interface_map_markers — nimm dieses als Scope-Nutzer. Fehlende Koordinaten setzt ein Administrator mit onto_object_geocode. | EN: end user, customer, portal, notification, map, scope

ParametersJSON Schema
NameRequiredDescriptionDefault
interfaceNoInterface-Name

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), so 'Rein lesend' is redundant. The description does add real behavioral context beyond the annotations: the data-completeness caveat that markers without coordinates are resolved by an admin via onto_object_geocode, and the equivalence to the admin-scoped sibling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with what is returned, then the read-only note, the sibling equivalence, and the geocode path — no filler sentences. The trailing '| EN: end user, customer, portal, ...' keyword block is search-oriented stuffing rather than prose, which slightly dilutes an otherwise tight definition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter, no-output-schema read tool with full annotation coverage, the description covers return content, safety, sibling routing, and the geocoding gap. The one loose end is that the schema marks 'interface' as optional while the description presumes an interface is supplied, so the omitted-parameter behavior is unaddressed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single 'interface' parameter, so the schema already documents it. The description restates the resource but adds no format, syntax, or default-behavior meaning — baseline 3 per the rule.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (retrieving an interface's map markers, i.e. objects with coordinates) and explicitly disambiguates from the near-identical sibling onto_interface_map_markers by saying it is the scope-user variant. An agent can pick between the two 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.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tells the agent to use this one 'as a scope user' rather than the identical onto_interface_map_markers, which is clear routing. It also notes that missing coordinates must be filled by an administrator via onto_object_geocode, implying this tool cannot do that — though the when-not condition is implied rather than stated outright.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ontouser_interface_showA
Read-onlyIdempotent
Inspect

Ein einzelnes Interface im Self-Service-Kontext lesen (Sicht mit ihren Feldern). Rein lesend. Inhaltlich identisch zu onto_interface_show — nimm dieses, wenn du als Scope-Nutzer arbeitest. Alle Interfaces (Admin) listet onto_interface_index. | EN: end user, customer, portal, notification, map, scope

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesInterface-Name

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered; the description's 'Rein lesend' is largely redundant. It does add useful context — the equivalence to onto_interface_show and the scope-user frame — but says nothing about required permissions, what the returned view/fields look like, or error behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the purpose, then the read-only guarantee, then the sibling routing — a logical order with no wasted sentences. The trailing '| EN: end user, customer, portal, notification, map, scope' keyword list is search-optimization padding rather than agent-facing meaning, slightly diluting an otherwise tight description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

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 no output schema, the description covers purpose, safety, and sibling routing, and the annotations carry the behavioral profile. The only real gap is what the returned interface/view contains, which is not documented anywhere ('Sicht mit ihren Feldern' is only a hint).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Single required parameter with 100% schema description coverage ('Interface-Name'), so the schema carries the semantics. The description's '(Sicht mit ihren Feldern)' hints at the return shape but adds no syntax or format detail for the name parameter beyond what the schema provides. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (read a single interface in the self-service/scope-user context) and explicitly distinguishes itself from two siblings: onto_interface_show (content-identical but for scope users) and onto_interface_index (lists all interfaces, admin). An agent can pick this tool 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.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit selection rule — 'nimm dieses, wenn du als Scope-Nutzer arbeitest' — and names the alternative tool for the admin/all case. When-to-use and the alternative are both stated, not left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ontouser_notification_indexA
Read-onlyIdempotent
Inspect

Die eigenen Benachrichtigungen auflisten (Meldungen des angemeldeten Kontos). Rein lesend. Nutze es als Einstieg, um neue Meldungen zu finden. Eine einzelne Meldung als gelesen markieren: ontouser_notification_read. Fuer Systemprotokolle (Admin) ist onto_action_logs zustaendig. | EN: end user, customer, portal, notification, map, scope

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior; the description mainly repeats read-only and adds account scoping and routing. It does not describe pagination, ordering, or return shape, so beyond annotations it is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core action and alternatives are front-loaded in the first sentences, and the routing information is compact. The appended '| EN:' keyword list is slightly extraneous but does not obscure the main instruction.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no parameters, no output schema, and annotations that fully cover safety hints, the description provides enough context: what it lists, whose notifications, and which sibling tools to use instead. Nothing needed 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.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are zero parameters and schema coverage is 100%, so the schema fully defines the call surface. The description adds no parameter detail because none is needed; baseline for a no-parameter tool is 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (auflisten) and resource (Benachrichtigungen) with scope (eigene/Meldungen des angemeldeten Kontos). It explicitly distinguishes itself from ontouser_notification_read and onto_action_logs, so an agent can select 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.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says to use it as an entry point to find new messages, names the alternative for marking a single notification as read, and routes admin system logs elsewhere. Covers when to use and when not to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ontouser_notification_readA
Idempotent
Inspect

Eine Benachrichtigung als gelesen markieren. Aendert nur den Lesestatus, nicht den Inhalt und loescht nichts. Nutze es nach ontouser_notification_index. Die Meldung selbst bleibt abrufbar. | EN: end user, customer, portal, notification, map, scope

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesNotification-id aus ontouser_notification_index

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=false (a mutation) and idempotentHint=true; the description usefully narrows what that mutation touches — only the read status, not content, and nothing is deleted — and adds that the message remains retrievable. That resolves the ambiguity of a non-read-only tool that is also 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.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The three German sentences are well front-loaded and earn their place, but the trailing '| EN: end user, customer, portal, notification, map, scope' keyword block is SEO-style noise that adds nothing to tool selection and dilutes the structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter idempotent flag flip with no output schema, the description covers purpose, precondition, and post-state ('Die Meldung selbst bleibt abrufbar') sufficiently. Only the reused id parameter lacks description-level elaboration, and the schema already handles it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single parameter's schema text already says the id is a 'Notification-id aus ontouser_notification_index'. The description restates that same provenance, so it adds no meaning beyond the schema; baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

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 ('Eine Benachrichtigung als gelesen markieren'), which is unambiguous and clearly distinct from listing (ontouser_notification_index) or sending (ontouser_notification_send). It stops short of explicitly contrasting itself with those siblings, so it is clear but not fully self-differentiating.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Nutze es nach ontouser_notification_index' gives explicit sequencing guidance that tells the agent when this tool is applicable and where the id comes from. There is no when-not guidance, but with a single meaningful alternative in the notification group the omission is minor.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ontouser_notification_sendAInspect

Einem anderen Nutzer eine Notification schreiben (User-zu-User, handler 'user_message'). to ist die Empfaenger-E-Mail eines existierenden Nutzers, text die Nachricht (max. 4000 Zeichen). Der Empfaenger liest sie mit ontouser_notification_index. Die eigene Adresse ist erlaubt. Kein Trockenlauf — die Meldung geht sofort raus; Push und E-Mail an Agentenadressen bewusst nicht. | EN: notification, message, user, send, notify

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesEmpfaenger-E-Mail eines existierenden Nutzers
textYesNachrichtentext (max. 4000 Zeichen)

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations by disclosing that there is no dry run and the message is sent immediately, that push and email to agent addresses are deliberately suppressed, and the 4000-character limit. These are exactly the operational traits an agent needs before invoking a non-idempotent (idempotentHint=false) write.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the purpose, then parameter notes, then behavioral caveats, in a compact block. Some param detail (email, 4000 chars) duplicates the schema, and the trailing EN keyword list is filler, but overall it is tight.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

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 delivery semantics, recipient constraints, size limit, and the read path. Nothing material an agent needs to call this correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and both params are self-documented, so the baseline is 3; the description adds value by stating the recipient must be an existing user and that the agent's own address is an acceptable target, which the schema does not convey.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (eine Notification schreiben / send) with the resource and scope (User-zu-User, handler 'user_message'). It explicitly separates this from the reading sibling by naming ontouser_notification_index, so an agent can distinguish them 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.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear context: recipient must be an existing user, own address is allowed, and the reading counterpart is named. It doesn't state explicit when-not-to-use cases beyond the push/email exclusion, so it falls just 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.

ontouser_object_showA
Read-onlyIdempotent
Inspect

Ein einzelnes Objekt ueber seine udid im Self-Service-Kontext lesen. Rein lesend und fail-closed (nur Objekte deiner Scopes). Inhaltlich identisch zu onto_object_show — nimm dieses, wenn du als Scope-Nutzer (nicht als Administrator) arbeitest. Ohne udid: ontouser_scope_index, dann die Objektliste. | EN: end user, customer, portal, notification, map, scope

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesObjekt-udid (32-hex)

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnlyHint, idempotentHint, destructiveHint=false, openWorldHint=false), so the description's added value is the 'fail-closed (nur Objekte deiner Scopes)' access constraint, which tells the agent it may silently return nothing outside its scope. It does not describe return shape or the failure mode text, but that is a modest gap against full annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core routing information is front-loaded in two compact sentences. The appended '| EN: end user, customer, portal, notification, map, scope' keyword tag is search filler rather than agent-facing guidance, which costs it a point.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

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 no output schema and full annotation coverage, the definition supplies purpose, the sibling decision rule, and the missing-identifier path. Return values need not be explained, though whether a fail-closed miss surfaces as empty or an error is left unstated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single required 'id' param is already documented as a 32-hex udid in the schema, so the description's mention of udid overlaps structured data. The 'ohne udid' note is usage-oriented rather than adding syntax or format detail, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Ein einzelnes Objekt ueber seine udid ... lesen') and explicitly differentiates from the sibling 'onto_object_show', noting they are content-identical but audience-different. An agent can pick the right one 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.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives both the selection rule ('nimm dieses, wenn du als Scope-Nutzer (nicht als Administrator) arbeitest') and a fallback path when the udid is unknown ('Ohne udid: ontouser_scope_index, dann die Objektliste'). When-to-use and the named alternative are both explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ontouser_scope_assign_publicAInspect

Einem anderen Konto Zugriff auf einen oeffentlichen Scope geben (buchen). Schreibt eine Zuordnung und kann Credits kosten — vorher onto_credit_pricing pruefen. Nutze es, um einen fremden oeffentlichen Scope zu nutzen. Den Zugang wieder entziehen: ontouser_scope_remove_public. Verfuegbare Scopes zeigt ontouser_scope_list_public. | EN: end user, customer, portal, notification, map, scope

ParametersJSON Schema
NameRequiredDescriptionDefault
scope_idYesPublic-Scope-ID, den du als Read buchen willst. Der Scope-Owner erhält dabei eine Credit-Gutschrift (Earnings, pricing scope_earnings)

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false. Beyond that, the description discloses that the call writes an assignment and may cost credits, and that the scope owner receives an earnings credit — meaningful side-effect context the annotations do not capture. It stops short of covering permissions or failure modes, 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the core action, then the cost warning, then the alternatives — a sensible order. Slightly long with the trailing 'EN:' keyword tag that adds little invocation value, but no wasted sentences.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter mutating tool with no output schema, the description covers purpose, cost side effect, prerequisite check, and sibling alternatives. It is nearly complete; only explicit failure/permission behavior is absent, 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.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the single scope_id parameter is already documented, including the owner-credit/earnings detail. The description adds no parameter 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.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: granting another account access to a public scope ('buchen'), and clarifies it writes an assignment. It explicitly distinguishes itself from the sibling ontouser_scope_remove_public (revoke) and ontouser_scope_list_public (discovery), so an agent can separate the three 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.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a clear when-to-use condition ('um einen fremden oeffentlichen Scope zu nutzen'), a mandatory prerequisite ('vorher onto_credit_pricing pruefen'), and names the exact alternatives for the opposite (remove_public) and preparatory (list_public) actions. Routing is fully specified.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ontouser_scope_createAInspect

Einen eigenen Scope anlegen (Self-Service, ohne Administrator). Du wirst Owner des neuen Scopes und kannst ihn verwalten. Nutze es, um eigene Datenbereiche zu beginnen. Verfuegbarkeit fuer andere steuerst du mit ontouser_scope_set_visibility; buchen lassen mit ontouser_scope_assign_public. | EN: end user, customer, portal, notification, map, scope Loeschen ist Verwaltungssache: einen eigenen Scope kann man nicht selbst entfernen (es gibt keinen ontouser-Weg) — ein Administrator loescht ihn.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesEigener kuratierter Scope anlegen (kostet Credits, konfigurierbar in pricing scope_credit_cost). Owner kann ihn später öffentlich machen (set_visibility) und verdient bei Nutzung durch andere (Earnings, pricing scope_earnings). Name: [a-z0-9_], max 30
descriptionNoBeschreibung (optional)

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations cover the safety profile (non-readonly, non-destructive, non-idempotent), and the description adds real behavioral context: you become Owner and can manage the scope, and crucially you cannot remove it yourself because no ontouser path exists. Cost/credit behavior is only implied via the schema. Adds meaningful value beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core guidance is front-loaded and useful, but the text is a mixed German/English block with an awkward '| EN:' tag list (end user, customer, portal, notification, map, scope) that reads as loose keywords rather than coherent prose. The deletion caveat is appended after the language switch, weakening structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter create tool with annotations and no output schema, the description covers ownership, the credit cost implied elsewhere, the deletion constraint, and routing to related tools. Only the return/response behavior is unaddressed, which is minor here.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 fully documented in the schema (including the [a-z0-9_] max-30 name constraint and credit cost). The description 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.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('einen eigenen Scope anlegen') and immediately scopes it as self-service without an administrator, which distinguishes it from admin-driven sibling operations like ontouser_scope_remove_public. An agent can identify the operation and its self-service nature 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.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says when to use it ('Nutze es, um eigene Datenbereiche zu beginnen'), names the sibling tools for follow-up actions (ontouser_scope_set_visibility for availability, ontouser_scope_assign_public for booking), and states a clear when-not: you cannot delete your own scope, an administrator must do it. Routing guidance is unusually complete.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ontouser_scope_indexA
Read-onlyIdempotent
Inspect

Die eigenen Scopes auflisten (Bereiche, auf die dein Konto Zugriff hat). Rein lesend und fail-closed: du siehst nur deine Zuordnungen. Nutze es als Einstieg im Self-Service, um deine Scope-IDs zu finden. Oeffentlich buchbare fremde Scopes zeigt ontouser_scope_list_public. | EN: end user, customer, portal, notification, map, scope

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description adds real behavioral context beyond them: 'fail-closed: du siehst nur deine Zuordnungen' tells the agent the result is auth-scoped to the caller's own assignments. It does not describe the return shape, but with annotations carrying the safety burden this is a solid contribution.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The German body is front-loaded, with the verb first and the sibling routing last, and every sentence carries information. The trailing '| EN: end user, customer, portal, notification, map, scope' is keyword stuffing that adds no decision-relevant content and slightly dilutes an otherwise tight description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, read-only listing tool with full annotation coverage and no output schema, the description supplies purpose, visibility scoping, and alternative routing – everything an agent needs to select and call it. Only the irrelevant keyword tail detracts; no functional gap remains.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters and the schema is an empty object, so there is nothing for the description to disambiguate. Per the zero-parameter baseline this lands at 4; no parameter naming or format guidance is needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Die eigenen Scopes auflisten' – list your own scopes) and immediately scopes it ('Bereiche, auf die dein Konto Zugriff hat'). It explicitly distinguishes itself from the sibling ontouser_scope_list_public, which handles publicly bookable foreign scopes, so an agent can route 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.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a concrete when-to-use ('Nutze es als Einstieg im Self-Service, um deine Scope-IDs zu finden') and names the alternative for the opposite case ('Oeffentlich buchbare fremde Scopes zeigt ontouser_scope_list_public'). Both the selection condition and the alternative are explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ontouser_scope_list_publicA
Read-onlyIdempotent
Inspect

Oeffentlich buchbare Scopes anderer Anbieter auflisten. Rein lesend. Nutze es, um zu sehen, welche fremden Bereiche du buchen koenntest (das ist der Verdienst-Weg des Owners). Buchen/Auftrag stellen: ontouser_service_request. Deine eigenen Scopes zeigt ontouser_scope_index. | EN: end user, customer, portal, notification, map, scope

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so 'Rein lesend' largely repeats structured data. The description does add useful semantic context about what the listing represents (the owner's earning path), but says nothing about result volume, pagination, or visibility/permission constraints on what is listed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded in the first sentence, followed by the safety note and the sibling routing. It is compact overall, but the trailing '| EN: end user, customer, portal, notification, map, scope' keyword block is retrieval padding that adds no invocation value, and 'Rein lesend' duplicates the annotation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter read tool with full annotation coverage and no output schema, the description covers what the tool returns conceptually, why an agent would call it, and where to go instead for adjacent tasks. Only the shape/size of the returned list is left unspecified, which is a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there is no parameter semantics to document; per the baseline for parameterless tools this sits at 4. The description correctly implies the call is unfiltered and global to the provider set.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource with scope qualifiers: listing publicly bookable scopes belonging to *other* providers. It explicitly contrasts with ontouser_scope_index ('Deine eigenen Scopes'), so the agent can distinguish the two 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.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives both the reason to use it ('um zu sehen, welche fremden Bereiche du buchen koenntest') and two named alternatives with their selecting conditions: ontouser_service_request for booking/placing an order, ontouser_scope_index for the user's own scopes. Nothing 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.

ontouser_scope_remove_publicA
DestructiveIdempotent
Inspect

Die eigene Zuordnung zu einem oeffentlichen fremden Scope wieder entfernen. Beendet den Zugang; bereits erzeugte Daten im fremden Scope bleiben dort. Nutze es, wenn du einen gebuchten Scope nicht mehr brauchst. Zum Sperren deines EIGENEN Scopes nimm ontouser_scope_set_visibility. | EN: end user, customer, portal, notification, map, scope

ParametersJSON Schema
NameRequiredDescriptionDefault
scope_idYesPublic-Scope-ID

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds valuable context beyond annotations: it states that access ends but already created data in the foreign scope remains there. This clarifies the scope of destruction, which annotations only broadly indicate with destructiveHint=true. It does not mention idempotency, but the annotation covers that.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The main description is front-loaded and efficient, but the trailing '| EN: end user, customer, portal, notification, map, scope' is extraneous keyword stuffing that does not help an agent invoke the tool correctly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-param tool with annotations covering safety and no output schema, the description covers purpose, usage, and behavioral consequences. 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.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single scope_id parameter, and the description adds no syntax, format, or semantic details beyond what the schema provides. 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.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Die eigene Zuordnung zu einem oeffentlichen fremden Scope wieder entfernen') and explicitly distinguishes from sibling ontouser_scope_set_visibility. An agent can tell what the tool does without reading the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says when to use ('Nutze es, wenn du einen gebuchten Scope nicht mehr brauchst') and names the alternative tool for locking one's own scope. No ambiguity about when this tool is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ontouser_scope_set_visibilityA
Idempotent
Inspect

Die Sichtbarkeit eines EIGENEN Scopes setzen (privat <-> oeffentlich buchbar). Oeffentlich machen heisst: andere koennen den Scope buchen und du verdienst daran (Credits). Nur der Owner darf das. Nutze es, um einen Scope anzubieten oder wieder privat zu stellen. Das Buchen selbst loest ontouser_service_request aus. Oeffentlich (PUBLIC) setzt seit 2026-10-12 NUR ein Administrator — der oeffentliche Katalog ist kuratiert. Als Owner darfst du privat halten oder auf einzelne eigene Scopes beschraenken; willst du oeffentlich, schreib einen Service Request (ontouser_service_request) mit Begruendung. | EN: end user, customer, portal, notification, map, scope

ParametersJSON Schema
NameRequiredDescriptionDefault
scope_idYesEigener Scope-ID (Owner)
read_allowed_forYesSichtbarkeit des eigenen Scopes setzen (nur Owner). Leer=private, [PUBLIC_id]=öffentlich. Öffentlich machen = andere können den Scope buchen (assign_public) und du verdienst Credits (Earnings, pricing scope_earnings)

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations cover idempotency and non-destructiveness, and the description adds material behavior beyond them: it is owner-only, the PUBLIC side is now admin-curated (since 2026-10-12), going public has earnings/credits consequences, and the correct escalation path is a service request. This is unusually rich authorization and side-effect 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.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The critical routing information is front-loaded, but the description is long and repeats the public-visibility semantics twice, and the trailing '| EN: end user, customer, portal, notification, map, scope' keyword tag adds no actionable meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 2-parameter mutation with no output schema and full annotation coverage, the description supplies the policy, authorization, and alternative-path context an agent needs. It could say more about what the resulting visibility call returns or fails on, but nothing essential is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

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 both parameters and the baseline is 3. The description adds real meaning by explaining the public/private toggle and the earnings consequence, though it largely mirrors what the schema's read_allowed_for description already states.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Sichtbarkeit eines EIGENEN Scopes setzen') and scopes it to the caller's own resource, distinguishing it from the assign/remove-public siblings. An agent can tell 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.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says when to use it ('um einen Scope anzubieten oder wieder privat zu stellen'), names the alternative path for going public (ontouser_service_request with justification), and states the owner-only precondition plus the admin-only policy for PUBLIC. Both when-to-use and the alternative are spelled out.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ontouser_service_requestAInspect

Eine Anfrage an einen fremden Scope-Anbieter stellen (Service anfordern). Erzeugt eine Anfrage bzw. einen Auftrag und kann Credits kosten. Nutze es, wenn du eine Leistung aus einem oeffentlichen Scope brauchst, aber keine direkte Buchung moeglich ist — die verfuegbaren Scopes zeigt ontouser_scope_list_public. Direkte Buchung mit Rechten: ontouser_scope_assign_public. Auch der Weg, um Startguthaben zu bitten: beschreibe dein Vorhaben, den Zweck, den benoetigten Scope und das erwartete Guthaben — der Betreiber prueft von Hand und entscheidet frei. Ein Anspruch besteht nicht. Auch der Weg fuer alles, was nur ein Administrator freigeben kann: oeffentliche Sichtbarkeit eines Scopes (PUBLIC) und zusaetzliches Guthaben (Prepaid-Code). | EN: end user, customer, portal, notification, map, scope

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesDas Anliegen (Pflicht). Beschreibe konkret, was fehlt oder nicht funktioniert.
contextNoOptional: technische Details als Objekt (z.B. Fehlermeldung, Tool-Name, Request-Body). Hilft beim Nachvollziehen.
subjectNoKurze Betreffzeile (optional — sonst erste Zeile von text).
categoryNobug | feature | improvement | question (Default: feature). Ungueltige Werte werden abgelehnt.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations carry readOnly=false, idempotent=false, openWorld=true, so the mutation/safety profile is already declared. The description goes beyond them by disclosing that the call may cost credits, that the operator reviews manually and decides freely, and that "ein Anspruch besteht nicht" (no entitlement) — meaningful consequences an agent must convey to a user.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core routing constraint is front-loaded, but the body sprawls across three loosely related use cases before the keyword tail, and it ends with an odd English keyword string ("| EN: end user, customer, portal, notification, map, scope") that is not prose and does not help an agent. Sized adequately but with clear filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

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 outcomes; it does state that a request/order is created and manually reviewed, and covers cost implications and sibling alternatives. It stops short of describing what the agent gets back (status, confirmation, identifiers), so a small gap remains.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

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 nonetheless adds value by prescribing what the required text field should contain in the credit-request case (project, purpose, needed scope, expected balance). It does not restate the schema's own default/enum notes for subject and category, so it is additive rather than redundant.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence states a specific verb and resource ("Eine Anfrage an einen fremden Scope-Anbieter stellen / Service anfordern") and immediately names the sibling tools it is not — ontouser_scope_list_public and ontouser_scope_assign_public. An agent can distinguish this request/booking-alternative tool from the direct-booking 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.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives an explicit trigger ("Nutze es, wenn du eine Leistung aus einem oeffentlichen Scope brauchst, aber keine direkte Buchung moeglich ist") and names the concrete alternative path (ontouser_scope_assign_public for direct booking with rights). It also flags two secondary use cases (requesting starting credit, and anything only an admin can approve such as PUBLIC visibility and prepaid credit), so when/when-not is fully covered.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

onto_watch_changesA
Read-onlyIdempotent
Inspect

Aenderungen seit einem Cursor abholen (was wurde angelegt/geaendert/geloescht). Rein lesend. Nutze es fuer die inkrementelle Synchronisation, nicht fuer Uebersichten — dafuer ist onto_object_index da (billiger und vollstaendig). Den Ausgangsstand liefert onto_watch_cursor. | EN: changes, audit, feed, monitoring, event log, cursor

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax Events (Default 50, max 100)
sinceYesCursor (Event-id). Nur Events mit id > since.
actionNoFilter: nur dieser action_key (z.B. claim_service_order)
scope_idNoOptional: nur Scope

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive, and the description's 'Rein lesend' largely restates them. It does add genuine value by disclosing the returned change types (created/changed/deleted) and the cursor-based incremental semantics. It does not describe pagination or behavior at the limit boundary, a minor gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose and routing are front-loaded in the first sentences, which is good structure. The trailing '| EN: changes, audit, feed...' keyword block is padding but short and serves discovery, so only mild deduction.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only watch/sync tool whose safety profile is fully covered by annotations, the description supplies enough: scope of returned changes, incremental-sync use, cursor workflow, and alternative tool. The absence of an output schema is mitigated but not fully, since event shape is unstated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 four parameters (limit, since, action, scope_id). The description reinforces the cursor concept but adds no syntax or format detail beyond what the schema provides, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (abholen/fetch) and resource (Änderungen seit einem Cursor) and even spells out what the change types are (angelegt/geaendert/geloescht). It explicitly names a sibling (onto_object_index) that it is not, so an agent can distinguish it 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.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit when-to-use (inkrementelle Synchronisation) and when-not (Übersichten — use onto_object_index instead, noting it is cheaper and complete). It also routes to onto_watch_cursor for the starting state, 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.

onto_watch_cursorA
Read-onlyIdempotent
Inspect

Den aktuellen Beobachtungs-Zeiger lesen (Stand, bis zu dem Aenderungen abgeholt wurden). Rein lesend. Nutze es ZUSAMMEN mit onto_watch_changes: erst Cursor lesen, dann Aenderungen abholen, dann den Zeiger weiterruecken — so verpasst du nichts und liest nichts doppelt. Fuer den Volltextbestand nimm onto_object_index. | EN: changes, audit, feed, monitoring, event log, cursor

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent and non-destructive, so the 'Rein lesend' label is partly redundant. However the description adds genuine context beyond the annotations: the cursor is a checkpoint (the state up to which changes were fetched) used in a multi-step workflow, and the 'miss nothing / read nothing twice' guarantee clarifies idempotency semantics.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the core meaning and workflow efficiently, but the bilingual duplication plus the trailing keyword tag list ('EN: changes, audit, feed...') adds low-value bulk that dilutes the message slightly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

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 carries the load well: it explains what the returned cursor represents and how it fits the change-tracking workflow. It could be marginally richer about whether advancing the cursor happens here or in onto_watch_changes, but it is essentially complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline is 4. No parameter-level detail is required or missing.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (lesen/read) and resource (Beobachtungs-Zeiger/observation cursor) and defines it ('the point up to which changes have been fetched'). It distinguishes itself from siblings by naming onto_watch_changes for the fetch step and onto_object_index for full-text inventory.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit sequencing: read cursor first, then fetch changes, then advance the pointer, and names the alternative for a different need (onto_object_index for the full text inventory). An agent knows exactly when and how to use it relative to alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

prepare_form_answerAInspect

Formular-ENTWURF anlegen (Status 'draft') und dessen Antwort-udid erhalten. Nimm die form_udid aus list_formdefs. WICHTIG: hiermit werden noch KEINE Werte gesetzt - der Entwurf ist leer. Werte setzt du danach mit submit_form_answer. Ergebnis: Feld 'udid' = Antwort-udid (brauchst du fuer submit_form_answer und show_form_answer). Der Entwurf liegt im Schreib-Scope des Agenten (SSR-Kaskade). | EN: form answer, submission, response, prepare, submit

ParametersJSON Schema
NameRequiredDescriptionDefault
form_udidYesFormdef-udid (32-hex) aus list_formdefs

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare it non-read-only, non-idempotent, non-destructive, so the mutation nature is partly covered; the description adds real value by disclosing that the draft is empty, that the return carries a 'udid' field, and that the artifact lives in the agent's write scope (SSR-Kaskade). It does not cover permission requirements or repeat-invocation behavior, so it stops short of full disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The action is front-loaded and each sentence carries operational information (source, exclusion, result field, workflow). It is somewhat dense and bilingual with a trailing English keyword tag list that is mainly for search rather than instruction, which keeps it from a full 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

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 explain the return value and does so ('Feld udid' = Antwort-udid). Combined with the create-draft semantics and the submit follow-up, an agent has enough to call it correctly, though nothing is said about failure modes or scope errors.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single parameter is fully documented in the schema. The description's 'Nimm die form_udid aus list_formdefs' restates what the schema already says, adding no new syntax or format detail, so the baseline 3 for high coverage applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource – creating a form draft (Status 'draft') and obtaining its answer-udid – rather than a tautology. It explicitly distinguishes itself from the two related siblings, noting it sets no values (unlike submit_form_answer) and yields the udid needed by submit_form_answer/show_form_answer.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit workflow context: source of form_udid (list_formdefs), the hard exclusion 'hiermit werden noch KEINE Werte gesetzt', and the required follow-up (submit_form_answer). It names both the precondition and the next step, 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.

redeem_invite_codeAInspect

Einen Einladungscode einloesen (Zugang ueber eine Einladung erhalten). Schreibt die Mitgliedschaft und ist der Selbstregistrierungs-Weg ohne Administrator. Nutze es, wenn du einen Code erhalten hast. Der Code muss gueltig sein — der Aussteller verwaltet ihn mit list_invite_codes. Weg (a) nach der Registrierung: mit dem Code in einen fremden Scope eintreten. | EN: invitation, invite, voucher, code, bundle

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesDer Einladungscode (z.B. '7XK4-MQN9'). Rechte werden nur hochgestuft, nie automatisch heruntergestuft; Mitgliedschaft ist dauerhaft (der Code selbst laeuft ab, nicht die Mitgliedschaft). Alle Manager des Scopes werden benachrichtigt.

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds substantial behavioral detail beyond the annotations: it writes membership, rights are only upgraded and never automatically downgraded, membership is permanent while the code itself expires, and all scope managers are notified. These details are consistent with readOnlyHint=false and destructiveHint=false.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is reasonably front-loaded: it states purpose first, then write behavior, usage condition, validity, issuer alternative, and scope entry. The trailing English keyword list ('| EN: invitation, invite, voucher, code, bundle') is somewhat wasteful, but the overall structure remains efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

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 clear annotations, the description covers purpose, usage context, key side effects, rights semantics, permanence, and validation requirement. Nothing essential for correct invocation appears missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the only parameter is fully documented in the schema, including an example and membership permanence. The description reinforces that the code must be valid and that the issuer manages it, but adds no new syntax or format meaning beyond the schema, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (einloesen) and resource (Einladungscode), and distinguishes the tool from related siblings by calling it the self-registration path without an administrator and by noting that the issuer manages codes via list_invite_codes. An agent can identify the tool's role without inspecting the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says to use it when you have received a code, and names list_invite_codes as the issuer-side management alternative. However, it does not state when not to use it or contrast it with other registration entry points beyond the brief 'Weg (a)' note.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

refresh_access_tokenAInspect

Token-Selbst-Erneuerung (OAuth2-Refresh). Tauscht einen gueltigen refresh_token gegen ein neues access_token + rotierten refresh_token, OHNE Passwort. Antworte proaktiv vor Ablauf (expires_in=10h): {access_token, refresh_token, expires_in}. Der neue refresh_token ersetzt den alten (Rotation). | EN: refresh, access, token

ParametersJSON Schema
NameRequiredDescriptionDefault
refresh_tokenYesDer gueltige refresh_token vom login-Aufruf oder einem vorherigen refresh_access_token

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare non-read-only, non-idempotent, non-destructive, closed-world. Beyond that, the description discloses a genuine behavioral trait the annotations cannot convey: token rotation, where the new refresh_token replaces (invalidates) the old one, plus the returned field set. It does not disclose auth/permission requirements or failure modes, keeping 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.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core facts are front-loaded, but the text carries redundancy: '(Rotation)' appears twice and the trailing '| EN: refresh, access, token' is keyword padding that adds no meaning. The English gloss on the whole body is absent, leaving a mixed-language definition that is efficient but not tight.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

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 by naming the return fields {access_token, refresh_token, expires_in}. Combined with the rotation semantics and expiry guidance, an agent has enough to call it correctly; only error/failure behavior is left implicit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the sole parameter's description already states the token's origin. The description adds the same sourcing context (login call or a prior refresh) but no syntax, format, or length guidance beyond the schema, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Token-Selbst-Erneuerung (OAuth2-Refresh)') and precisely what it exchanges: a valid refresh_token for a new access_token plus a rotated refresh_token. The 'OHNE Passwort' qualifier further distinguishes it from the sibling login tool 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.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a clear usage condition — refresh proactively before expiry, with the concrete expiry value (expires_in=10h) — and contrasts implicitly with login via 'ohne Passwort'. It does not name login or auth_status as explicit alternatives, so it falls short of a full when-to-use/when-not routing statement.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

registerAInspect

Konto anlegen — zwei Wege. WEG 1, AGENT (kein Postfach, kein Mensch noetig): register mit agent=true + accept_terms=true. Adresse und Passwort erzeugt die Plattform; beide kommen EINMALIG in der Antwort (username, password), damit meldest du dich per login an. Die Rolle 'member' ist sofort aktiv, keine Mail, kein activate. Ein optionaler invite_code wird sofort uebernommen; ohne Code bist du voellig isoliert (keine Mitgliedschaft, keine fremden Scopes) — Zugang spaeter per redeem_invite_code oder Service Request. KEIN Startguthaben: das Konto startet mit 0 Credits und bezahlt sich selbst — onto_credit_checkout (Karte) oder onto_credit_chargeup (prepaid_code). WEG 2, MENSCH: register mit username (E-Mail), password, password_confirm; dann Aktivierungscode per Mail, danach activate. WICHTIG: mit accept_terms=true bestaetigst du die Nutzungsbedingungen (https://www.telesherpa.com/agb). Nach der Registrierung hast du zwei Wege: (a) einem fremden Scope beitreten (invite_code an redeem_invite_code) oder (b) selbst etwas bauen (ontouser_scope_create) und danach mit create_invite_code Einladungscodes erzeugen, um Menschen und andere Agenten in deinen Scope zu holen. Zugangsdaten kommen NUR EINMAL: username/password sofort dauerhaft speichern (Datei chmod 600 oder Secret-Store) — wer sie nur im Kontext behaelt, steht beim naechsten Start ohne Konto da, und eine Neuregistrierung ist ein neues, leeres Konto. Nach dem login zusaetzlich den refresh_token (30 Tage) ablegen: der holt neue Access-Tokens (10 h) ohne Passwort. Vier Wege zu Guthaben oder Zugang, je mit Werkzeugnamen: (a) EINLADUNG — invite_code bei register oder spaeter redeem_invite_code (Zugang zu einem fremden Scope, kein Guthaben); (b) SELBST ZAHLEN — onto_credit_checkout (gehostete Zahlseite, Karte); (c) PREPAID — onto_credit_chargeup mit prepaid_code; (d) IDEE — ontouser_service_request (kostenlos): beschreibe, was du bauen willst, die Administratoren pruefen es und schicken bei Gefallen einen Prepaid-Code — dieser Weg haengt an der Idee, nicht am Zugang zu einer Kreditkarte. | EN: account, signup, onboarding, self-registration, agent, register

ParametersJSON Schema
NameRequiredDescriptionDefault
agentNoWEG 1 ohne Einladungscode: true = sofort selbst registrieren (kein Postfach, kein Mensch). Das Konto ist danach isoliert — keine Mitgliedschaft, keine fremden Scopes. Nicht mit username/password kombinieren.
passwordNoWEG 2: Passwort
usernameNoWEG 2 (Mensch): E-Mail-Adresse fuer die Registrierung (Aktivierungscode kommt dorthin — der Mensch kann ihn vorlesen, IMAP nicht noetig)
invite_codeNoWEG 1 (Agent), optional: Einladungscode von deinem Auftraggeber. Adresse und Passwort erzeugt die Plattform, sie kommen einmalig in der Antwort zurueck. Kein Postfach, keine Mail, kein activate. Die Scope-Rechte des Codes werden sofort uebernommen; ohne Code bleibt das Konto isoliert. Nicht mit username/password kombinieren.
accept_termsYesPflicht in beiden Wegen. Mit true bestaetigst du die Nutzungsbedingungen (https://www.telesherpa.com/agb). Ohne Zustimmung wird kein Konto angelegt. Lies sie, bevor du zustimmst.
password_confirmNoWEG 2: Passwort-Wiederholung (muss identisch sein)

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations (readOnlyHint=false, idempotentHint=false, openWorldHint=true): credentials returned only ONCE and must be persisted (chmod 600/secret store), re-registration creates a new empty account, no starting credits, isolated scope without invite_code, refresh_token 30d / access token 10h lifecycle. This is exactly the operational 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.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with 'Konto anlegen — zwei Wege' and organized into WEG 1/WEG 2/routing sections, which is good. However it is very long and repeats content (credit/access paths are stated inline and again as a four-item list; parameter semantics are echoed from the schema), so several sentences do not earn their place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

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 the return payload (username/password returned once) and the downstream token flow. Given a 6-parameter, multi-path registration tool, nothing critical 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.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description adds cross-parameter constraints not captured per-property, notably that agent and invite_code must not be combined with username/password, and the consequence of accept_terms. Useful, though much of it mirrors the already-detailed schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource (an account anlegen) and immediately frames it as two distinct paths (agent vs human), naming the decisive parameters agent/accept_terms versus username/password. It explicitly distinguishes itself from siblings like activate, login, redeem_invite_code, and onto_credit_checkout, so an agent can tell them apart 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.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit when-to-use routing: WEG 1 for agents with no mailbox, WEG 2 for humans with activation mail, plus a four-option decision tree for funding/access (invite, self-pay, prepaid, service request). Alternatives are named by tool, not merely implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

remove_memberA
Destructive
Inspect

Ein Mitglied aus dem eigenen Bereich entfernen (Zugang entziehen). Der Bereich selbst und seine Daten bleiben bestehen; nur der Zugang entfaellt. Nutze es beim Offboarding. Vorher list_members pruefen, damit du die richtige Person triffst. Nur Rechte aendern statt entfernen: toggle_member_flag. | EN: member, participant, membership, team

ParametersJSON Schema
NameRequiredDescriptionDefault
sp_idYesMitgliedschafts-ID (sp_id aus list_members). Entfernt NUR die Scope-Mitgliedschaft, nicht den User/Account. Eigene Mitgliedschaft kann man nicht selbst entfernen (ausser als Admin).

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and readOnlyHint=false, so the safety profile is covered structurally. The description adds genuine context beyond that: the scope and its data remain and only access is revoked, which clarifies the blast radius of a destructive action. It does not, however, mention the non-idempotent behavior (idempotentHint=false) or any permission/rate constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action and its scoping, then prerequisites and alternatives in short, purposeful sentences. Slightly dense and the trailing bilingual keyword list is metadata rather than instruction, but nothing is wasteful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-param destructive tool with annotations carrying the safety profile and no output schema, the description covers scope of effect, prerequisite verification, and the alternative tool. An agent has everything needed to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the schema itself documents sp_id richly (membership ID from list_members, removes only scope membership not the user/account, self-removal restriction). The description text adds no parameter-level 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.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (entfernen/remove) and resource (Mitglied/member) and immediately scopes the effect: only access is revoked, the scope and its data persist. It explicitly distinguishes itself from siblings toggle_member_flag and list_members, so an agent can route correctly 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.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit use case (offboarding), a prerequisite (check list_members first to hit the right person), and an alternative for the adjacent intent (toggle_member_flag to change rights instead of removing). When-to-use, when-to-check, and when-to-use-something-else are all present.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

renew_accountAInspect

Das Konto mit einem 4-stelligen Verifizierungscode verlaengern (Lebenszyklus, etwa alle 3 Monate). Der Code kommt per E-Mail; ohne ihn laeuft das Konto ab. Nutze es, wenn eine Verlaengerungsaufforderung kommt oder die Laufzeit auslaeuft. Den Code besorgt der Mensch (er kommt in einer Minute per Mail) — kein Postfachzugriff noetig. Zur Erstanmeldung: login. Ein neues Konto entsteht hier nicht: dafuer register. | EN: renew, account

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes4-digit verification token sent via email

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, openWorldHint=true, idempotentHint=false and destructiveHint=false, so the agent knows this mutates state and touches an external channel. The description adds genuinely useful context beyond that: the token arrives by email, the human must supply it (no mailbox access needed by the agent), and omitting it means the account expires. It stops short of describing failure behavior for an invalid or expired code.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action and largely free of filler; each clause carries distinct information (mechanism, cadence, trigger, actor, alternatives). The trailing '| EN: renew, account' fragment is redundant noise and the description repeats the schema's 'per E-Mail' detail, costing it the top mark.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter lifecycle tool with clear annotations and no output schema, the description covers everything needed to invoke it correctly: what triggers it, where the input comes from, the consequence of not calling it, and which sibling handles the adjacent cases. No output-schema explanation is required.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already defines the single 'token' parameter as a 4-digit emailed verification token, which sets a baseline of 3. The description goes beyond that by specifying the operational source/actor ('Den Code besorgt der Mensch ... kein Postfachzugriff noetig'), telling the agent not to attempt email retrieval.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource (Konto verlaengern) and immediately pins down the mechanism (4-stelliger Verifizierungscode) and the cadence (etwa alle 3 Monate). It explicitly fences itself off from the two nearest siblings: 'Zur Erstanmeldung: login' and 'Ein neues Konto entsteht hier nicht: dafuer register.'

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit trigger condition: 'Nutze es, wenn eine Verlaengerungsaufforderung kommt oder die Laufzeit auslaeuft.' It also names both alternatives (login, register) and the condition that selects each, so the agent needs no inference to choose among them.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

resolve_form_answerA
Read-onlyIdempotent
Inspect

Findet die form_udid zu einer bekannten answer_udid (ueber den usesForm-Link der Antwort). Brauchst du NUR, wenn du eine answer_udid hast, aber die zugehoerige form_udid nicht kennst — danach show_form_answer(form_udid, answer_udid) normal aufrufen. Hast du form_udid bereits (z.B. aus prepare_form_answer/submit_form_answer), brauchst du diesen Schritt nicht. | EN: form answer, submission, response, prepare, submit

ParametersJSON Schema
NameRequiredDescriptionDefault
answer_udidYesAntwort-udid (32-hex)

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world). The description adds beyond that by disclosing the resolution mechanism (usesForm link) and framing this as an optional pre-step rather than a standalone operation. It omits failure behavior (e.g. when no usesForm link exists), 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the purpose, then usage conditions, then the follow-up call — a logical order for an agent. The appended '| EN: ...' keyword tag is search-oriented filler rather than description content, costing a point on strict conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

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 telling the agent exactly what comes out (the form_udid) and how to use it next. Only unaddressed gap is the error case where no usesForm link is resolvable, which is minor for a 1-parameter lookup.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single parameter is self-describing (answer_udid, 32-hex), so the schema does the heavy lifting. The description reinforces the semantic role of the input (a 'known' answer_udid) but adds no format or constraint detail beyond the schema; baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb+resource+resolution mechanism: it finds the form_udid belonging to a known answer_udid via the answer's usesForm link. It clearly distinguishes itself from the sibling pair show_form_answer/prepare_form_answer by naming what it produces versus what they consume.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit when-to-use ('NUR wenn du eine answer_udid hast, aber die form_udid nicht kennst'), explicit when-not-to-use ('Hast du form_udid bereits (z.B. aus prepare_form_answer/submit_form_answer), brauchst du diesen Schritt nicht'), and it names the exact follow-up call show_form_answer(form_udid, answer_udid). No inference required.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

revoke_invite_codeA
DestructiveIdempotent
Inspect

Einen Einladungscode ungueltig machen (keine neuen Registrierungen mehr darueber). Bereits registrierte Mitglieder bleiben bestehen — nur der Code verfaellt. Nutze es bei abgelaufenen oder missbraeuchten Codes. Den Code findest du mit list_invite_codes. | EN: invitation, invite, voucher, code, bundle

ParametersJSON Schema
NameRequiredDescriptionDefault
code_idYesID des zu widerrufenden Codes (setzt status=inactive; bereits beigetretene Mitglieder bleiben Mitglied)

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and idempotentHint=true, so the safety profile is covered; the description adds genuinely useful blast-radius detail beyond them: existing members survive and only the code is invalidated. It does not mention permission requirements or whether the revoke is reversible, so it is not a full 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core content is front-loaded and tight: what it does, what it preserves, and when to use it. The trailing '| EN: ...' keyword block is search metadata rather than agent-facing guidance and slightly dilutes the prose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter mutation with full annotation coverage and no output schema, the description covers effect, scope, use case, and identifier sourcing. 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.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the code_id schema description already explains that it sets status=inactive while existing members remain. The description contributes only the note about where to find the code (list_invite_codes), so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Einen Einladungscode ungueltig machen') and immediately scopes the effect ('keine neuen Registrierungen mehr darueber'). It is clearly distinguishable from the adjacent create_invite_code / redeem_invite_code siblings, and it explicitly names list_invite_codes as the companion lookup tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit when-to-use guidance ('Nutze es bei abgelaufenen oder missbraeuchten Codes') and tells the agent how to obtain the required identifier via list_invite_codes. No when-not condition or contrasting action is stated, so it falls 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.

show_form_answerA
Read-onlyIdempotent
Inspect

Eine gespeicherte Formular-Antwort ANSEHEN: alle gespeicherten Werte als JSON (values = {feld-key: wert}). EINZELPOSTEN/SUBFORM: subforms = {objekttyp: [{udid, name, values:{feld:wert}}]} — die Zeilen des Unterformulars MIT ihren Werten (bei PflegeBesuch z.B. material/quantity/unit), direkt in dieser Antwort enthalten (kein Extra-Call noetig). Die Feld-Keys kommen aus der formdef (show_formdef, subform.fields), sie sind NICHT fest verdrahtet — jedes Formular hat eigene. Leeres/fehlendes subforms = keine Einzelposten gespeichert. DATEIEN: files[] enthaelt pro Datei form_field (welchem Formularfeld sie zugeordnet ist, z.B. 'fotos' vs 'fotosnachher') — so unterscheidest du mehrere Bilder/Signaturen ohne Zusatz-Call. form_udid aus list_formdefs/prepare_form_answer/submit_form_answer (oder resolve_form_answer, falls nur answer_udid bekannt), answer_udid aus prepare_form_answer/submit_form_answer. Damit pruefst du nach dem Ausfuellen, ob deine Werte wirklich angekommen sind.

ParametersJSON Schema
NameRequiredDescriptionDefault
form_udidYesFormdef-udid (32-hex) aus list_formdefs/prepare_form_answer/submit_form_answer/resolve_form_answer
answer_udidYesAntwort-udid (32-hex) aus prepare_form_answer/submit_form_answer

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With annotations already covering readOnly/idempotent/non-destructive, the description goes well beyond them: it explains the response shape (values, subforms, files[]), that subform rows arrive inline (no extra call), that empty/missing subforms means no line items, and how files[] form_field distinguishes multiple attachments. With no output schema, this disclosure is exactly the value needed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action, then progressively details output structure and parameter provenance. It is dense and longer than typical, but every clause carries information the missing output schema requires; only minor redundancy with the schema caps it at 4.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no output schema, so the description must carry the return-value burden — and it does, covering values, subforms, files, empty states, and id provenance. Nothing an agent needs to call or interpret the result is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the schema already lists the udid sources, so the baseline is 3. The description adds the meaningful edge case ('falls nur answer_udid bekannt' → resolve_form_answer), giving the agent a recovery path the schema only hints at.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Eine gespeicherte Formular-Antwort ANSEHEN') and immediately specifies the payload ('alle gespeicherten Werte als JSON'). By tying field-key origin to show_formdef, it implicitly distinguishes itself from the formdef tool. An agent can identify this as the read-back 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.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear context ('Damit pruefst du nach dem Ausfuellen, ob deine Werte wirklich angekommen sind') and explains the resolve_form_answer fallback when only answer_udid is known. It lacks an explicit when-not statement or a contrast against resolve_form_answer as a retrieval alternative, 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.

show_formdefA
Read-onlyIdempotent
Inspect

Ein Formular (formdef) VOLLSTAENDIG lesen: alle Felder mit key/label/widget/required, Auswahl-Optionen (options), Validierungsregeln (validation: pattern+message) und Bedingungen (condition), Subform-Felder. Ausserdem die konfigurierten Buttons unter formdef.buttons[] (z.B. type='send' mit label 'Abschliessen' — diesen Index brauchst du beim Absenden als action='button:'). Nimm die udid aus list_formdefs. Damit pruefst du, ob ein Formular fachlich passt, bevor du eine Action daran bindest. SQL-Interna sind bewusst NICHT enthalten. | EN: show, formdef

ParametersJSON Schema
NameRequiredDescriptionDefault
udidYesFormdef-udid (32-hex) aus list_formdefs

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish readOnly/idempotent/non-destructive, so the safety profile is covered. The description adds genuinely useful behavior beyond that: it discloses the deliberate exclusion of SQL internals and, importantly, that a button's index from formdef.buttons[] is what must be passed as action='button:<index>' when submitting.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action and the field inventory, and each clause carries information (contents, buttons/index link, udid source, exclusions). It is somewhat long for one paragraph and the trailing 'EN: show, formdef' tag is filler, but there is little true redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only tool with no output schema, the description fully compensates by enumerating the return structure (fields, options, validation, conditions, subforms, buttons) and clarifying what is intentionally omitted. 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.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage and a single parameter, the schema already documents udid as a 32-hex formdef id from list_formdefs. The description only restates that source pointer, adding no syntax or format detail beyond the schema, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (read/show) plus resource (formdef) and enumerates exactly what the response contains: fields with key/label/widget/required, options, validation, conditions, subforms and buttons[]. It explicitly names the sibling list_formdefs as the udid source, so an agent can distinguish it from the list/create/save formdef tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a clear use case ('pruefst du, ob ein Formular fachlich passt, bevor du eine Action daran bindest') and points to list_formdefs for obtaining the udid. It does not, however, state exclusions against siblings like onto_formdef_save or create, so it stops just short of explicit when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

submit_form_answerAInspect

Formular-Antwort SPEICHERN oder ABSENDEN. form_udid aus list_formdefs, answer_udid aus prepare_form_answer. OHNE answer_udid wird eine NEUE Antwort angelegt. 'values' = {feld-key: wert}, Keys aus show_formdef, Werte muessen die Feldregeln erfuellen (Select: nur erlaubte Optionswerte). SUBFORM/EINZELPOSTEN: ein Subform-Feld bekommt eine LISTE von Zeilen-Objekten, z.B. {"materialverbraucht": [{"material": "Bettlaken", "quantity": "1", "unit": "Stk"}, {...}]} — die Feld-Keys der Zeilen stehen im subform.fields der formdef (show_formdef). Skalare Felder bleiben einfach. 'status': 'draft' (speichern) oder 'sent' (absenden; committet in den target_scope der Action). VERHALTEN DER VALIDIERUNG: jeder Regelverstoss bricht mit HTTP 400 ab und liefert die Fehler je Feld ({errors:[{key,msg}]}) - es wird dann NICHTS gespeichert. Genau damit testest du ein Formular fachlich durch: gueltige Werte senden und pruefen, ob sie ankommen; ungueltige Werte senden und pruefen, ob die Regeln greifen. Eine einmal mit 'sent' abgesendete Antwort ist gesperrt (erneutes Absenden legt eine neue Antwort an).

ParametersJSON Schema
NameRequiredDescriptionDefault
actionNoWICHTIG BEIM ABSENDEN: waehlt den konfigurierten Button der formdef. Format 'button:<index>' — der Index zeigt in formdef.buttons[] (Reihenfolge wie in show_formdef, erster Button = 0). NUR ein Button vom Typ 'send' loest den Mailversand (inkl. PDF-Anhang) aus; ein Button vom Typ 'saveandgoto' leitet auf eine feste URL weiter. Ohne 'action' wird nur gespeichert — dann geht KEINE Mail raus, auch wenn status='sent' gesetzt ist. Empfaenger/Betreff stehen in der formdef (Config), NICHT hier — sie sind bewusst nicht per Request aenderbar.
statusNo'draft' (speichern) oder 'sent' (absenden)
valuesNo{feld-key: wert}, Keys aus show_formdef. Subform-Felder: Liste von Zeilen-Objekten [{feld: wert, ...}] (Feld-Keys aus subform.fields der formdef).
form_udidYesFormdef-udid (32-hex) aus list_formdefs
answer_udidNoAntwort-udid aus prepare_form_answer

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare non-readonly, non-idempotent, non-destructive behavior, and the description goes well beyond them: a rule violation aborts with HTTP 400 and returns per-field errors while saving NOTHING, a 'sent' answer becomes locked and resubmitting creates a new answer, and no mail goes out without an 'action' button. These are precisely the behavioral traits an agent needs 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but front-loaded with the core action and every sentence carries operational information (button semantics, validation contract, locking). Some clauses are dense and could be trimmed, but there is no filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex mutation tool with nested objects and no output schema, the description covers the full lifecycle: input sources, save-vs-send, action/button routing, validation failure format, and post-send immutability. An agent has everything needed to call it correctly and to interpret failures.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

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 meaning on top: the subform representation (a field receiving a list of row objects, with a concrete JSON example and where the row keys come from) and the nuance that recipients/subject are deliberately not request-settable. It clarifies the interplay of status and action beyond the schema text.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening states a specific verb+resource ('Formular-Antwort SPEICHERN oder ABSENDEN') and immediately distinguishes the create-vs-update path ('OHNE answer_udid wird eine NEUE Antwort angelegt'). It also maps each input to its source tool (form_udid from list_formdefs, answer_udid from prepare_form_answer), so an agent can place it in the workflow 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.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states the prerequisites and the alternatives clearly: save with 'draft', commit with 'sent', and a new answer is created when no answer_udid is supplied. The validation-testing use case ('Genau damit testest du ein Formular fachlich durch') gives explicit when-to-use context, though it does not name conditions under which another tool should be preferred.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

toggle_member_flagAInspect

Ein Mitglieds-Merkmal umschalten (z.B. Lesen/Schreiben eines Mitglieds im eigenen Bereich). Aendert die Rechte dieses Mitglieds sofort. Nutze es zum Rechtewechsel ohne Neueinladung. Ein Mitglied ganz entfernen: remove_member. Den Ist-Stand zeigt list_members. | EN: member, participant, membership, team

ParametersJSON Schema
NameRequiredDescriptionDefault
valYes1 oder 0
fieldYescan_read | can_write | can_manage_scope
sp_idYesMitgliedschafts-ID (sp_id aus list_members), NICHT profile_id oder scope_id

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, destructiveHint=false, and idempotentHint=false, so safety basics are covered. The description adds useful context beyond annotations: it states that the member's rights change immediately ('Aendert die Rechte dieses Mitglieds sofort') and that it is for rights changes rather than removal. It does not cover auth requirements or rate limits, but that is a minor gap given the annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action, followed by immediate effect, then sibling routing in a compact sequence. No wasted sentences; the trailing English keywords are search aids rather than functional text and do not impede readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Complete for a three-parameter toggle tool with full schema coverage and annotations covering safety. It explains what changes, when to use it, and what sibling to use for removal or status, so an agent has everything needed to invoke it. No output schema exists, so return-value detail is not required.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all three parameters (sp_id, field, val) are already documented in the schema, including the critical warning that sp_id is a membership ID rather than profile_id or scope_id. The description adds only the example 'Lesen/Schreiben', which maps to can_read/can_write but does not mention can_manage_scope. 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.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Ein Mitglieds-Merkmal umschalten') and gives a concrete example (Lesen/Schreiben). It explicitly distinguishes itself from siblings by naming remove_member for removal and list_members for current state, so an agent can select it correctly without opening other schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says when to use it ('zum Rechtewechsel ohne Neueinladung') and names two alternatives with their contrasting purposes: remove_member for full removal and list_members for seeing the current state. Nothing 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.

upload_code_allowlistA
DestructiveIdempotent
Inspect

XLSX/XLS-Bulk-Upload fuer die E-Mail-Allowlist eines Scope-Invite-Codes (z.B. 500 Subunternehmer-Adressen). ERSETZT alle bestehenden 'email'-Allowlist-Eintraege dieses Codes (domain/glob-Eintraege bleiben unberuehrt) — fuer den woechentlichen Neu-Upload-Workflow gedacht. Braucht can_manage_scope=1 auf dem Scope des Codes. | EN: allowlist, permission, whitelist, code

ParametersJSON Schema
NameRequiredDescriptionDefault
code_idYesCode-ID (aus create_invite_code / list_invite_codes)
filenameYesDateiname (z.B. subunternehmer.xlsx)
file_base64YesXLSX/XLS-Datei-Inhalt als base64

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations (destructiveHint=true, idempotentHint=true) by specifying exactly what is destroyed ('ERSETZT alle bestehenden email-Eintraege') and what is preserved ('domain/glob-Eintraege bleiben unberuehrt'), plus a required permission (can_manage_scope=1). This is precisely the destruction/auth detail the annotations 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the core action and consequence, then adds the workflow rationale and permission requirement; every sentence carries weight. The trailing '| EN: ...keyword' block is a minor keyword-stuffing addition that slightly dilutes the structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive bulk-upload with no output schema, the description covers action, replacement scope, preserved data, intended workflow, and required permission. An agent has everything needed to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and every parameter is documented in the schema, so the baseline is 3. The description adds no format or syntax detail for code_id, filename, or file_base64 beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource+format: a bulk XLSX/XLS upload for the e-mail allowlist of a scope invite code. The explicit example ('500 Subunternehmer-Adressen') makes clear this is a batch operation, cleanly distinguishing it from single-entry siblings like add_code_allowlist_entry.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a clear usage context ('fuer den woechentlichen Neu-Upload-Workflow gedacht') and defines replacement vs preservation semantics, which implicitly routes the agent away from single-entry tools. It does not name the alternative tools explicitly, so it falls just 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.

upload_file_to_objectAInspect

Upload a file to an object. type=structuredimage (Bild erscheint in der strukturierten Bildablage/Thumbnail) oder document (reguläre Datei). name=Kategorie-Image-Name (z.B. Image01.jpg) bei structuredimage. SSR: landet im write_scope falls read-only. RUECKGABE: file_udid (32-hex). Genau dieser Wert gehoert in formdef.template_file, wenn die Datei als PDF-Vorlage dienen soll. | EN: file, upload, document, attachment

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoKategorie-Name bei structuredimage (z.B. Image01.jpg)
typeNostructuredimage (Thumbnail/Bildablage) oder document
udidYesObject udid (32-hex)
filenameYesFilename
file_base64YesFile content as base64

TDQS

A3.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false), so the description's real added value is the return behavior: 'RUECKGABE: file_udid (32-hex)' plus how that value feeds into formdef.template_file for PDF templates. That downstream context is genuinely useful and goes beyond structured fields, though the cryptic 'SSR' note is not clarified.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description mixes German and English mid-sentence in pipe-delimited fragments, which is hard to parse, and it ends with a keyword tag '| EN: file, upload, document, attachment' that is pure noise for an agent. The useful facts are present but not front-loaded or cleanly structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

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 disclosing the return value (file_udid) and its intended downstream use. Combined with 100% parameter coverage and existing annotations for safety, an agent has nearly everything needed to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all five parameters are already documented in the schema (including the structuredimage/document distinction and the name example). The description largely restates the type/name meaning, adding little syntax or format detail beyond what the schema provides, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence states a specific verb and resource ('Upload a file to an object'), which is distinct from siblings like onto_file_delete, upload_staging_csv, and upload_code_allowlist. It is clear but never explicitly names an alternative, so the agent must infer the routing from the name alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explains the type parameter choices (structuredimage vs document) and clarifies the 'name' semantics, and it notes 'SSR: landet im write_scope falls read-only'. However, it gives no explicit when-to-use/when-not guidance relative to the many sibling file/object tools, so usage is only implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

upload_staging_csvAInspect

Eine CSV-Datei in den Staging-Bereich hochladen (Vorbereitung fuer einen Datenimport). Schreibt die Datei ab, importiert sie aber NICHT — das ist nur die Ablage. Nutze es als ersten Schritt eines Massenimports; die Weiterverarbeitung laeuft danach ueber die Import-Tools (onto_import_create_source, onto_import_analyze, onto_import_run_step). Die Datei kommt als base64. Fuer Bilder/PDFs an Objekten: upload_file_to_object. | EN: import, CSV, staging, upload

ParametersJSON Schema
NameRequiredDescriptionDefault
subjectYesSubject
content_base64YesCSV file content as base64

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly=false and destructive=false, so the bar is lower. The description adds genuinely useful non-obvious context beyond that: the file is written but NOT imported ('Schreibt die Datei ab, importiert sie aber NICHT'), and the payload must be base64. It does not discuss size limits or overwrite behavior, 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The main purpose and the crucial 'does not import' caveat are front-loaded, and workflow routing follows logically. However, the trailing keyword tag ('| EN: import, CSV, staging, upload') is search-oriented noise and the bilingual phrasing pads length slightly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 2-parameter upload tool with full schema coverage and no output schema, the description supplies everything an agent needs: input encoding, non-import semantics, and the downstream workflow. Nothing essential is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 both parameters and the baseline is 3. The description reinforces the base64 encoding for content_base64 but says nothing about 'subject', adding only marginal value over the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Eine CSV-Datei in den Staging-Bereich hochladen') plus the immediate purpose ('Vorbereitung fuer einen Datenimport'). It explicitly differentiates from the sibling upload_file_to_object for images/PDFs, 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.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly routes the agent: 'Nutze es als ersten Schritt eines Massenimports' and names the downstream import tools (onto_import_create_source, onto_import_analyze, onto_import_run_step). It also names an alternative for a different case (upload_file_to_object for images/PDFs), covering both when-to-use and when-not.

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.

  1. 1 tool update
    • Addedontouser_notification_send
  2. 2 tool updates
    • Changedontouser_scope_create1 field changed
      • changedInput schema / properties / name / description
        Previous value: -"Eigener kuratierter Scope anlegen (kostet Credits, konfigurierbar in pricing scope_credit_cost). Owner kann ihn später öffentlich machen (set_visibility) und verdient bei Nutzung durch andere (Earnings, pricing scope_earnings). Name: [a-z0-9_], max 30, Prefix customer<id>_ wird ergänzt"New value: +"Eigener kuratierter Scope anlegen (kostet Credits, konfigurierbar in pricing scope_credit_cost). Owner kann ihn später öffentlich machen (set_visibility) und verdient bei Nutzung durch andere (Earnings, pricing scope_earnings). Name: [a-z0-9_], max 30"
    • Changedregister2 fields changed
      • addedInput schema / properties / agent
        Added value: +{
        +  "description": "WEG 1 ohne Einladungscode: true = sofort selbst registrieren (kein Postfach, kein Mensch). Das Konto ist danach isoliert — keine Mitgliedschaft, keine fremden Scopes. Nicht mit username/password kombinieren.",
        +  "type": "boolean"
        +}
      • changedInput schema / properties / invite_code / description
        Previous value: -"WEG 1 (Agent): Einladungscode von deinem Auftraggeber. Adresse und Passwort erzeugt die Plattform, sie kommen einmalig in der Antwort zurueck. Kein Postfach, keine Mail, kein activate. Zugang und Startguthaben kommen mit dem Code. Nicht mit username/password kombinieren."New value: +"WEG 1 (Agent), optional: Einladungscode von deinem Auftraggeber. Adresse und Passwort erzeugt die Plattform, sie kommen einmalig in der Antwort zurueck. Kein Postfach, keine Mail, kein activate. Die Scope-Rechte des Codes werden sofort uebernommen; ohne Code bleibt das Konto isoliert. Nicht mit username/password kombinieren."
  3. 5 tool updates
    • Changedonto_actiondef_list2 fields changed
      • addedInput schema / properties / limit
        Added value: +{
        +  "description": "Ergebnisse pro Seite, 1..200; der Wert gilt fuer die Sitzung (Standard 10)",
        +  "type": "integer"
        +}
      • addedInput schema / properties / page
        Added value: +{
        +  "description": "Seitennummer (Default 1)",
        +  "type": "integer"
        +}
    • Changedonto_function_index2 fields changed
      • addedInput schema / properties / limit
        Added value: +{
        +  "description": "Ergebnisse pro Seite, 1..200; der Wert gilt fuer die Sitzung (Standard 10)",
        +  "type": "integer"
        +}
      • addedInput schema / properties / page
        Added value: +{
        +  "description": "Seitennummer (Default 1)",
        +  "type": "integer"
        +}
    • Changedonto_object_index2 fields changed
      • addedInput schema / properties / limit
        Added value: +{
        +  "description": "Ergebnisse pro Seite, 1..200; der Wert gilt fuer die Sitzung (Standard 10)",
        +  "type": "integer"
        +}
      • addedInput schema / properties / page
        Added value: +{
        +  "description": "Seitennummer (Default 1)",
        +  "type": "integer"
        +}
    • Changedonto_report_index2 fields changed
      • addedInput schema / properties / limit
        Added value: +{
        +  "description": "Ergebnisse pro Seite, 1..200; der Wert gilt fuer die Sitzung (Standard 10)",
        +  "type": "integer"
        +}
      • addedInput schema / properties / page
        Added value: +{
        +  "description": "Seitennummer (Default 1)",
        +  "type": "integer"
        +}
    • Changedonto_trigger_index2 fields changed
      • addedInput schema / properties / limit
        Added value: +{
        +  "description": "Ergebnisse pro Seite, 1..200; der Wert gilt fuer die Sitzung (Standard 10)",
        +  "type": "integer"
        +}
      • addedInput schema / properties / page
        Added value: +{
        +  "description": "Seitennummer (Default 1)",
        +  "type": "integer"
        +}
  4. 1 tool update
    • Changedonto_type_show3 fields changed
      • addedInput schema / properties / limit
        Added value: +{
        +  "description": "Objekte pro Seite, 1..200; wird in der Sitzung gemerkt (Standard 10)",
        +  "type": "integer"
        +}
      • addedInput schema / properties / page
        Added value: +{
        +  "description": "Seitennummer der Objektliste (Default 1)",
        +  "type": "integer"
        +}
      • addedInput schema / properties / scope_id
        Added value: +{
        +  "description": "Scope fuer das Agentenschema (sonst kleinster lesbarer Scope)",
        +  "type": "integer"
        +}
  5. 1 tool update
    • Changedregister1 field changed
      • changedInput schema / properties / invite_code / description
        Previous value: -"WEG 1 (Agent): Einladungscode von deinem Auftraggeber. Adresse und Passwort erzeugt die Plattform, sie kommen einmalig in der Antwort zurueck. Kein Postfach, keine Mail, kein activate. Nicht mit username/password kombinieren."New value: +"WEG 1 (Agent): Einladungscode von deinem Auftraggeber. Adresse und Passwort erzeugt die Plattform, sie kommen einmalig in der Antwort zurueck. Kein Postfach, keine Mail, kein activate. Zugang und Startguthaben kommen mit dem Code. Nicht mit username/password kombinieren."
  6. 1 tool update
    • Addedonto_credit_receipt
  7. 1 tool update
    • Changedregister6 fields changed
      • changedInput schema / properties / accept_terms / description
        Previous value: -"Pflicht. Mit true bestaetigst du die Nutzungsbedingungen (https://www.telesherpa.com/agb). Ohne Zustimmung wird kein Konto angelegt. Lies sie, bevor du zustimmst."New value: +"Pflicht in beiden Wegen. Mit true bestaetigst du die Nutzungsbedingungen (https://www.telesherpa.com/agb). Ohne Zustimmung wird kein Konto angelegt. Lies sie, bevor du zustimmst."
      • addedInput schema / properties / invite_code
        Added value: +{
        +  "description": "WEG 1 (Agent): Einladungscode von deinem Auftraggeber. Adresse und Passwort erzeugt die Plattform, sie kommen einmalig in der Antwort zurueck. Kein Postfach, keine Mail, kein activate. Nicht mit username/password kombinieren.",
        +  "type": "string"
        +}
      • changedInput schema / properties / password / description
        Previous value: -"Passwort"New value: +"WEG 2: Passwort"
      • changedInput schema / properties / password_confirm / description
        Previous value: -"Passwort-Wiederholung (muss identisch sein)"New value: +"WEG 2: Passwort-Wiederholung (muss identisch sein)"
      • changedInput schema / properties / username / description
        Previous value: -"E-Mail-Adresse fuer die Registrierung (Aktivierungscode kommt dorthin — der Mensch kann ihn vorlesen, IMAP nicht noetig)"New value: +"WEG 2 (Mensch): E-Mail-Adresse fuer die Registrierung (Aktivierungscode kommt dorthin — der Mensch kann ihn vorlesen, IMAP nicht noetig)"
      • changedInput schema / required
        Previous value: -[
        -  "username",
        -  "password",
        -  "password_confirm",
        -  "accept_terms"
        -]New value: +[
        +  "accept_terms"
        +]
  8. 101 tool updates
    • Addedadd_code_allowlist_entry
    • Addedchange_password
    • Addedchange_profile
    • Addedcreate_invite_code
    • Addeddelete_code_allowlist_entry
    • Addedget_document
    • Addedget_image
    • Addedget_notifications
    • Addedlist_code_allowlist
    • Addedlist_formdefs
    • Addedlist_invite_codes
    • Addedlist_members
    • Addedonto_actiondef_delete
    • Addedonto_actiondef_list
    • Addedonto_actiondef_save
    • Addedonto_catalog_apply
    • Addedonto_catalog_clear
    • Addedonto_catalog_index
    • Addedonto_catalog_presets
    • Addedonto_credit_balance
    • Addedonto_credit_chargeup
    • Addedonto_credit_checkout
    • Addedonto_favorite_add
    • Addedonto_favorite_delete
    • Addedonto_favorite_index
    • Addedonto_favorite_toggle
    • Addedonto_file_delete
    • Addedonto_file_structured
    • Addedonto_formdef_create
    • Addedonto_formdef_list_templates
    • Addedonto_formdef_save
    • Addedonto_function_create
    • Addedonto_function_delete
    • Addedonto_function_index
    • Addedonto_function_run
    • Addedonto_function_update
    • Addedonto_interface_map_markers
    • Addedonto_interface_show
    • Addedonto_object_addcomment
    • Addedonto_object_bulk_action
    • Addedonto_object_create
    • Addedonto_object_create_link
    • Addedonto_object_delete
    • Addedonto_object_delete_link
    • Addedonto_object_delete_property
    • Addedonto_object_execute_action
    • Addedonto_object_geocode
    • Addedonto_object_graph
    • Addedonto_object_index
    • Addedonto_object_search
    • Addedonto_object_set_property
    • Addedonto_object_show
    • Addedonto_object_update
    • Addedonto_object_update_link
    • Addedonto_property_def_create
    • Addedonto_property_def_delete_override
    • Addedonto_property_def_update
    • Addedonto_property_set_create
    • Addedonto_property_set_update
    • Addedonto_report_aggregate
    • Addedonto_report_csv
    • Addedonto_report_index
    • Addedonto_report_json
    • Addedonto_report_map_data
    • Addedonto_report_show
    • Addedonto_scope_save_structuredimage_categories
    • Addedonto_scope_structuredimage_categories
    • Addedonto_series_last
    • Addedonto_series_range
    • Addedonto_trigger_create
    • Addedonto_trigger_delete
    • Addedonto_trigger_index
    • Addedonto_trigger_update
    • Addedonto_type_show
    • Addedonto_watch_changes
    • Addedonto_watch_cursor
    • Addedontouser_interface_map_markers
    • Addedontouser_interface_show
    • Addedontouser_notification_index
    • Addedontouser_notification_read
    • Addedontouser_object_show
    • Addedontouser_scope_assign_public
    • Addedontouser_scope_create
    • Addedontouser_scope_index
    • Addedontouser_scope_list_public
    • Addedontouser_scope_remove_public
    • Addedontouser_scope_set_visibility
    • Addedontouser_service_request
    • Addedprepare_form_answer
    • Addedredeem_invite_code
    • Addedremove_member
    • Addedrenew_account
    • Addedresolve_form_answer
    • Addedrevoke_invite_code
    • Addedshow_form_answer
    • Addedshow_formdef
    • Addedsubmit_form_answer
    • Addedtoggle_member_flag
    • Addedupload_code_allowlist
    • Addedupload_file_to_object
    • Addedupload_staging_csv

Publisher details

Operator
Telesherpa · Publisher source
Vendor relationship
First-party · Publisher source
Documentation
Unknown
Trust center
Unknown
Restrictions
Unknown

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    A
    maintenance
    66 tools generated from the same OpenAPI spec as our SDKs — CI fails on drift, so REST and MCP never disagree. Underneath: a deterministic field operations scheduling engine — skills, territories, live availability, sub-3-second cascade rescheduling — drivable end-to-end from Claude or ChatGPT. Schedule changes preview before they commit; LLMs never inside the math.
    53
    46 npm
    3
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI clients to manage field service operations through natural language, including call handling, job dispatch, estimates, invoicing, and reporting via the AutoRev platform.
    1 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.