Skip to main content
Glama

Autorisierte Anfrage an L&G senden

submit_direct_installation_inquiry
DestructiveIdempotent

Creates a private plumbing/heating enquiry to L&G through contact Patrick Kaufmann at office@installateur1210.at for all 23 Vienna districts, and queues a business email. Requires explicit customer authorisation for the exact details, named recipient and current privacy version. Free enquiry; no booking, emergency dispatch, payment, publication or resale. Production accepts real customer enquiries only. The idempotency key is a new random 16–100 character value; identical retries return the same receipt, while changed input under that key is rejected. Returns only a receipt, never customer data or credentials.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "payload": "<payload>",
      "idempotency_key": "<idempotency_key>"
    },
    "name": "submit_direct_installation_inquiry"
  }
}

Input Schema

NameRequiredDescriptionDefault
payloadYes
idempotency_keyYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed7 schema fields changed
    • removedInput schema / $defs / Inquiry
      Removed value: -{
      -  "additionalProperties": false,
      -  "properties": {
      -    "acknowledged_privacy_version": {
      -      "const": "2026-11-07-direct-v1",
      -      "title": "Acknowledged Privacy Version",
      -      "type": "string"
      -    },
      -    "authority_to_request": {
      -      "const": true,
      -      "title": "Authority To Request",
      -      "type": "boolean"
      -    },
      -    "consent_to_send_to_kaufmann": {
      -      "const": true,
      -      "title": "Consent To Send To Kaufmann",
      -      "type": "boolean"
      -    },
      -    "contact": {
      -      "$ref": "#/$defs/Contact"
      -    },
      -    "country": {
      -      "const": "AT",
      -      "title": "Country",
      -      "type": "string"
      -    },
      -    "description": {
      -      "maxLength": 4000,
      -      "minLength": 20,
      -      "title": "Description",
      -      "type": "string"
      -    },
      -    "postal_code": {
      -      "pattern": "^1(?:0[1-9]|1[0-9]|2[0-3])0$",
      -      "title": "Postal Code",
      -      "type": "string"
      -    },
      -    "preferred_time": {
      -      "maxLength": 200,
      -      "minLength": 3,
      -      "title": "Preferred Time",
      -      "type": "string"
      -    },
      -    "recipient": {
      -      "const": "kaufmann-installationen",
      -      "title": "Recipient",
      -      "type": "string"
      -    },
      -    "service": {
      -      "enum": [
      -        "plumbing",
      -        "heating"
      -      ],
      -      "title": "Service",
      -      "type": "string"
      -    },
      -    "understands_not_a_booking_or_emergency_service": {
      -      "const": true,
      -      "title": "Understands Not A Booking Or Emergency Service",
      -      "type": "boolean"
      -    },
      -    "work_type": {
      -      "enum": [
      -        "installation",
      -        "replacement",
      -        "repair",
      -        "maintenance",
      -        "inspection",
      -        "other"
      -      ],
      -      "title": "Work Type",
      -      "type": "string"
      -    }
      -  },
      -  "required": [
      -    "recipient",
      -    "country",
      -    "postal_code",
      -    "service",
      -    "work_type",
      -    "description",
      -    "preferred_time",
      -    "contact",
      -    "authority_to_request",
      -    "consent_to_send_to_kaufmann",
      -    "acknowledged_privacy_version",
      -    "understands_not_a_booking_or_emergency_service"
      -  ],
      -  "title": "Inquiry",
      -  "type": "object"
      -}
    • removedInput schema / properties / payload / $ref
      Removed value: -"#/$defs/Inquiry"
    • addedInput schema / properties / payload / additionalProperties
      Added value: +false
    • addedInput schema / properties / payload / properties
      Added value: +{
      +  "acknowledged_privacy_version": {
      +    "const": "2026-11-07-direct-lg-v2",
      +    "title": "Acknowledged Privacy Version",
      +    "type": "string"
      +  },
      +  "authority_to_request": {
      +    "const": true,
      +    "title": "Authority To Request",
      +    "type": "boolean"
      +  },
      +  "consent_to_send_to_lg": {
      +    "const": true,
      +    "title": "Consent To Send To Lg",
      +    "type": "boolean"
      +  },
      +  "contact": {
      +    "$ref": "#/$defs/Contact"
      +  },
      +  "country": {
      +    "const": "AT",
      +    "title": "Country",
      +    "type": "string"
      +  },
      +  "description": {
      +    "maxLength": 4000,
      +    "minLength": 20,
      +    "title": "Description",
      +    "type": "string"
      +  },
      +  "postal_code": {
      +    "pattern": "^1(?:0[1-9]|1[0-9]|2[0-3])0$",
      +    "title": "Postal Code",
      +    "type": "string"
      +  },
      +  "preferred_time": {
      +    "maxLength": 200,
      +    "minLength": 3,
      +    "title": "Preferred Time",
      +    "type": "string"
      +  },
      +  "recipient": {
      +    "const": "lg-installationen",
      +    "title": "Recipient",
      +    "type": "string"
      +  },
      +  "service": {
      +    "enum": [
      +      "plumbing",
      +      "heating"
      +    ],
      +    "title": "Service",
      +    "type": "string"
      +  },
      +  "understands_not_a_booking_or_emergency_service": {
      +    "const": true,
      +    "title": "Understands Not A Booking Or Emergency Service",
      +    "type": "boolean"
      +  },
      +  "work_type": {
      +    "enum": [
      +      "installation",
      +      "replacement",
      +      "repair",
      +      "maintenance",
      +      "inspection",
      +      "other"
      +    ],
      +    "title": "Work Type",
      +    "type": "string"
      +  }
      +}
    • addedInput schema / properties / payload / required
      Added value: +[
      +  "recipient",
      +  "country",
      +  "postal_code",
      +  "service",
      +  "work_type",
      +  "description",
      +  "preferred_time",
      +  "contact",
      +  "authority_to_request",
      +  "consent_to_send_to_lg",
      +  "acknowledged_privacy_version",
      +  "understands_not_a_booking_or_emergency_service"
      +]
    • addedInput schema / properties / payload / title
      Added value: +"Inquiry"
    • addedInput schema / properties / payload / type
      Added value: +"object"
  2. First observed

TDQS

A4.2/5.0
Behavior5/5

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

Goes well past the annotations by disclosing the external side effect (a business email is queued to an outside party), the idempotency contract (a new random 16–100 character key; identical retries return the same receipt; changed input under the same key is rejected), and the response shape ('returns only a receipt, never customer data or credentials'). The annotations only flag readOnly=false, destructive=true, openWorld=true, idempotent=true — the description explains what those mean operationally 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-loaded with the core action and recipient before the constraints, and nearly every clause carries decision-relevant information (scope, consent, exclusions, idempotency, return shape). It is dense and slightly run-on in places, but there is no filler or restatement of the name/title.

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?

Covers the high-risk elements an agent most needs — authorisation, privacy version, idempotency, external send, and the fact that only a receipt comes back — which is substantial for a tool with no output schema. Yet for a nested 12-field payload with zero schema descriptions, the description leaves key field-level semantics (work_type choices, preferred_time expectations, contact requirements) 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 0% and the payload is a nested object with twelve required fields, so the description carries real weight — and it does add meaning for the idempotency key (the schema gives only a bare string with no length or randomness constraints) and for the consent/privacy-version gate. However, it says nothing about work_type enum values, preferred_time format, description length, the postal-code-to-district mapping, or the contact sub-object, leaving most nested parameters undocumented in prose.

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 — 'Creates a private plumbing/heating enquiry to L&G' — plus the intermediary contact, the email address, the geographic scope (all 23 Vienna districts) and the side effect of queueing a business email. This is far more specific than the sibling names (service_request_preview, direct_installation_inquiry_options) and lets an agent tell creation apart from preview/options 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 preconditions ('Requires explicit customer authorisation for the exact details, named recipient and current privacy version') and explicit exclusions ('no booking, emergency dispatch, payment, publication or resale') plus a production constraint ('real customer enquiries only'). It stops short of naming which sibling to use instead for a dry run (e.g. service_request_preview) or for browsing options, so the routing guidance is implicit rather than exhaustive.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.