{"apiVersion":"v1","directorySlug":"dekkfix-mcp-084ba91eec","title":"Dekkfix","description":"Dekkfix tilbyr profesjonelle dekktjenester levert dit bilen din befinner seg. Trygt, enkelt og pålitelig. Dekkhotell, hjulskift og kjøp av dekk har aldri vært enklere.","pageUrl":"https://www.mcpbundles.com/skills/dekkfix-mcp-084ba91eec","connectPath":"importable","connectAction":"import_server","catalogListing":false,"bundleSlug":null,"listingKind":"remote_mcp","kind":"provider","transportUrl":"https://mcp.dekkfix.no/mcp","hostedMcpUrl":null,"toolCount":32,"toolInventoryStatus":"observed","refreshedAt":"2026-11-03T13:26:00.516172+00:00","registryName":"no.dekkfix/dekkfix-mcp-084ba91eec","registryVersion":"2026.11.3","registryEligible":true,"tools":[{"name":"help","description":"Get a guide to all capabilities of this MCP server. Returns available tool domains, workflows, and tips. Call this first to understand what you can do.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"title":"Help and discovery","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"help","displayName":"Help and discovery"},{"name":"login_sms_send","description":"Send an SMS with a verification code to the phone number for login. Call this first; then have the user submit the code via login_phone_code_exchange. Rate limited per phone.","inputSchema":{"type":"object","required":["phone_number"],"properties":{"force_send":{"type":"boolean","default":false},"phone_number":{"type":"string"}},"additionalProperties":false},"title":"Send login SMS","logicalName":"login_sms_send","displayName":"Send login SMS","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"login_phone_code_exchange","description":"Exchange phone number and SMS verification code for a login token. Use the code received after login_sms_send. Returns token and user, or user=None and token=None if no account exists for that phone.","inputSchema":{"type":"object","required":["phone_number","code"],"properties":{"code":{"type":"string"},"phone_number":{"type":"string"}},"additionalProperties":false},"title":"Login with phone and code","logicalName":"login_phone_code_exchange","displayName":"Login with phone and code","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"booking_request_collect","description":"Return the schema of fields required to make a booking. Ask the user for each field, then call booking_create_from_intent (one-shot) or customer_lookup + address_list + sales_item_options_for_booking + earliest_booking_date_get + delivery_window_get + booking_create (step-by-step).","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"title":"Collect booking request","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"booking_request_collect","displayName":"Collect booking request"},{"name":"booking_list","description":"List bookings for a customer's user group. Use user_group_id from customer_lookup (user_groups[].id). Requires login: call login_sms_send then login_phone_code_exchange and pass the token.","inputSchema":{"type":"object","required":["user_group_id"],"properties":{"page_size":{"type":"integer","default":20},"auth_token":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"page_index":{"type":"integer","default":0},"user_group_id":{"type":"integer"}},"additionalProperties":false},"title":"List customer bookings","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"booking_list","displayName":"List customer bookings"},{"name":"booking_create","description":"Create a new booking. Requires login: call login_sms_send then login_phone_code_exchange and pass the token. Also needs user_id and user_group_id from customer_lookup, address_id, delivery window (id + starts_at/ends_at from delivery_window_get), and cars (list of {license_plate: {number, country_code}, selected_sales_item_ids: [int]} from sales_item_options_for_booking).","inputSchema":{"type":"object","required":["user_id","user_group_id","address_id","delivery_window_id","delivery_window_starts_at","delivery_window_ends_at","cars"],"properties":{"cars":{"type":"array","items":{"type":"object","required":["license_plate","selected_sales_item_ids"],"properties":{"license_plate":{"type":"object","required":["number"],"properties":{"number":{"type":"string"},"country_code":{"enum":["NO","SE","DE"],"type":"string","default":"NO"}}},"selected_sales_item_ids":{"type":"array","items":{"type":"integer"}}}}},"user_id":{"type":"integer"},"address_id":{"type":"integer"},"auth_token":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"comments_user":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"user_group_id":{"type":"integer"},"delivery_window_id":{"type":"integer"},"delivery_window_ends_at":{"type":"string"},"delivery_window_starts_at":{"type":"string"}},"additionalProperties":false},"title":"Create booking","logicalName":"booking_create","displayName":"Create booking","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"booking_update","description":"Update an existing booking. Requires login: call login_sms_send then login_phone_code_exchange and pass the token. Provide only fields to change. For reschedule: get new slots with delivery_window_get, then pass delivery_window_id and delivery_window_starts_at/ends_at (ISO 8601).","inputSchema":{"type":"object","required":["booking_id"],"properties":{"cars":{"anyOf":[{"type":"array","items":{"type":"object","required":["license_plate","selected_sales_item_ids"],"properties":{"license_plate":{"type":"object","required":["number"],"properties":{"number":{"type":"string"},"country_code":{"enum":["NO","SE","DE"],"type":"string","default":"NO"}}},"selected_sales_item_ids":{"type":"array","items":{"type":"integer"}}}}},{"type":"null"}],"default":null},"address_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null},"auth_token":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"booking_id":{"type":"integer"},"comments_user":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"delivery_window_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null},"delivery_window_ends_at":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"delivery_window_starts_at":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null}},"additionalProperties":false},"title":"Update booking","logicalName":"booking_update","displayName":"Update booking","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"booking_reschedule","description":"Reschedule a booking to a new delivery window. Get candidate windows with delivery_window_get, then pass the chosen window's id + starts_at/ends_at (ISO 8601). Convenience wrapper over booking_update for the common reschedule edit; does not touch cars or services.","inputSchema":{"type":"object","required":["booking_id","delivery_window_id","delivery_window_starts_at","delivery_window_ends_at"],"properties":{"auth_token":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"booking_id":{"type":"integer"},"delivery_window_id":{"type":"integer"},"delivery_window_ends_at":{"type":"string"},"delivery_window_starts_at":{"type":"string"}},"additionalProperties":false},"title":"Reschedule booking","logicalName":"booking_reschedule","displayName":"Reschedule booking","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"booking_cancel","description":"Cancel a booking. Requires login: call login_sms_send then login_phone_code_exchange and pass the token. Always confirm with the customer before calling.","inputSchema":{"type":"object","required":["booking_id"],"properties":{"auth_token":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"booking_id":{"type":"integer"},"notify_customer":{"type":"boolean","default":true}},"additionalProperties":false},"title":"Cancel booking","logicalName":"booking_cancel","displayName":"Cancel booking","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"car_find","description":"Find a customer's car by free-text query (make, model, or plate) within a user group. Use when the customer refers to a car by name ('my Tesla') instead of listing every car with car_list and matching yourself. Returns the matching cars.","inputSchema":{"type":"object","required":["query","user_group_id"],"properties":{"query":{"type":"string"},"auth_token":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"user_group_id":{"type":"integer"}},"additionalProperties":false},"title":"Find car","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"car_find","displayName":"Find car"},{"name":"session_status","description":"Check the current login session: am I authenticated, as whom, and in which user groups (with the selected/default group). Cheap whoami; call it to distinguish an expired token from a permissions error before other calls. Returns is_logged_in=false instead of an error when no valid token is present.","inputSchema":{"type":"object","properties":{"auth_token":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null}},"additionalProperties":false},"title":"Session status","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"session_status","displayName":"Session status"},{"name":"order_payment_status_get","description":"Get payment status and the pay link for an order by its id. Use after creating a pay-before booking (the order id is on the created booking): give the customer 'payment_page_url' to pay in a browser (card entry cannot happen in chat), then call this again to check 'is_awaiting_payment'. The booking confirms automatically once payment is captured. Requires login (the caller must own the order).","inputSchema":{"type":"object","required":["order_id"],"properties":{"order_id":{"type":"integer"},"auth_token":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null}},"additionalProperties":false},"title":"Get order payment status","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"order_payment_status_get","displayName":"Get order payment status"},{"name":"stationary_garage_list","description":"List stationary garages (service centers) a customer can bring the car to, with near-term bookable capacity. Returns garage_id and service_department_id used by the other stationary tools, plus is_bookable and earliest_start. Use for at-station bookings; for service delivered to the customer's address use the mobile flow (delivery_window_get). The brand comes from the host on public brand mounts. An empty list comes back with a note: the brand runs no at-station sites, which is normal -- it does","inputSchema":{"type":"object","properties":{"with_capacity":{"type":"boolean","default":true},"lookahead_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null}},"additionalProperties":false},"title":"List stationary garages","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"stationary_garage_list","displayName":"List stationary garages"},{"name":"stationary_bookable_service_list","description":"List bookable services for a STATIONARY booking at a service department, with per-customer prices and the sales_item_ids to pass to stationary_slot_list / booking_create_at_station. license_plate_number is required for adapter-backed (e.g. EonTyre) departments.","inputSchema":{"type":"object","required":["service_department_id"],"properties":{"user_group_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null},"license_plate_number":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"service_department_id":{"type":"integer"}},"additionalProperties":false},"title":"List stationary bookable services","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"stationary_bookable_service_list","displayName":"List stationary bookable services"},{"name":"stationary_slot_list","description":"List available stationary time slots at a garage within a date range (YYYY-MM-DD). Each slot has start, end and workstation_id; pass a chosen slot's values to stationary_slot_reserve and booking_create_at_station. sales_item_ids set the slot length.","inputSchema":{"type":"object","required":["garage_id","date_from","date_to"],"properties":{"date_to":{"type":"string"},"date_from":{"type":"string"},"garage_id":{"type":"integer"},"sales_item_ids":{"anyOf":[{"type":"array","items":{"type":"integer"}},{"type":"null"}],"default":null}},"additionalProperties":false},"title":"List stationary slots","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"stationary_slot_list","displayName":"List stationary slots"},{"name":"stationary_slot_reserve","description":"Reserve a stationary capacity slot at a garage (short-lived hold, ~10 min) while the booking is completed. start/end are ISO 8601 from a stationary_slot_list slot. Returns slot_id, reserved_until and, for adapter-backed garages, a reservation ticket/secret to pass to booking_create_at_station.","inputSchema":{"type":"object","required":["garage_id","start","end"],"properties":{"end":{"type":"string"},"start":{"type":"string"},"garage_id":{"type":"integer"},"sales_item_ids":{"anyOf":[{"type":"array","items":{"type":"integer"}},{"type":"null"}],"default":null}},"additionalProperties":false},"title":"Reserve stationary slot","logicalName":"stationary_slot_reserve","displayName":"Reserve stationary slot","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"stationary_slot_reservation_cancel","description":"Cancel a stationary slot reservation created by stationary_slot_reserve so the time is freed. Idempotent. Pass reservation_ticket/secret when known for adapter-backed garages.","inputSchema":{"type":"object","required":["slot_id"],"properties":{"slot_id":{"type":"integer"},"reservation_secret":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"reservation_ticket":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null}},"additionalProperties":false},"title":"Cancel stationary slot reservation","logicalName":"stationary_slot_reservation_cancel","displayName":"Cancel stationary slot reservation","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"booking_create_at_station","description":"Create a stationary booking where the customer brings the car to a fixed garage. Requires login (login_sms_send + login_phone_code_exchange). Needs user_id and user_group_id (customer_lookup), workstation_id + starts_at/ends_at (from a reserved stationary_slot_list slot), and cars ({license_plate: {number, country_code}, selected_sales_item_ids: [int]}). Defaults to pay-after; pass payment_method='PAY_BEFORE' to require payment first, then use order_payment_status_get for the pay link.","inputSchema":{"type":"object","required":["user_id","user_group_id","workstation_id","starts_at","ends_at","cars"],"properties":{"cars":{"type":"array","items":{"type":"object","required":["license_plate","selected_sales_item_ids"],"properties":{"license_plate":{"type":"object","required":["number"],"properties":{"number":{"type":"string"},"country_code":{"enum":["NO","SE","DE"],"type":"string","default":"NO"}}},"selected_sales_item_ids":{"type":"array","items":{"type":"integer"}}}}},"ends_at":{"type":"string"},"user_id":{"type":"integer"},"starts_at":{"type":"string"},"auth_token":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"comments_user":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"user_group_id":{"type":"integer"},"payment_method":{"type":"string","default":"PAY_AFTER"},"workstation_id":{"type":"integer"},"reservation_secret":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"reservation_ticket":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null}},"additionalProperties":false},"title":"Create booking at station","logicalName":"booking_create_at_station","displayName":"Create booking at station","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"customer_lookup","description":"Look up the authenticated customer. Returns user info, user groups, booking summaries, and addresses. Requires auth_token from login_phone_code_exchange (call login_sms_send first, then have the user submit the SMS code).","inputSchema":{"type":"object","properties":{"auth_token":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null}},"additionalProperties":false},"title":"Lookup customer","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"customer_lookup","displayName":"Lookup customer"},{"name":"address_list","description":"List addresses available for new booking for a customer's user group. Use user_group_id from customer_lookup (user_groups[].id). Requires auth_token from login_phone_code_exchange.","inputSchema":{"type":"object","required":["user_group_id"],"properties":{"auth_token":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"user_group_id":{"type":"integer"}},"additionalProperties":false},"title":"List customer addresses","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"address_list","displayName":"List customer addresses"},{"name":"car_list","description":"List cars registered to the customer's user group for booking. Use user_group_id from customer_lookup. Requires auth_token from login_phone_code_exchange.","inputSchema":{"type":"object","required":["user_group_id"],"properties":{"auth_token":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"user_group_id":{"type":"integer"}},"additionalProperties":false},"title":"List customer cars","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"car_list","displayName":"List customer cars"},{"name":"user_group_lookup","description":"Get details for a specific user group by ID. Use user_group_id from customer_lookup (user_groups[].id). Requires auth_token from login_phone_code_exchange.","inputSchema":{"type":"object","required":["user_group_id"],"properties":{"auth_token":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"user_group_id":{"type":"integer"}},"additionalProperties":false},"title":"Get user group details","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"user_group_lookup","displayName":"Get user group details"},{"name":"car_lookup","description":"Look up car details from a license plate. Returns make, model, first registration date and EU control dates. Use before creating a booking.","inputSchema":{"type":"object","required":["license_plate"],"properties":{"country_code":{"enum":["NO","SE","DE"],"type":"string","default":"NO"},"license_plate":{"type":"string"}},"additionalProperties":false},"title":"Lookup car by plate","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"car_lookup","displayName":"Lookup car by plate"},{"name":"address_search_or_create","description":"Search address suggestions from free-text and create a usable booking address. Returns address_id for downstream booking tools, plus the remaining suggestions. When the query did not match a suggestion exactly the response sets ambiguous=true: confirm the address with the customer before booking against it.","inputSchema":{"type":"object","required":["address_query"],"properties":{"address_query":{"type":"string"},"country_codes":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"default":null}},"additionalProperties":false},"title":"Search or create address","logicalName":"address_search_or_create","displayName":"Search or create address","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"sales_item_options_for_booking","description":"Return directly selectable sales item options and selected_sales_item_ids for booking_create.","inputSchema":{"type":"object","required":["address_id","license_plate"],"properties":{"address_id":{"type":"integer"},"country_code":{"enum":["NO","SE","DE"],"type":"string","default":"NO"},"license_plate":{"type":"string"},"user_group_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null}},"additionalProperties":false},"title":"Sales item options for booking","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"sales_item_options_for_booking","displayName":"Sales item options for booking"},{"name":"booking_quote_context_get","description":"Single-call booking context: resolve address, lookup car, fetch selectable sales item IDs, earliest date, and delivery windows. delivery_windows is already filtered to bookable windows; identify a window by id AND starts_at, because the backend reuses delivery_window_id across dates.","inputSchema":{"type":"object","required":["address_query","license_plate"],"properties":{"country_code":{"enum":["NO","SE","DE"],"type":"string","default":"NO"},"address_query":{"type":"string"},"license_plate":{"type":"string"},"user_group_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null},"preferred_date":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null}},"additionalProperties":false},"title":"Get booking quote context","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"booking_quote_context_get","displayName":"Get booking quote context"},{"name":"booking_create_from_intent","description":"Create booking from high-level intent (phone login token + address text + plate + preference). Silently infers address, service IDs and delivery window, then calls booking_create -- convenient but a lot of unchecked inference for a paid appointment. Prefer dry_run=true first to return the resolved plan for the customer to confirm, then call again with dry_run=false. For step-by-step control use the explicit chain (address_search_or_create -> sales_item_options_for_booking -> delivery_window_get","inputSchema":{"type":"object","properties":{"dry_run":{"type":"boolean","default":false},"auth_token":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"country_code":{"enum":["NO","SE","DE"],"type":"string","default":"NO"},"address_query":{"type":"string","default":""},"comments_user":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"license_plate":{"type":"string","default":""},"user_group_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null},"preferred_date":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"preferred_time_slot":{"enum":["morning","afternoon","evening"],"type":"string","default":"afternoon"}},"additionalProperties":false},"title":"Create booking from intent","logicalName":"booking_create_from_intent","displayName":"Create booking from intent","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"delivery_window_get","description":"Get available delivery time slots. Use for both new bookings and rescheduling. Requires address_id, a date range, and at least one sales_item_id from sales_item_options_for_booking. Dates accept YYYY-MM-DD or relative forms ('today', 'tomorrow', '+7d') and resolve in the address timezone (Europe/Oslo). When no windows exist in the requested range, the response includes suggested_available_windows (windows in an extended range) so the user can choose from valid options.","inputSchema":{"type":"object","required":["address_id","from_date","to_date","selected_sales_item_ids"],"properties":{"to_date":{"type":"string"},"from_date":{"type":"string"},"address_id":{"type":"integer"},"selected_sales_item_ids":{"type":"array","items":{"type":"integer"}}},"additionalProperties":false},"title":"Get delivery windows","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"delivery_window_get","displayName":"Get delivery windows"},{"name":"sales_item_list","description":"List which service CATEGORIES (e.g. wheel_services) and brands are available at an address. Despite the name it returns no sales item IDs and no prices -- use sales_item_options_for_booking for the IDs that booking_create and delivery_window_get need. Prefer service_availability_check, which resolves a free-text address and returns the same categories.","inputSchema":{"type":"object","required":["address_id"],"properties":{"address_id":{"type":"integer"}},"additionalProperties":false},"title":"List available services","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"sales_item_list","displayName":"List available services"},{"name":"service_availability_check","description":"Check what services are available at a location. Provide either an address_id (if already known) or an address_query (street name, city, or area) to search. Returns available service categories with descriptions and whether the location is in a delivery area. If the address is outside our delivery area, ask the user if they want to be notified when we expand to their area.","inputSchema":{"type":"object","properties":{"address_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null},"address_query":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"country_codes":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"default":null}},"additionalProperties":false},"title":"Check service availability","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"service_availability_check","displayName":"Check service availability"},{"name":"earliest_booking_date_get","description":"Get the earliest date a booking can be made at an address. Requires address_id and cars (list of {license_plate: {number, country_code}, selected_sales_item_ids: [int]}). Use to answer 'when is the earliest I can book?' without guessing from_date/to_date for delivery_window_get.","inputSchema":{"type":"object","required":["address_id","cars"],"properties":{"cars":{"type":"array","items":{"type":"object","required":["license_plate","selected_sales_item_ids"],"properties":{"license_plate":{"type":"object","required":["number"],"properties":{"number":{"type":"string"},"country_code":{"enum":["NO","SE","DE"],"type":"string","default":"NO"}}},"selected_sales_item_ids":{"type":"array","items":{"type":"integer"}}}}},"address_id":{"type":"integer"}},"additionalProperties":false},"title":"Get earliest booking date","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"earliest_booking_date_get","displayName":"Get earliest booking date"},{"name":"wheel_storage_status_get","description":"Get tire hotel / wheel storage status for a customer. Returns stored wheel sets, car info, storage contracts, and upcoming bookings. Use this during the booking flow to check if the customer has wheels in storage -- if they do and no upcoming renewal booking exists, suggest adding a wheel storage renewal (WHEEL_STORAGE_RENEW) sales item to their booking. Requires login.","inputSchema":{"type":"object","required":["user_group_id"],"properties":{"auth_token":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"user_group_id":{"type":"integer"},"license_plate_number":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"license_plate_country_code":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null}},"additionalProperties":false},"title":"Get tire hotel status","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"wheel_storage_status_get","displayName":"Get tire hotel status"}],"toolSource":"directory_preview","agentAction":"both","installLinks":[{"id":"cursor","label":"Cursor","href":"cursor://anysphere.cursor-deeplink/mcp/install?name=Dekkfix&config=eyJ1cmwiOiAiaHR0cHM6Ly9tY3AuZGVra2ZpeC5uby9tY3AifQ%3D%3D"},{"id":"vscode","label":"VS Code","href":"vscode:mcp/install?%7B%22name%22%3A%22Dekkfix%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.dekkfix.no%2Fmcp%22%7D"},{"id":"vscode-insiders","label":"VS Code Insiders","href":"vscode-insiders:mcp/install?%7B%22name%22%3A%22Dekkfix%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.dekkfix.no%2Fmcp%22%7D"},{"id":"claude-web","label":"Claude.ai","href":"https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=Dekkfix&connectorUrl=https%3A%2F%2Fmcp.dekkfix.no%2Fmcp"},{"id":"codex","label":"Codex","copyText":"codex mcp add \"Dekkfix\" --url \"https://mcp.dekkfix.no/mcp\""},{"id":"chatgpt","label":"ChatGPT","href":"https://www.mcpbundles.com/docs/integrations/chatgpt"}],"catalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/dekkfix-mcp-084ba91eec","callUrl":"https://www.mcpbundles.com/api/directory/v1/servers/dekkfix-mcp-084ba91eec/tools/{tool}","mcpServerUrl":"https://mcp.dekkfix.no/mcp","liveCatalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/dekkfix-mcp-084ba91eec?live=1"}