Porsche Service Calculator (Garage Kuhn)
Server Details
Porsche service plans, workshop appointments and quotes at Garage Kuhn, Porsche specialist.
- Status
- Healthy
- Uptime
- 100.0% over the last 24 hours
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 8 tools
Most tools target distinct actions (calculate service, get reminder, book appointment, request quote, list free slots). The trio search/fetch/porsche_wartungsplaene has some overlap (search returns calculations, fetch retrieves full plan text, wartungsplaene lists plans), and porsche_service_erinnerung explicitly shares inputs with porsche_service_berechnen, but the descriptions make the boundaries workable.
All names are lowercase snake_case, but the convention is mixed: English verbs (fetch, search), German verb-first names (offerte_anfragen, termin_buchen, porsche_service_berechnen), and German noun-first/compound names (termin_freie_zeiten, porsche_wartungsplaene). Readable, but not a single predictable pattern.
Eight tools is well-scoped for a garage service calculator: discovery (search, fetch, wartungsplaene), computation (berechnen, erinnerung), and fulfillment (termin_freie_zeiten, termin_buchen, offerte_anfragen). Each earns its place without padding.
The surface covers the full workflow from plan lookup through calculation, reminder, slot availability, booking, and quote requests. Minor gaps exist, such as no cancel/reschedule for an appointment and no pricing/output of the quotation itself, but these are reasonably outside the calculator's core scope.
Available Tools
8 toolsfetchWartungsplan oder Berechnung abrufenARead-onlyIdempotentInspect
Ruft einen Treffer aus search ab: den ganzen Porsche-Wartungsplan (alle Arbeiten je Service und Zusatzwartung, Wortlaut Porsche mit Seitenzahl, Quelle) oder eine Berechnung. Fetches a search result: a full Porsche maintenance plan or a calculation.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | id aus search. |
TDQS
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 value beyond that by disclosing the return content in detail - the complete plan with all work per service plus Zusatzwartung, original Porsche wording, page number and source - which matters given there is no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded, but the same content is stated twice, once in German and once in English, which effectively doubles the length without adding meaning. It is not fatally bloated, but the bilingual duplication is not fully earning its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter fetch tool with annotations that cover the safety profile and no output schema, the description supplies the necessary return-content details (full plan vs. calculation, source and page references). It is complete enough to call correctly, with only minor room for authentication or retrieval-behavior notes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single parameter 'id' is documented in the schema as 'id aus search', so the baseline is 3. The description reinforces that the id identifies a search hit but adds no format, type, or sourcing detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: it retrieves ('Ruft ... ab') one hit from search, returning either a full Porsche maintenance plan or a calculation. It ties itself to the sibling 'search' as the source and names what the fetched object contains, so an agent can distinguish it from search or the other porsche_* tools. It does not explicitly contrast with porsche_wartungsplaene, keeping it short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'einen Treffer aus search ab' implies the intended workflow (call search first, then fetch a specific hit by id), which is decent implied usage. However there is no explicit when-to-use statement, no when-not, and no direct comparison to the sibling alternative 'search' or 'porsche_wartungsplaene'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
offerte_anfragenOfferte bei der Garage Kuhn anfragenAInspect
Legt bei der Garage Kuhn AG in Thalwil (Porsche-Spezialist, auch weitere Marken) eine Offerten-Anfrage an für: Unfallschaden, Lackierung, Einbruchschaden, Abschleppen & Transport, Classic-Restauration. Ohne Termin; die Werkstatt antwortet innert eines Arbeitstags. Die Person erhält eine E-Mail mit Link und lädt dort den Fahrzeugausweis und bei Schäden Fotos hoch, ergänzt die Adresse und nimmt die AGB an; ohne Bestätigung innert 24 Stunden wird die Anfrage gelöscht. Die Fahrzeugangaben stehen im Schweizer Fahrzeugausweis (Ziffer 23 Fahrgestellnummer, 24 Typenschein, 36 1. Inverkehrsetzung, 15 Kontrollschild); ein Foto des Ausweises lädt die Person beim Bestätigen hoch. Bei Unfallschäden helfen Rolle (Geschädigter oder Verursacher), Versicherung und Schadennummer. Fahrzeug nicht fahrbereit oder Panne: zuerst anrufen, 044 723 11 01. Creates a quotation request (accident, paint, break-in, restoration, towing); the person confirms via email link and uploads documents and photos there.
| Name | Required | Description | Default |
|---|---|---|---|
| km | No | Aktueller km-Stand, z. B. 96000. Current mileage. | |
| ort | No | Ort (optional). | |
| plz | No | PLZ (optional). | |
| name | Yes | Vor- und Nachname. Full name. | |
| Yes | E-Mail-Adresse der Person, dorthin geht der Bestätigungslink. Email for the confirmation link. | ||
| marke | Yes | Marke, z. B. Porsche (Spezialität der Garage Kuhn), VW, Audi, Skoda. Make. | |
| rolle | No | Bei Unfall: Geschädigter oder Verursacher (optional). | |
| modell | Yes | Modell mit Generation und Jahr, z. B. «911 Carrera S 997.2», «Macan S 2017», «Golf 8 GTI». Model. | |
| sprache | No | Sprache der Mail, Standard de. Language of the email. | |
| strasse | No | Strasse und Nummer (optional, sonst bei der Bestätigung). | |
| telefon | Yes | Telefonnummer für Rückfragen. Phone number. | |
| leistungen | Yes | Art der Anfrage. Type of request. | |
| versichert | No | Schaden schon der Versicherung gemeldet? (optional) | |
| typenschein | No | Typenschein-Nr. (Fahrzeugausweis Ziffer 24, optional). | |
| versicherer | No | Versicherung (optional). | |
| beschreibung | Yes | Anliegen in eigenen Worten, z. B. Geräusch, Warnleuchte, Hergang des Schadens. Pflicht, wenn keine Leistung passt. Description. | |
| schadenzonen | No | Beschädigte Bereiche: sb_v = Stossstange vorne, haube = Fronthaube, kfl_vl = Kotflügel vorne links, kfl_vr = Kotflügel vorne rechts, tuer_l = Tür links, tuer_r = Tür rechts, dach = Dach & Scheiben, kfl_hl = Kotflügel hinten links, kfl_hr = Kotflügel hinten rechts, heck = Motordeckel / Heck, sb_h = Stossstange hinten (optional). | |
| erstzulassung | No | 1. Inverkehrsetzung (Fahrzeugausweis Ziffer 36) als JJJJ-MM oder 03.2009. First registration. | |
| schadennummer | No | Schadennummer der Versicherung (optional). | |
| kontrollschild | No | Kontrollschild, z. B. ZH 123456 (optional). | |
| motor_getriebe | No | Motor und Getriebe, z. B. «3.8 Benzin, PDK» (optional). Engine and gearbox. | |
| fahrgestellnummer | No | Fahrgestellnummer/VIN, 17 Zeichen (Fahrzeugausweis Ziffer 23, optional). VIN. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, the description explains the full post-submission workflow: no appointment, response within one business day, email confirmation link, document and photo upload, address completion, terms acceptance, and deletion after 24 hours without confirmation. These are important behavioral traits for an agent to understand before invoking the tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long, but the complexity of the tool (22 parameters, document upload, confirmation flow) justifies most of the detail. It is front-loaded with the core action and services, though the final English summary is somewhat redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex mutation tool with no output schema, the description covers the key workflow, required user confirmation, document upload, and cleanup behavior. It does not describe what the tool itself returns to the caller, and it does not discuss duplicate or idempotency behavior, leaving minor completeness gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already defines all 22 parameters. The description still adds useful meaning by tying vehicle fields to the Swiss Fahrzeugausweis (Ziffer 23, 24, 36, 15) and by noting that role, insurer, and claim number are helpful for accident cases. It does not explain every parameter, but it compensates where the workflow context matters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: creates a quotation request at Garage Kuhn AG in Thalwil for five named service categories. It also distinguishes the action from appointment booking by saying 'Ohne Termin', which helps separate it from the sibling termin_buchen tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear usage context (accident, paint, break-in, towing, restoration) and a when-not condition: if the vehicle is not drivable or has broken down, call first instead. It does not explicitly name sibling alternatives such as termin_buchen, so it falls 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.
porsche_service_berechnenPorsche-Service berechnenBRead-onlyIdempotentInspect
Berechnet für einen Porsche, welcher Service als Nächstes fällig ist (wann, bei wie vielen km), den Grundumfang und die dann fälligen Zusatzwartungen im Wortlaut von Porsche mit Seitenlink, die folgenden Services und einen Buchungslink der Garage Kuhn, der die Fahrzeugangaben mitbringt. Das Auto als modell (freier Text), baureihe oder plan_id angeben. Enthält eine Erinnerung (Datum, Text, Kalenderdatei). Richtwert ohne Gewähr. Calculates which service a Porsche needs next (when, at what mileage, all tasks in Porsche's wording) with a booking link and a reminder.
| Name | Required | Description | Default |
|---|---|---|---|
| km | Yes | Aktueller km-Stand. Current mileage in km. | |
| modell | No | Statt plan_id oder baureihe: das Auto in freien Worten, z. B. «997 Carrera S», «991.2 GT3 RS», «Cayman GT4», «Cayenne 955 Turbo». Car in free text, e.g. "997 Carrera S". | |
| plan_id | No | Plan-ID aus porsche_wartungsplaene. | |
| baureihe | No | Statt plan_id: Baureihe (911, 911 GT, Boxster und Cayman, Panamera, Cayenne, Macan, Taycan), der Plan wird nach dem Jahr der 1. Inverkehrsetzung gewählt. Model line. | |
| variante | No | Optional: Nummer der Variante aus porsche_wartungsplaene (nur Pläne mit Varianten, z. B. 0 = erste Variante). | |
| km_pro_jahr | No | Optional: Fahrleistung pro Jahr für die Vorschau, Standard 10000. | |
| erstzulassung | Yes | 1. Inverkehrsetzung als JJJJ-MM (Fahrzeugausweis Ziffer 36), auch 03.2009 oder «März 2009», nicht in der Zukunft. First registration, e.g. 2009-03. | |
| letzter_service | No | Optional: Monat des letzten Service als JJJJ-MM, nicht vor der 1. Inverkehrsetzung und nicht in der Zukunft. Ohne Angabe rechnet der Rechner mit Service nach Porsche-Raster. Month of the last service (optional). | |
| letzter_service_km | No | km-Stand beim letzten Service, höchstens der aktuelle km-Stand. Pflicht, wenn letzter_service angegeben ist. |
TDQS
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 clear. The description adds valuable behavioral context beyond annotations: it details returned content (next service timing/mileage, Porsche's wording with page link, following services, Garage Kuhn booking link with vehicle data, reminder with date/text/calendar file) and includes a disclaimer ('Richtwert ohne Gewähr').
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose, but it is long, bilingual, and somewhat redundant: the English sentence repeats a subset of the German output details and omits several specifics. Parameter guidance and disclaimer are interleaved, reducing structural clarity for a complex tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description must explain return values; it does so in detail, covering next service, maintenance scope, links, and reminder contents. With 100% schema coverage for parameters and annotations covering safety, the remaining gap is minor: it does not clarify how this tool relates to sibling porsche_service_erinnerung or whether it creates a reminder versus merely including reminder data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all nine parameters are already documented with examples, enums, and constraints. The description only restates the alternative car specification modes ('modell', 'baureihe', 'plan_id') without adding syntax, format, or interaction rules beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Berechnet' / 'Calculates') and resource (Porsche service due next), including output scope: next service timing/mileage, tasks in Porsche wording, booking link, reminder. It distinguishes itself from a simple plan lister by describing computed results, though it does not explicitly name sibling tools like porsche_wartungsplaene as alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides parameter input modes (modell, baureihe, plan_id) but no when-to-use guidance, prerequisites, or explicit comparison to sibling tools such as porsche_wartungsplaene or porsche_service_erinnerung. An agent must infer that this tool is for calculating a service schedule rather than fetching plans or managing reminders.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
porsche_service_erinnerungService-ErinnerungARead-onlyIdempotentInspect
Liefert eine Service-Erinnerung für einen Porsche: Datum (vier Wochen vor dem nächsten Service nach Porsche-Plan, spätestens nach einem Jahr für den Jahresservice), Titel, Text mit Buchungslink der Garage Kuhn und eine Kalenderdatei (.ics) mit Alarm am Vortag um 9 Uhr. Für Erinnerungen und die Planung von Wartungen. Gleiche Angaben wie porsche_service_berechnen. Returns a service reminder (date, text, calendar file) for a Porsche.
| Name | Required | Description | Default |
|---|---|---|---|
| km | Yes | Aktueller km-Stand. Current mileage in km. | |
| modell | No | Statt plan_id oder baureihe: das Auto in freien Worten, z. B. «997 Carrera S», «991.2 GT3 RS», «Cayman GT4», «Cayenne 955 Turbo». Car in free text, e.g. "997 Carrera S". | |
| plan_id | No | Plan-ID aus porsche_wartungsplaene. | |
| baureihe | No | Statt plan_id: Baureihe (911, 911 GT, Boxster und Cayman, Panamera, Cayenne, Macan, Taycan), der Plan wird nach dem Jahr der 1. Inverkehrsetzung gewählt. Model line. | |
| variante | No | Optional: Nummer der Variante aus porsche_wartungsplaene (nur Pläne mit Varianten, z. B. 0 = erste Variante). | |
| km_pro_jahr | No | Optional: Fahrleistung pro Jahr für die Vorschau, Standard 10000. | |
| erstzulassung | Yes | 1. Inverkehrsetzung als JJJJ-MM (Fahrzeugausweis Ziffer 36), auch 03.2009 oder «März 2009», nicht in der Zukunft. First registration, e.g. 2009-03. | |
| letzter_service | No | Optional: Monat des letzten Service als JJJJ-MM, nicht vor der 1. Inverkehrsetzung und nicht in der Zukunft. Ohne Angabe rechnet der Rechner mit Service nach Porsche-Raster. Month of the last service (optional). | |
| letzter_service_km | No | km-Stand beim letzten Service, höchstens der aktuelle km-Stand. Pflicht, wenn letzter_service angegeben ist. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, non-destructive, and closed-world behavior, so the description is not required to restate safety. It adds meaningful behavioral detail: the reminder date is computed four weeks before the next service, at latest one year for the annual service, and the output includes a calendar file with an alarm the day before at 9 AM. It does not describe error handling or edge cases, but the core behavior is well disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the main purpose and output details, so an agent can quickly understand the tool. It is somewhat redundant because the final English sentence repeats the core purpose already stated in German, but the structure remains efficient overall.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given nine parameters, no output schema, and rich annotations, the description does a good job of explaining what is returned: date, title, text, booking link, and calendar file. It also explains the date calculation rule. It does not resolve the complex relationship among modell, plan_id, baureihe, and variante, but the schema descriptions cover those parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all nine parameters thoroughly, including enums, formats, and constraints. The description adds no parameter-level meaning beyond that, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: it returns a service reminder for a Porsche, including concrete outputs such as date, title, text, booking link, and an .ics calendar file. It references the sibling porsche_service_berechnen, but does not clearly explain why an agent should choose this tool over that sibling beyond mentioning reminders and maintenance planning.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Für Erinnerungen und die Planung von Wartungen' gives an implied usage context, but there is no explicit when-to-use or when-not-to-use guidance relative to porsche_service_berechnen or the other siblings. The comparison to porsche_service_berechnen is ambiguous because it says 'same details' rather than distinguishing the use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
porsche_wartungsplaenePorsche-Wartungspläne im Service-Rechner der Garage KuhnARead-onlyIdempotentInspect
Listet die Porsche-Wartungspläne, mit denen der Service-Rechner der Garage Kuhn AG rechnet: Plan-ID, Baureihen, Zeitraum, Herausgeber (Porsche Schweiz oder Deutschland), Generation und Varianten mit Nummer. Optional nach Baureihe filtern. Lists the Porsche maintenance plans used by the Garage Kuhn service calculator.
| Name | Required | Description | Default |
|---|---|---|---|
| baureihe | No | Nur Pläne dieser Baureihe. |
TDQS
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 fully covered structurally. The description adds useful context by listing what the plan records contain and tying the data to the service calculator, but discloses nothing about result size, ordering, or completeness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core purpose and the field list, and the optional filter is stated last. It is somewhat padded by a German/English duplication that restates the same fact and repeats "Garage Kuhn", but the size is still reasonable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates well by enumerating the returned fields. For a single-optional-parameter read tool whose annotations carry the safety profile, this is nearly complete; only sorting/pagination expectations are unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single parameter (baureihe) is documented with an enum in the schema. The description only restates that filtering by Baureihe is optional, adding no syntax or semantics beyond the schema. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ("Listet") plus resource ("Porsche-Wartungspläne") and enumerates the returned fields (Plan-ID, Baureihen, Zeitraum, Herausgeber, Generation, Varianten). It clearly identifies this as a reference-data lookup for the Garage Kuhn service calculator, but does not explicitly distinguish it from siblings like search or porsche_service_berechnen.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: it surfaces the maintenance plans behind the service calculator, and notes the filter is optional. There is no explicit when-to-use or when-to-prefer-a-sibling (e.g. porsche_service_berechnen) guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchPorsche-Wartungspläne suchenARead-onlyIdempotentInspect
Sucht Porsche-Wartungspläne der Garage Kuhn nach Modell oder Baureihe (z. B. «997», «Macan 2016», «Cayman GT4»). Stehen km und 1. Inverkehrsetzung in der Anfrage («997 Carrera, 96000 km, 03.2009»), kommt zuerst die fertige Berechnung. Treffer mit fetch abrufen. Searches Porsche maintenance plans by model; with mileage and first registration in the query it returns a ready calculation first. Use fetch for the full text.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Suchtext, z. B. «997 Carrera S 96000 km 03.2009». |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile is covered. The description adds genuinely useful behavior beyond that: search returns a pre-computed result when the query contains km and first registration, and only hits are returned so fetch is required for full text.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the verb and resource, then workflow guidance; every sentence carries information. The German content is restated almost verbatim in English, which is deliberate for bilingual users but is still duplication that costs some tightness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, annotation-rich search tool with no output schema, the description covers input format, special input behavior, and the follow-up fetch step. It stops short of describing the hit list shape or result limits, a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter with 100% schema coverage, so the baseline is 3. The description adds real meaning by showing a richer example query ('997 Carrera, 96000 km, 03.2009') and explaining that embedding mileage and a date changes the result type, which the schema description does not convey.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Sucht Porsche-Wartungspläne ... nach Modell oder Baureihe') with concrete query examples, and notes that a ready calculation is returned when mileage and first registration are present. It routes the agent to fetch for full text, though it does not contrast with the sibling porsche_wartungsplaene or porsche_service_berechnen explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear usage context: search by model/series, and include km plus first registration to get the finished calculation first. It also states the retrieval step ('Treffer mit fetch abrufen'), establishing the search-then-fetch workflow. No explicit when-not-to-use or named alternatives among the other siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
termin_buchenWerkstatttermin bei der Garage Kuhn buchenAInspect
Reserviert einen freien Werkstatttermin bei der Garage Kuhn AG in Thalwil (Porsche-Spezialist, auch VW, Audi, Skoda und weitere Marken) für Service, Diagnose, Reifen, Bremsen, Klima, Getriebe, MFK, Aufbereitung oder Probefahrt, und liefert die Buchungsnummer. Die Person erhält sofort eine E-Mail mit einem Link, über den sie den Termin innert 24 Stunden bestätigt, Adresse ergänzt und die AGB annimmt; ohne Bestätigung wird der Termin wieder frei. Danach prüft die Werkstatt den Termin und bestätigt ihn per E-Mail. Datum und Zeit aus termin_freie_zeiten. Die Fahrzeugangaben stehen im Schweizer Fahrzeugausweis (Ziffer 23 Fahrgestellnummer, 24 Typenschein, 36 1. Inverkehrsetzung, 15 Kontrollschild); ein Foto des Ausweises lädt die Person beim Bestätigen hoch. Bei einem Porsche rechnet der Service-Rechner mit km und 1. Inverkehrsetzung den fälligen Service aus und gibt ihn der Werkstatt mit. Für Unfall, Lack, Einbruch, Restauration und Abschleppen gibt es offerte_anfragen. Reserves a workshop appointment; the person confirms it via an email link within 24 hours and uploads the vehicle registration document there.
| Name | Required | Description | Default |
|---|---|---|---|
| km | Yes | Aktueller km-Stand, z. B. 96000. Current mileage. | |
| ort | No | Ort (optional). | |
| plz | No | PLZ (optional). | |
| name | Yes | Vor- und Nachname. Full name. | |
| zeit | Yes | Zeit als HH:MM aus termin_freie_zeiten, z. B. 08:30. Time. | |
| datum | Yes | Tag als JJJJ-MM-TT aus termin_freie_zeiten. Date. | |
| Yes | E-Mail-Adresse der Person, dorthin geht der Bestätigungslink. Email for the confirmation link. | ||
| marke | Yes | Marke, z. B. Porsche (Spezialität der Garage Kuhn), VW, Audi, Skoda. Make. | |
| modell | Yes | Modell mit Generation und Jahr, z. B. «911 Carrera S 997.2», «Macan S 2017», «Golf 8 GTI». Model. | |
| sprache | No | Sprache der Mail, Standard de. Language of the email. | |
| strasse | No | Strasse und Nummer (optional, sonst bei der Bestätigung). | |
| telefon | Yes | Telefonnummer für Rückfragen. Phone number. | |
| leistungen | No | Gewünschte Leistungen. Services. | |
| typenschein | No | Typenschein-Nr. (Fahrzeugausweis Ziffer 24, optional). | |
| beschreibung | No | Anliegen in eigenen Worten, z. B. Geräusch, Warnleuchte, Hergang des Schadens. Pflicht, wenn keine Leistung passt. Description. | |
| erstzulassung | Yes | 1. Inverkehrsetzung (Fahrzeugausweis Ziffer 36) als JJJJ-MM oder 03.2009. First registration. | |
| kontrollschild | No | Kontrollschild, z. B. ZH 123456 (optional). | |
| motor_getriebe | No | Motor und Getriebe, z. B. «3.8 Benzin, PDK» (optional). Engine and gearbox. | |
| letzter_service | No | Letzter Service: Monat/Jahr und km, z. B. «05.2024 bei 84000 km» (optional). Last service. | |
| fahrgestellnummer | No | Fahrgestellnummer/VIN, 17 Zeichen (Fahrzeugausweis Ziffer 23, optional). VIN. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only say readOnly=false and idempotent=false; the description adds substantial context beyond them: a two-step flow where the person must confirm via email link within 24 hours or the slot is released, the workshop then re-confirms, and a photo of the Fahrzeugausweis is uploaded at confirmation. It also discloses the concrete return value (Buchungsnummer) and the side effect of an immediate email being sent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded correctly: the booking action and brand scope come first, then the confirmation lifecycle, then data sources. It is one dense paragraph, though, and the inline list of services (Service, Diagnose, Reifen, Bremsen, Klima, Getriebe, MFK, Aufbereitung, Probefahrt) partially duplicates the leistungen enum in the schema, which is mild repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 20-parameter write tool with no output schema, the description covers everything an agent needs: preconditions, the confirmation/expiry lifecycle, the returned Buchungsnummer, where each vehicle field comes from, and the correct sibling for unsupported cases. No material gap remains that would cause a mis-call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already carries the per-field definitions. The description still adds cross-parameter meaning the schema cannot: where datum/zeit must originate, which Swiss Fahrzeugausweis fields (Ziffer 23/24/36/15) map to fahrgestellnummer/typenschein/erstzulassung/kontrollschild, and that the Porsche service calculator consumes km and erstzulassung. It stops short of explaining the interaction between leistungen and beschreibung, which only the schema notes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource: "Reserviert einen freien Werkstatttermin bei der Garage Kuhn AG in Thalwil" with brand scope (Porsche specialist, also VW/Audi/Skoda) and service scope enumerated. It also explicitly carves out the sibling: "Für Unfall, Lack, Einbruch, Restauration und Abschleppen gibt es offerte_anfragen." An agent can distinguish it from offerte_anfragen and termin_freie_zeiten without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
States the hard prerequisite for the two scheduling params ("Datum und Zeit aus termin_freie_zeiten"), names the alternative tool for the excluded job types (offerte_anfragen), and points to porsche_service_berechnen's output being passed along. When-to-use, when-not-to-use, and the upstream call sequence are all explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
termin_freie_zeitenFreie Werkstatttermine der Garage KuhnARead-onlyIdempotentInspect
Liefert die freien Termine (30 Minuten Annahme) in der Werkstatt der Garage Kuhn AG in Thalwil, Porsche-Spezialist seit 1955, Service auch für VW, Audi, Skoda und weitere Marken. Montag bis Freitag 07:30 bis 12:00 und 13:00 bis 18:30, von morgen bis drei Wochen voraus, ohne Feiertage und Betriebsferien. Optional nach Zeitraum und Tageszeit eingrenzen. Dazu die Leistungen mit Termin und die Leistungen mit Offerte. Returns free workshop appointments (Mon to Fri) at Garage Kuhn AG, Porsche specialist, for the next three weeks.
| Name | Required | Description | Default |
|---|---|---|---|
| bis | No | Spätester Tag als JJJJ-MM-TT (optional). Latest day. | |
| von | No | Frühester Tag als JJJJ-MM-TT (optional). Earliest day. | |
| tageszeit | No | Nur Vormittag oder nur Nachmittag (optional). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly, idempotent and non-destructive, so the bar is lower; the description still adds real context: the 07:30-12:00 / 13:00-18:30 weekday availability, exclusion of holidays and company holidays, the three-week horizon, and that results also include services bookable by appointment vs. by quote.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The availability scope and constraints are front-loaded in the first two sentences before the optional-filter note. The remaining text—brand history and the English restatement—is padding that does not help an agent decide or call, so this is the weakest part of an otherwise tight description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description does step in to say the response includes both appointment-bookable and quote-only services, plus the bookable window and slot length. That is enough to call it correctly; only the exact result structure remains unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with explicit date-format and enum descriptions, so the schema does the heavy lifting. The sentence 'Optional nach Zeitraum und Tageszeit eingrenzen' only restates what von/bis/tageszeit already convey, adding no new syntax or constraint detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Liefert die freien Termine'), plus concrete scope: 30-minute intake slots at Garage Kuhn AG in Thalwil. An agent can tell this is the availability-lookup tool as distinct from termin_buchen, though no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Says the result can optionally be narrowed by time range and time of day, which implies when to pass filters, and gives a bookable window (tomorrow to three weeks out). It never says when not to use it or that booking should follow via termin_buchen, so 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.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- Added
offerte_anfragen - Added
termin_buchen - Added
termin_freie_zeiten
5 tool updates
- First observed
fetch - First observed
porsche_service_berechnen - First observed
porsche_service_erinnerung - First observed
porsche_wartungsplaene - First observed
search
Related MCP Connectors
Search, price and book Swiss coworking spaces, offices and meeting rooms on cowork24.ch.
Mercedes-Benz Service A/B reminders, service explanations and warning-light guidance (Dubai).
Find Swiss driving lessons, live availability, VKU, first aid and WAB courses; book on the website.
Garage-door quote checks, spring usage, winter planning and verified CLE knowledge search.
Related MCP Servers
- AlicenseAqualityAmaintenanceMCP Server for Swiss road mobility — shared vehicles, EV charging, traffic alerts, Park & Rail, and multimodal trip planning.1531 PyPI1MIT
- AlicenseNot gradedqualityDmaintenanceProvides access to KfW funding programs for residential building energy efficiency renovations in Germany. Enables users to list programs, check eligibility, calculate funding amounts, and get detailed information about specific KfW loans and grants.MIT
- AlicenseBqualityDmaintenanceProvides AI assistants access to 1.6 million Swiss health insurance premium records from 55 insurers across 11 years (2016-2026), enabling price comparisons, historical analysis, and finding the cheapest insurance options based on location, age, and coverage preferences.2488 npm1MIT
- AlicenseDqualityFmaintenanceProvides Swiss weather forecast data, allowing users to search for Swiss locations and get detailed hourly and daily weather forecasts.22MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.