Skip to main content
Glama

SzuruSzuru – rezerwacja czyszczenia tapicerki

Weryfikacja numeru

start_phone_verification

PURPOSE: Sends an SMS code to a Polish mobile number to prove the customer owns it, before showing, rescheduling or cancelling their EXISTING bookings. WHEN TO USE: When the customer asks about their existing booking(s) and no customer_grant is available yet. WHEN NOT TO USE: Not for a new booking (prepare_booking sends its own code). REQUIRED: phone. SIDE EFFECTS: sends one SMS (a repeated call within 60 s returns the same verification_id without a new SMS). The response is the same whether or not the number is known.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
phoneYesPolish mobile number of the customer
session_idNoOptional. session_id from the previous result, if you have it. The server also recovers the session from quote_id / slot_id / confirmation_id / customer_grant.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
codeNo
errorNoStable machine-readable error id when success=false, e.g. missing_required_fields, unsupported_postcode, no_availability
messageNo
successYestrue = operation done / data returned; false = see error
expires_inNo
session_idNo
code_sent_toNo
missing_fieldsNo
verification_idNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • addedInput schema / properties / phone / description
      Added value: +"Polish mobile number of the customer"
    • addedInput schema / properties / session_id / description
      Added value: +"Optional. session_id from the previous result, if you have it. The server also recovers the session from quote_id / slot_id / confirmation_id / customer_grant."
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "code": {
      +      "type": "string"
      +    },
      +    "code_sent_to": {
      +      "type": "string"
      +    },
      +    "error": {
      +      "description": "Stable machine-readable error id when success=false, e.g. missing_required_fields, unsupported_postcode, no_availability",
      +      "type": "string"
      +    },
      +    "expires_in": {
      +      "type": "integer"
      +    },
      +    "message": {
      +      "type": "string"
      +    },
      +    "missing_fields": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "session_id": {
      +      "type": "string"
      +    },
      +    "success": {
      +      "description": "true = operation done / data returned; false = see error",
      +      "type": "boolean"
      +    },
      +    "verification_id": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "success"
      +  ],
      +  "type": "object"
      +}
  2. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only give the generic flags (readOnly=false, destructive=false, openWorld=false, idempotent=false); the description goes well beyond them by disclosing the single-SMS side effect and the 60-second dedupe window that returns the same verification_id without a new SMS. It also discloses the anti-enumeration property (identical response whether or not the number is known), which is real behavioral information an agent needs.

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

Conciseness4/5

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

The labeled PURPOSE / WHEN / WHEN NOT / REQUIRED / SIDE EFFECTS structure is front-loaded and highly scannable with no filler prose. The 'REQUIRED: phone' line duplicates the schema's required field, so it isn't perfectly waste-free, but the size is appropriate.

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?

An output schema exists, so return-value explanation is unnecessary; what remains — purpose, selection criteria, the SMS side effect, dedupe behavior, and privacy semantics — is fully covered for a two-parameter tool.

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 restates only that phone is required and says nothing about session_id or the server's session-recovery behavior beyond what the schema already explains.

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 concrete verb+resource (send an SMS code to a Polish mobile number) and the business goal (proving ownership before acting on EXISTING bookings). It also differentiates itself from the sibling prepare_booking, so an agent can distinguish it 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?

Explicit WHEN TO USE (customer asks about an existing booking and no customer_grant exists) and WHEN NOT TO USE (new booking -> prepare_booking sends its own code), naming the alternative directly. This is the full when/when-not/alternative pattern.

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.

Resources