Car tyres in Haarlem, NL: search by size, all-in prices, fitting slots, order and pay via Mollie.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Payment and order status of an order placed with place_order (by its reference, e.g. AIR-2026-…). No personal data.
Payment and order status of an order placed with place_order (by its reference, e.g. AIR-2026-…). No personal data.
| Argument | Type | Description |
|---|---|---|
| ref* | string |
{
"type": "object",
"required": [
"ref"
],
"properties": {
"ref": {
"type": "string"
}
},
"additionalProperties": false
}The exact total for these tyres and options, line by line, exactly what the payment page will charge. Checks stock and fitting capacity. Does not order, reserve, email or charge anything.
| Argument | Type | Description |
|---|---|---|
| tpms | boolean | With fitting only: the car has tyre pressure sensors (TPMS). Adds the sensor surcharge. |
| items* | array | Tyres to order: the slug from search_tyres and how many. At most 4 products and 8 tyres per order. |
| locale | string | Language of the payment page, the order page and the emails. Default nl. |
| fitting | object | Optional: have the tyres fitted and balanced at the workshop (pickup only). Pick a day from list_fitting_days. |
| delivery* | string | pickup = collect at the workshop in Haarlem (free); delivery = shipped to an address in the Netherlands (fee from get_shop_info). |
{
"type": "object",
"required": [
"items",
"delivery"
],
"properties": {
"tpms": {
"type": "boolean",
"description": "With fitting only: the car has tyre pressure sensors (TPMS). Adds the sensor surcharge."
},
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"slug",
"qty"
],
"properties": {
"qty": {
"type": "integer",
"maximum": 8,
"minimum": 1
},
"slug": {
"type": "string",
"description": "Product slug from search_tyres."
}
},
"additionalProperties": false
},
"maxItems": 4,
"minItems": 1,
"description": "Tyres to order: the slug from search_tyres and how many. At most 4 products and 8 tyres per order."
},
"locale": {
"enum": [
"nl",
"en",
"de",
"fr",
"es",
"it",
"sv"
],
"type": "string",
"description": "Language of the payment page, the order page and the emails. Default nl."
},
"fitting": {
"type": "object",
"required": [
"day",
"part"
],
"properties": {
"day": {
"type": "string",
"description": "YYYY-MM-DD, from list_fitting_days."
},
"part": {
"enum": [
"morning",
"afternoon"
],
"type": "string"
}
},
"description": "Optional: have the tyres fitted and balanced at the workshop (pickup only). Pick a day from list_fitting_days.",
"additionalProperties": false
},
"delivery": {
"enum": [
"pickup",
"delivery"
],
"type": "string",
"description": "pickup = collect at the workshop in Haarlem (free); delivery = shipped to an address in the Netherlands (fee from get_shop_info)."
}
},
"additionalProperties": false
}Address, opening hours, phone, delivery fee, fitting price per tyre, payment methods and links to the Terms and privacy policy. No side effects.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Workshop days that still have room for fitting, in the next 4 weeks. Set supplierItems when any chosen tyre is not in stock at the shop (they need a few working days to arrive). No side effects.
| Argument | Type | Description |
|---|---|---|
| supplierItems | boolean |
{
"type": "object",
"properties": {
"supplierItems": {
"type": "boolean"
}
},
"additionalProperties": false
}Creates the order and returns a Mollie checkoutUrl for the customer. Call ONLY after the customer has seen the get_quote lines and total, approved them, and accepted the Terms (https://www.airbandenservice.com/nl/algemene-voorwaarden) themselves. Send the same items and options as the quote, the customer's details and expectedTotalCents from the quote. Nothing is ordered until the customer pays; an unpaid order expires after about 15 minutes. Repeating the identical call returns the same order.
| Argument | Type | Description |
|---|---|---|
| tpms | boolean | With fitting only: the car has tyre pressure sensors (TPMS). Adds the sensor surcharge. |
| items* | array | Tyres to order: the slug from search_tyres and how many. At most 4 products and 8 tyres per order. |
| locale | string | Language of the payment page, the order page and the emails. Default nl. |
| fitting | object | Optional: have the tyres fitted and balanced at the workshop (pickup only). Pick a day from list_fitting_days. |
| customer* | object | The customer's own details, as they gave them. |
| delivery* | string | pickup = collect at the workshop in Haarlem (free); delivery = shipped to an address in the Netherlands (fee from get_shop_info). |
| acceptedTerms* |
Tyres for sale, filtered by size (e.g. 205/55R16), season and brand. Returns the all-in price per tyre (incl. VAT and disposal fee), whether it can be ordered now and how fast it is available. No side effects.
| Argument | Type | Description |
|---|---|---|
| size | string | Tyre size as on the sidewall, e.g. 205/55R16 or 195/65R15. |
| brand | string | |
| season | string | |
| orderableOnly | boolean | Default true. |
{
"type": "object",
"properties": {
"size": {
"type": "string",
"description": "Tyre size as on the sidewall, e.g. 205/55R16 or 195/65R15."
},
"brand": {
"type": "string"
},
"season": {
"enum": [
"summer",
"winter",
"all_season"
],
"type": "string"
},
"orderableOnly": {
"type": "boolean",
"description": "Default true."
}
},
"additionalProperties": false
}| boolean |
| true only when the customer has accepted the Terms themselves. |
| expectedTotalCents* | integer | totalCents from get_quote. A different current total is refused, so the customer never pays more than they approved. |
{
"type": "object",
"required": [
"items",
"delivery",
"customer",
"expectedTotalCents",
"acceptedTerms"
],
"properties": {
"tpms": {
"type": "boolean",
"description": "With fitting only: the car has tyre pressure sensors (TPMS). Adds the sensor surcharge."
},
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"slug",
"qty"
],
"properties": {
"qty": {
"type": "integer",
"maximum": 8,
"minimum": 1
},
"slug": {
"type": "string",
"description": "Product slug from search_tyres."
}
},
"additionalProperties": false
},
"maxItems": 4,
"minItems": 1,
"description": "Tyres to order: the slug from search_tyres and how many. At most 4 products and 8 tyres per order."
},
"locale": {
"enum": [
"nl",
"en",
"de",
"fr",
"es",
"it",
"sv"
],
"type": "string",
"description": "Language of the payment page, the order page and the emails. Default nl."
},
"fitting": {
"type": "object",
"required": [
"day",
"part"
],
"properties": {
"day": {
"type": "string",
"description": "YYYY-MM-DD, from list_fitting_days."
},
"part": {
"enum": [
"morning",
"afternoon"
],
"type": "string"
}
},
"description": "Optional: have the tyres fitted and balanced at the workshop (pickup only). Pick a day from list_fitting_days.",
"additionalProperties": false
},
"customer": {
"type": "object",
"required": [
"name",
"email"
],
"properties": {
"name": {
"type": "string",
"maxLength": 100,
"minLength": 2
},
"email": {
"type": "string",
"description": "Receives the order confirmation and the receipt after payment."
},
"phone": {
"type": "string",
"description": "Optional, for questions about the order, e.g. 06 12345678 or +31 6 12345678."
},
"address": {
"type": "string",
"description": "Required for delivery and for a business order: street, house number, postcode and city in the Netherlands."
},
"postcode": {
"type": "string",
"description": "Dutch postcode, e.g. 2031 CV (optional when the address contains it)."
},
"companyName": {
"type": "string",
"description": "Only for a business invoice."
},
"companyVatId": {
"type": "string",
"description": "Only for a business invoice, e.g. NL123456789B01."
},
"licensePlate": {
"type": "string",
"description": "Dutch licence plate. Required with fitting."
}
},
"description": "The customer's own details, as they gave them.",
"additionalProperties": false
},
"delivery": {
"enum": [
"pickup",
"delivery"
],
"type": "string",
"description": "pickup = collect at the workshop in Haarlem (free); delivery = shipped to an address in the Netherlands (fee from get_shop_info)."
},
"acceptedTerms": {
"type": "boolean",
"description": "true only when the customer has accepted the Terms themselves."
},
"expectedTotalCents": {
"type": "integer",
"description": "totalCents from get_quote. A different current total is refused, so the customer never pays more than they approved."
}
},
"additionalProperties": false
}