Ruislip Appliances

UK appliance shop: live prices, stock and graded deals, delivery dates, enquiries, baskets.

Should I use this

Quality & Safety

A
Description quality
88%
Schema completeness
74%
Naming quality
96%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (2)

  • LOWTool 'list_departments' description lacks action verbin list_departments
  • LOWTool 'list_brands' description lacks action verbin list_brands

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,810Tokens (tool definitions)
~1.1 KBTypical response size
Moderate attention impact (1.41% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "shop": {
      "url": "https://www.ruislipappliances.com/mcp"
    }
  }
}

Remote endpoints

https://www.ruislipappliances.com/mcpstreamable-http

What it can do

Tool inventory

Tools (10)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢search_products(query, department, brand, max_price, min_price, ...)

Search the appliances Ruislip Appliances (West London) sells: washing machines, dishwashers, fridge freezers, ovens, hobs, cookers, hoods and more from Bosch, Neff, Siemens, Miele, Smeg, Liebherr, AEG, Samsung and others. Returns model, name, price in GBP inc VAT, availability (in_stock, special_order or graded_only), graded units and graded_from_gbp where discounted graded stock exists, and the product page URL.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Words or a model number, e.g. 'integrated dishwasher', 'Bosch washing machine 9kg', 'WGB256090GB'"
    },
    "department": {
      "type": "string",
      "description": "Exact department name from list_departments, e.g. 'Dishwashers'"
    },
    "brand": {
      "type": "string",
      "description": "Exact brand from list_brands, e.g. 'Bosch'"
    },
    "max_price": {
      "type": "number",
      "description": "Maximum price in GBP inc VAT"
    },
    "min_price": {
      "type": "number",
      "description": "Minimum price in GBP inc VAT"
    },
    "in_stock_only": {
      "type": "boolean",
      "description": "Only items in stock in our Ruislip warehouse (fastest delivery)"
    },
    "condition": {
      "type": "string",
      "enum": [
        "any",
        "new",
        "graded"
      ],
      "default": "any",
      "description": "new, graded (discounted, cosmetic marks only, full warranty) or any"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50,
      "default": 10
    }
  }
}
🟢get_product(model)

Full details of one appliance by model number: price, was-price, availability and stock, expected date if on order, description, highlights, specification (dimensions, energy rating...), images, product page, a basket link if it can be bought online, and graded_options: individual discounted graded units with grade, condition notes, price, saving and their own basket link.

Input Schema

{
  "type": "object",
  "properties": {
    "model": {
      "type": "string",
      "description": "Model number, e.g. WGB256090GB"
    }
  },
  "required": [
    "model"
  ]
}
🟢list_departments

The departments (appliance types) we sell, with the number of products in each.

Input Schema

{
  "type": "object",
  "properties": {}
}
🟢list_brands

The brands we sell, with the number of products of each.

Input Schema

{
  "type": "object",
  "properties": {}
}
🟢check_delivery(postcode, model)

Can we deliver to a UK postcode, how, and on which dates. Pass the model to get dates that allow for the item's stock. Returns own_team (London and the South East), palletline_kerbside (rest of mainland Great Britain, with charge) or not_available, with available dates.

Input Schema

{
  "type": "object",
  "properties": {
    "postcode": {
      "type": "string",
      "description": "UK postcode, e.g. HA4 8NW"
    },
    "model": {
      "type": "string",
      "description": "Model number (optional)"
    }
  },
  "required": [
    "postcode"
  ]
}
🟢store_info

Shop address, phone, opening hours, delivery, returns, graded stock, price match and how to buy.

Input Schema

{
  "type": "object",
  "properties": {}
}
🟡send_enquiry(type, name, phone, email, postcode, ...)

Send an enquiry to the Ruislip Appliances sales team on the customer's behalf: reserve an appliance, ask for a delivery slot, a price or stock question, installation or a special order. Only use with the customer's agreement and their real contact details. Needs a name and a phone number or email. The team replies during opening hours.

Input Schema

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "enum": [
        "Delivery slot",
        "Reserve an appliance",
        "Price or stock question",
        "Installation",
        "Special order",
        "Other"
      ]
    },
    "name": {
      "type": "string",
      "description": "Customer's name"
    },
    "phone": {
      "type": "string",
      "description": "Customer's UK phone number"
    },
    "email": {
      "type": "string",
      "description": "Customer's email address"
    },
    "postcode": {
      "type": "string",
      "description": "Delivery postcode"
    },
    "model": {
      "type": "string",
      "description": "Model number the enquiry is about"
    },
    "preferred_date": {
      "type": "string",
      "description": "Preferred delivery date, YYYY-MM-DD"
    },
    "message": {
      "type": "string",
      "description": "The question or request"
    }
  },
  "required": [
    "type",
    "name",
    "message"
  ]
}
🟢basket_link(models, graded_ids, condition_shown_to_customer)

Make a link to our website's basket with these appliances already in it: new items by model number, and/or specific graded units by graded_id (at their graded price). The customer opens it, enters their address, chooses a delivery date and pays on our site. Nothing is ordered or paid until the customer does that. For graded units you must first show the customer the grade and condition notes and offer the photos (get_graded_photos), then set condition_shown_to_customer.

Input Schema

{
  "type": "object",
  "properties": {
    "models": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "maxItems": 10,
      "description": "Model numbers of NEW items to put in the basket"
    },
    "graded_ids": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "maxItems": 10,
      "description": "graded_id of specific GRADED units (from get_product graded_options)"
    },
    "condition_shown_to_customer": {
      "type": "boolean",
      "description": "Required true when graded_ids is used: the customer has seen each graded unit's grade and condition notes and been offered the photos"
    }
  }
}
🟡create_basket(models, graded_ids, condition_shown_to_customer, customer, delivery, ...)

Create a shared basket with the items AND the customer's contact and delivery details (and delivery date), and get a link. The customer opens it on any device, lands on our checkout with everything filled in, reviews it and pays. Use check_delivery first for valid dates. For graded units the same rule as basket_link applies: show grade, condition notes and photos first, then set condition_shown_to_customer. Only use the customer's real details, with their agreement.

Input Schema

{
  "type": "object",
  "properties": {
    "models": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "maxItems": 10,
      "description": "Model numbers of NEW items"
    },
    "graded_ids": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "maxItems": 10,
      "description": "graded_id of specific GRADED units"
    },
    "condition_shown_to_customer": {
      "type": "boolean",
      "description": "Required true when graded_ids is used"
    },
    "customer": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "email": {
          "type": "string"
        },
        "phone": {
          "type": "string"
        },
        "company": {
          "type": "string"
        }
      }
    },
    "delivery": {
      "type": "object",
      "properties": {
        "address_line1": {
          "type": "string"
        },
        "address_line2": {
          "type": "string"
        },
        "address_line3": {
          "type": "string"
        },
        "town": {
          "type": "string"
        },
        "county": {
          "type": "string"
        },
        "postcode": {
          "type": "string"
        },
        "date": {
          "type": "string",
          "description": "YYYY-MM-DD, one of the dates check_delivery offers"
        },
        "time": {
          "type": "string",
          "enum": [
            "am",
            "pm"
          ]
        }
      }
    },
    "comment": {
      "type": "string",
      "description": "Delivery instructions, e.g. access or parking"
    }
  }
}
🟢get_graded_photos(graded_id, max_photos)

Photos of one graded unit's cosmetic condition (marks, dents, scratches), returned as images you can look at and show the customer, with the grade and condition notes. Use before putting a graded unit in a basket.

Input Schema

{
  "type": "object",
  "properties": {
    "graded_id": {
      "type": "integer",
      "description": "graded_id from get_product graded_options"
    },
    "max_photos": {
      "type": "integer",
      "minimum": 1,
      "maximum": 10,
      "default": 6
    }
  },
  "required": [
    "graded_id"
  ]
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded10 tools