Skip to main content
Glama

SzuruSzuru – rezerwacja czyszczenia tapicerki

Lista usług SzuruSzuru

list_upholstery_services
Read-onlyIdempotent

PURPOSE: Lists SzuruSzuru services (mobile upholstery, corner sofa, armchair, carpet, rug and mattress cleaning at the customer's home, Pomeranian region, Poland) with service ids, unit prices in PLN, units and add-on names. WHEN TO USE: To find the service id and exact add-on names before calculate_quote, or when the customer asks what is offered. WHEN NOT TO USE: Not for a price of a concrete order (use calculate_quote), not for coverage (check_service_area) or dates (check_availability). REQUIRED: nothing. SIDE EFFECTS: none (read-only). CONSTRAINTS: Prices come only from this catalog and calculate_quote - never estimate a price.

Input Schema

NameRequiredDescriptionDefault
categoryNoOptional filter (furniture = sofas, corner sofas, armchairs; leather = leather furniture; pillows = loose pillows and cushions)
session_idNoOptional, ignored by this tool.

Output 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
servicesNo
session_idNo
pricing_rulesNo
missing_fieldsNo
catalog_versionNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / category / description
      Previous value: -"Optional filter (furniture = sofas, corner sofas, armchairs; leather = leather furniture)"New value: +"Optional filter (furniture = sofas, corner sofas, armchairs; leather = leather furniture; pillows = loose pillows and cushions)"
    • changedInput schema / properties / category / enum
      Previous value: -[
      -  "chairs",
      -  "furniture",
      -  "leather",
      -  "mattress",
      -  "carpet"
      -]New value: +[
      +  "chairs",
      +  "furniture",
      +  "leather",
      +  "mattress",
      +  "carpet",
      +  "pillows"
      +]
  2. Changed3 schema fields changed
    • changedInput schema / properties / category / description
      Previous value: -"Optional filter (leather = leather furniture)"New value: +"Optional filter (furniture = sofas, corner sofas, armchairs; leather = leather furniture)"
    • addedInput schema / properties / session_id
      Added value: +{
      +  "description": "Optional, ignored by this tool.",
      +  "maxLength": 40,
      +  "minLength": 28,
      +  "pattern": "^as_[0-9a-z]{26}$",
      +  "type": "string"
      +}
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "catalog_version": {
      +      "type": "string"
      +    },
      +    "code": {
      +      "type": "string"
      +    },
      +    "error": {
      +      "description": "Stable machine-readable error id when success=false, e.g. missing_required_fields, unsupported_postcode, no_availability",
      +      "type": "string"
      +    },
      +    "message": {
      +      "type": "string"
      +    },
      +    "missing_fields": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "pricing_rules": {
      +      "type": "object"
      +    },
      +    "services": {
      +      "items": {
      +        "properties": {
      +          "id": {
      +            "type": "string"
      +          },
      +          "name_pl": {
      +            "type": "string"
      +          },
      +          "unit": {
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "session_id": {
      +      "type": "string"
      +    },
      +    "success": {
      +      "description": "true = operation done / data returned; false = see error",
      +      "type": "boolean"
      +    }
      +  },
      +  "required": [
      +    "success"
      +  ],
      +  "type": "object"
      +}
  3. First observed

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 openWorld=false, so the 'SIDE EFFECTS: none (read-only)' and 'REQUIRED: nothing' lines partly restate them. The description does add value beyond annotations: the CONSTRAINT that prices come only from this catalog and calculate_quote and must never be estimated, which is a behavioral rule the agent cannot 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?

Labeled sections (PURPOSE / WHEN TO USE / WHEN NOT TO USE / REQUIRED / SIDE EFFECTS / CONSTRAINTS) put the routing decision up front and each line carries operational content. Minor redundancy: the returned-field list overlaps with the existing output schema, and the REQUIRED/SIDE EFFECTS lines restate 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?

With an output schema present, the description need not explain return values, yet it still names them briefly, and it covers routing, side effects and the no-estimated-prices constraint. The one gap is the optional category filter, which an agent could miss if it reads only the description and skips 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%, and the schema itself expands the enum values (furniture = sofas/corner sofas/armchairs; leather = leather furniture; pillows = loose pillows and cushions), so the baseline is 3. The description adds no parameter-level detail at all — it never mentions the optional category filter or that session_id is ignored — so it does not exceed 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 (lists SzuruSzuru upholstery services) plus the exact scope of content returned (service ids, PLN unit prices, units, add-on names) and the geographic domain (Pomeranian region). This is clearly distinguishable from siblings like calculate_quote or check_service_area 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 names the concrete precondition (find service id and exact add-on names before calculate_quote, or answer 'what do you offer'). WHEN NOT TO USE routes to three named alternatives with the condition that selects each: calculate_quote for a concrete order price, check_service_area for coverage, check_availability for dates.

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