SzuruSzuru – rezerwacja czyszczenia tapicerki

Quote, check slots and book on-site upholstery, carpet and mattress cleaning in Pomorskie, Poland.

使うべきか

品質と安全性

A
説明の品質
100%
スキーマの完全性
83%
命名の品質
95%
ポイズニングのリスク
100%
権限の一致
100%
プロトコルへの準拠
100%

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~3,438トークン数(ツール定義)
~1.6 KB一般的なレスポンスサイズ
注意への影響は大きい(128k コンテキストの 2.69%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `claude_desktop_config.json` ファイルに追加してください:

{
  "mcpServers": {
    "booking": {
      "url": "https://agent.szuruszuru.pl/mcp"
    }
  }
}

リモートエンドポイント

https://agent.szuruszuru.pl/mcpstreamable-http

できること

ツール一覧

ツール(13)

🟢 読み取り専用🟡 書き込み🔴 削除⚪ 不明
🟢list_upholstery_services(category)

Lists SzuruSzuru's upholstery, carpet, rug and mattress cleaning services (Pomeranian region, Poland) with unit prices in PLN, units (piece / m2 / mattress side), add-ons and required parameters. Read-only. Does not check coverage or availability - use check_service_area and check_availability for that. Prices come from the live catalog; never estimate a price yourself.

入力スキーマ

{
  "type": "object",
  "properties": {
    "category": {
      "type": "string",
      "enum": [
        "chairs",
        "furniture",
        "leather",
        "mattress",
        "carpet"
      ],
      "description": "Optional filter (leather = leather furniture)"
    }
  },
  "additionalProperties": false
}
🟢get_service_requirements(service)

Returns everything needed to quote one service: unit, quantity limits, variants, optional add-ons and a short factual description. Use it when the customer's request is ambiguous (e.g. corner sofa size, carpet area in m2). Read-only.

入力スキーマ

{
  "type": "object",
  "properties": {
    "service": {
      "type": "string",
      "minLength": 2,
      "maxLength": 64,
      "pattern": "^[a-z0-9_\\-]+$",
      "description": "Service id from list_upholstery_services"
    }
  },
  "required": [
    "service"
  ],
  "additionalProperties": false
}
🟢check_service_area(postal_code)

Checks whether SzuruSzuru serves a Polish postal code (format NN-NNN, e.g. 83-300). Returns availability and the town name only. Does not reserve anything and does not reveal staff or schedules.

入力スキーマ

{
  "type": "object",
  "properties": {
    "postal_code": {
      "type": "string",
      "minLength": 5,
      "maxLength": 6,
      "pattern": "^\\d{2}-?\\d{3}$"
    }
  },
  "required": [
    "postal_code"
  ],
  "additionalProperties": false
}
🟢calculate_quote(postal_code, items, session_id)

Calculates a binding quote for one or more services at a postal code: unit prices, quantity discounts, add-ons, travel fee and minimum order are computed by the SzuruSzuru backend. Returns quote_id (valid ~30 minutes) required by check_availability. Do not estimate or adjust prices yourself; if the quote is below the minimum order, ask the customer to add a service.

入力スキーマ

{
  "type": "object",
  "properties": {
    "postal_code": {
      "type": "string",
      "minLength": 5,
      "maxLength": 6,
      "pattern": "^\\d{2}-?\\d{3}$"
    },
    "items": {
      "type": "array",
      "minItems": 1,
      "maxItems": 20,
      "items": {
        "type": "object",
        "required": [
          "service",
          "quantity"
        ],
        "properties": {
          "service": {
            "type": "string",
            "minLength": 2,
            "maxLength": 64,
            "pattern": "^[a-z0-9_\\-]+$",
            "description": "Service id from list_upholstery_services"
          },
          "quantity": {
            "type": "number",
            "minimum": 0.5,
            "maximum": 500,
            "description": "Pieces, mattress sides (1-2) or square metres for carpets"
          },
          "addons": {
            "type": "array",
            "maxItems": 10,
            "items": {
              "type": "string",
              "minLength": 2,
              "maxLength": 60
            },
            "description": "Add-on names exactly as listed for the service"
          }
        },
        "additionalProperties": false
      }
    },
    "session_id": {
      "type": "string",
      "minLength": 28,
      "maxLength": 40,
      "pattern": "^as_[0-9a-z]{26}$",
      "description": "Session id from a previous response (keeps quote, slots and confirmation together)"
    }
  },
  "required": [
    "postal_code",
    "items"
  ],
  "additionalProperties": false
}
🟢check_availability(quote_id, booking_reference, wanted, session_id, customer_grant)

Returns real, currently bookable appointment slots for a quote_id (new booking) or for an existing booking_reference (rescheduling; requires customer_grant). Filter by preference: type asap | date | range | preferred plus optional part_of_day. Slots expire after ~15 minutes and are the only valid source of slot_id. Never assume availability without calling this tool.

入力スキーマ

{
  "type": "object",
  "properties": {
    "quote_id": {
      "type": "string",
      "minLength": 28,
      "maxLength": 40,
      "pattern": "^q_[0-9a-z]{26}$"
    },
    "booking_reference": {
      "type": "string",
      "minLength": 8,
      "maxLength": 20,
      "pattern": "^[A-Za-z0-9\\-]{8,20}$"
    },
    "wanted": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "asap",
            "date",
            "range",
            "preferred"
          ],
          "default": "asap"
        },
        "date": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "maxLength": 10
        },
        "from": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "maxLength": 10
        },
        "to": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "maxLength": 10
        },
        "part_of_day": {
          "type": "string",
          "enum": [
            "morning",
            "afternoon",
            "evening"
          ]
        },
        "preferred_time": {
          "type": "string",
          "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
          "maxLength": 5
        }
      },
      "additionalProperties": false
    },
    "session_id": {
      "type": "string",
      "minLength": 28,
      "maxLength": 40,
      "pattern": "^as_[0-9a-z]{26}$"
    },
    "customer_grant": {
      "type": "string",
      "minLength": 20,
      "maxLength": 80,
      "description": "From verify_phone_code (only for booking_reference)"
    }
  },
  "additionalProperties": false
}
🟡prepare_booking(quote_id, slot_id, customer, terms_accepted, notes, ...)

Prepares a booking for a chosen slot: validates the quote and slot, holds the slot for 10 minutes, records the customer's details and terms acceptance, and sends an SMS confirmation code to the customer's Polish mobile number. Returns confirmation_id and a `summary` that must be shown to the customer verbatim. Does NOT create the booking - the customer must read the code from the SMS and you must call create_booking. Requires the customer's explicit agreement to book and to the terms (terms_accepted=true).

入力スキーマ

{
  "type": "object",
  "properties": {
    "quote_id": {
      "type": "string",
      "minLength": 28,
      "maxLength": 40,
      "pattern": "^q_[0-9a-z]{26}$"
    },
    "slot_id": {
      "type": "string",
      "minLength": 28,
      "maxLength": 40,
      "pattern": "^s_[0-9a-z]{26}$"
    },
    "customer": {
      "type": "object",
      "required": [
        "name",
        "address"
      ],
      "properties": {
        "name": {
          "type": "string",
          "minLength": 5,
          "maxLength": 100,
          "description": "First and last name"
        },
        "phone": {
          "type": "string",
          "minLength": 9,
          "maxLength": 20,
          "pattern": "^[+\\d][\\d\\s\\-]{8,19}$",
          "description": "Polish mobile number (optional when the customer is signed in)"
        },
        "email": {
          "type": "string",
          "maxLength": 254,
          "description": "Optional"
        },
        "address": {
          "type": "string",
          "minLength": 4,
          "maxLength": 200,
          "description": "Street and house/flat number"
        },
        "city": {
          "type": "string",
          "maxLength": 80
        }
      },
      "additionalProperties": false
    },
    "terms_accepted": {
      "type": "boolean",
      "description": "Customer accepted the terms and the consent text (must be true)"
    },
    "notes": {
      "type": "string",
      "maxLength": 200,
      "description": "Optional note for the cleaner (fabric type, stains, parking)"
    },
    "invoice_data": {
      "type": "object",
      "properties": {
        "company": {
          "type": "string",
          "maxLength": 150
        },
        "nip": {
          "type": "string",
          "minLength": 10,
          "maxLength": 13,
          "pattern": "^[0-9\\-]{10,13}$"
        },
        "address": {
          "type": "string",
          "maxLength": 200
        }
      },
      "additionalProperties": false
    },
    "session_id": {
      "type": "string",
      "minLength": 28,
      "maxLength": 40,
      "pattern": "^as_[0-9a-z]{26}$"
    }
  },
  "required": [
    "quote_id",
    "slot_id",
    "customer",
    "terms_accepted"
  ],
  "additionalProperties": false
}
⚪resend_confirmation_code(confirmation_id, session_id)

Re-sends the SMS confirmation code for a prepared booking (rate-limited: at most one code per minute and three per 30 minutes per phone). Use only when the customer says the SMS did not arrive.

入力スキーマ

{
  "type": "object",
  "properties": {
    "confirmation_id": {
      "type": "string",
      "minLength": 28,
      "maxLength": 40,
      "pattern": "^c_[0-9a-z]{26}$"
    },
    "session_id": {
      "type": "string",
      "minLength": 28,
      "maxLength": 40,
      "pattern": "^as_[0-9a-z]{26}$"
    }
  },
  "required": [
    "confirmation_id"
  ],
  "additionalProperties": false
}
🔴create_booking(confirmation_id, sms_code, idempotency_key, session_id)

Creates the confirmed SzuruSzuru booking for a prepared confirmation_id after the customer provides the 6-digit SMS code. Use the same idempotency_key when retrying after a timeout - it will never create a second booking. Price, slot, schedule and identity are re-validated by the backend; the call fails with a clear code if anything changed. Returns booking_reference, time and total.

入力スキーマ

{
  "type": "object",
  "properties": {
    "confirmation_id": {
      "type": "string",
      "minLength": 28,
      "maxLength": 40,
      "pattern": "^c_[0-9a-z]{26}$"
    },
    "sms_code": {
      "type": "string",
      "minLength": 6,
      "maxLength": 8,
      "pattern": "^\\s*\\d{3}\\s?\\d{3}\\s*$"
    },
    "idempotency_key": {
      "type": "string",
      "minLength": 8,
      "maxLength": 128,
      "pattern": "^[A-Za-z0-9._:\\-]{8,128}$"
    },
    "session_id": {
      "type": "string",
      "minLength": 28,
      "maxLength": 40,
      "pattern": "^as_[0-9a-z]{26}$"
    }
  },
  "required": [
    "confirmation_id",
    "sms_code",
    "idempotency_key"
  ],
  "additionalProperties": false
}
⚪start_phone_verification(phone, session_id)

Sends an SMS code to a Polish mobile number to prove the customer controls it, so their existing bookings can be accessed, rescheduled or cancelled. The response is the same whether or not the number is known to SzuruSzuru. Not needed for a new booking (prepare_booking sends its own code).

入力スキーマ

{
  "type": "object",
  "properties": {
    "phone": {
      "type": "string",
      "minLength": 9,
      "maxLength": 20,
      "pattern": "^[+\\d][\\d\\s\\-]{8,19}$"
    },
    "session_id": {
      "type": "string",
      "minLength": 28,
      "maxLength": 40,
      "pattern": "^as_[0-9a-z]{26}$"
    }
  },
  "required": [
    "phone"
  ],
  "additionalProperties": false
}
🔴verify_phone_code(verification_id, code, session_id)

Exchanges the SMS code from start_phone_verification for a short-lived customer_grant (60 minutes) scoped to the customer's own bookings. Pass customer_grant to get_my_bookings, check_availability(booking_reference), reschedule_booking and cancel_booking.

入力スキーマ

{
  "type": "object",
  "properties": {
    "verification_id": {
      "type": "string",
      "minLength": 28,
      "maxLength": 40,
      "pattern": "^v_[0-9a-z]{26}$"
    },
    "code": {
      "type": "string",
      "minLength": 6,
      "maxLength": 8,
      "pattern": "^\\s*\\d{3}\\s?\\d{3}\\s*$"
    },
    "session_id": {
      "type": "string",
      "minLength": 28,
      "maxLength": 40,
      "pattern": "^as_[0-9a-z]{26}$"
    }
  },
  "required": [
    "verification_id",
    "code"
  ],
  "additionalProperties": false
}
🟢get_my_bookings(booking_reference, customer_grant, session_id)

Lists the verified customer's bookings from the last 90 days (reference, services, time, price, status, whether they can be rescheduled or cancelled). Requires customer_grant or a signed-in customer. Never shows other customers' data.

入力スキーマ

{
  "type": "object",
  "properties": {
    "booking_reference": {
      "type": "string",
      "minLength": 8,
      "maxLength": 20,
      "pattern": "^[A-Za-z0-9\\-]{8,20}$",
      "description": "Optional: one booking instead of the list"
    },
    "customer_grant": {
      "type": "string",
      "minLength": 20,
      "maxLength": 80
    },
    "session_id": {
      "type": "string",
      "minLength": 28,
      "maxLength": 40,
      "pattern": "^as_[0-9a-z]{26}$"
    }
  },
  "additionalProperties": false
}
🔴reschedule_booking(booking_reference, slot_id, idempotency_key, customer_grant, session_id)

Moves the verified customer's booking to a slot_id obtained from check_availability(booking_reference). Cannot change price or services. Ask the customer to confirm the new time before calling. Requires customer_grant or a signed-in customer and an idempotency_key.

入力スキーマ

{
  "type": "object",
  "properties": {
    "booking_reference": {
      "type": "string",
      "minLength": 8,
      "maxLength": 20,
      "pattern": "^[A-Za-z0-9\\-]{8,20}$"
    },
    "slot_id": {
      "type": "string",
      "minLength": 28,
      "maxLength": 40,
      "pattern": "^s_[0-9a-z]{26}$"
    },
    "idempotency_key": {
      "type": "string",
      "minLength": 8,
      "maxLength": 128,
      "pattern": "^[A-Za-z0-9._:\\-]{8,128}$"
    },
    "customer_grant": {
      "type": "string",
      "minLength": 20,
      "maxLength": 80
    },
    "session_id": {
      "type": "string",
      "minLength": 28,
      "maxLength": 40,
      "pattern": "^as_[0-9a-z]{26}$"
    }
  },
  "required": [
    "booking_reference",
    "slot_id",
    "idempotency_key"
  ],
  "additionalProperties": false
}
🔴cancel_booking(booking_reference, reason, idempotency_key, customer_grant, session_id)

Cancels the verified customer's booking. Irreversible - ask the customer to confirm explicitly before calling. Requires customer_grant or a signed-in customer and an idempotency_key.

入力スキーマ

{
  "type": "object",
  "properties": {
    "booking_reference": {
      "type": "string",
      "minLength": 8,
      "maxLength": 20,
      "pattern": "^[A-Za-z0-9\\-]{8,20}$"
    },
    "reason": {
      "type": "string",
      "maxLength": 120,
      "description": "Optional short reason given by the customer"
    },
    "idempotency_key": {
      "type": "string",
      "minLength": 8,
      "maxLength": 128,
      "pattern": "^[A-Za-z0-9._:\\-]{8,128}$"
    },
    "customer_grant": {
      "type": "string",
      "minLength": 20,
      "maxLength": 80
    },
    "session_id": {
      "type": "string",
      "minLength": 28,
      "maxLength": 40,
      "pattern": "^as_[0-9a-z]{26}$"
    }
  },
  "required": [
    "booking_reference",
    "idempotency_key"
  ],
  "additionalProperties": false
}

推奨プロンプト

retrieve_data
Get details about [item] from SzuruSzuru – rezerwacja czyszczenia tapicerki
想定されるツール: get_service_requirements
fetch_info
Fetch [information type] using SzuruSzuru – rezerwacja czyszczenia tapicerki
想定されるツール: get_service_requirements
list_items
List all [items] available in SzuruSzuru – rezerwacja czyszczenia tapicerki
想定されるツール: list_upholstery_services
browse_collection
Show me the [collection] from SzuruSzuru – rezerwacja czyszczenia tapicerki
想定されるツール: list_upholstery_services
explore_workflow
List available [items], then get details for each one using SzuruSzuru – rezerwacja czyszczenia tapicerki
想定されるツール: list_upholstery_servicesget_service_requirements

コミュニティ

このサーバーを評価する

エビデンス

最近の観測

検証済みバージョンは記録されていませんツール 13 件
検証済みバージョンは記録されていませんツール 13 件