Koskamo

Ruislip Appliances MCP

An official Model Context Protocol server for Ruislip Appliances that allows AI agents to search for kitchen and laundry appliances with live prices and stock, check delivery dates, send enquiries, and create shopping baskets with delivery details filled in for the customer to complete payment.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Ruislip Appliances MCP logo, by Ruislip AppliancesVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-01Operated by Ruislip Appliances
You need:Needs a paid ChatGPT plan (Plus, Pro, Business, Enterprise or Edu)
MCP endpoint (Streamable HTTP)
https://www.ruislipappliances.com/mcp
Vendor documentation

What you can do with it

  • Search for appliances with live prices and stock availability
  • Check delivery dates for specific postcodes
  • Send enquiries or reservation requests to the sales team
  • Create a basket with delivery details ready for checkout

Source and maintenance

Vendor evidenceRegistry 1.0.1

Protocol and capabilities

Server
ruislip-appliances-shop 1.0.1
MCP protocol
2025-06-18
Tools
10 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Ruislip Appliances is an independent kitchen and laundry appliance shop in Ruislip, West London (since 1958). Use search_products and get_product to find appliances with live prices (GBP inc VAT) and stock, check_delivery for delivery options and dates to a postcode, and basket_link to hand the customer a filled basket to pay for on our website. send_enquiry reaches our sales team (reservations, delivery slots, questions); use it only with the customer's agreement. Always give the customer the product URL. Phone 01895 633837.

Tools

10 advertised

search_products — Search appliances
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

search_products input schema
{
  "type": "object",
  "properties": {
    "brand": {
      "type": "string",
      "description": "Exact brand from list_brands, e.g. 'Bosch'"
    },
    "limit": {
      "type": "integer",
      "default": 10,
      "maximum": 50,
      "minimum": 1
    },
    "query": {
      "type": "string",
      "description": "Words or a model number, e.g. 'integrated dishwasher', 'Bosch washing machine 9kg', 'WGB256090GB'"
    },
    "condition": {
      "enum": [
        "any",
        "new",
        "graded"
      ],
      "type": "string",
      "default": "any",
      "description": "new, graded (discounted, cosmetic marks only, full warranty) or any"
    },
    "max_price": {
      "type": "number",
      "description": "Maximum price in GBP inc VAT"
    },
    "min_price": {
      "type": "number",
      "description": "Minimum price in GBP inc VAT"
    },
    "department": {
      "type": "string",
      "description": "Exact department name from list_departments, e.g. 'Dishwashers'"
    },
    "in_stock_only": {
      "type": "boolean",
      "description": "Only items in stock in our Ruislip warehouse (fastest delivery)"
    }
  }
}
search_products annotations
{
  "title": "Search appliances",
  "readOnlyHint": true,
  "openWorldHint": false
}
get_product — Product details
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

get_product input schema
{
  "type": "object",
  "required": [
    "model"
  ],
  "properties": {
    "model": {
      "type": "string",
      "description": "Model number, e.g. WGB256090GB"
    }
  }
}
get_product annotations
{
  "title": "Product details",
  "readOnlyHint": true,
  "openWorldHint": false
}
list_departments — List departments
Advertised by the server during the last successful anonymous check.
Advertised read-only

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

list_departments input schema
{
  "type": "object",
  "properties": {}
}
list_departments annotations
{
  "title": "List departments",
  "readOnlyHint": true,
  "openWorldHint": false
}
list_brands — List brands
Advertised by the server during the last successful anonymous check.
Advertised read-only

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

list_brands input schema
{
  "type": "object",
  "properties": {}
}
list_brands annotations
{
  "title": "List brands",
  "readOnlyHint": true,
  "openWorldHint": false
}
check_delivery — Check delivery
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

check_delivery input schema
{
  "type": "object",
  "required": [
    "postcode"
  ],
  "properties": {
    "model": {
      "type": "string",
      "description": "Model number (optional)"
    },
    "postcode": {
      "type": "string",
      "description": "UK postcode, e.g. HA4 8NW"
    }
  }
}
check_delivery annotations
{
  "title": "Check delivery",
  "readOnlyHint": true,
  "openWorldHint": false
}
store_info — Store information
Advertised by the server during the last successful anonymous check.
Advertised read-only

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

store_info input schema
{
  "type": "object",
  "properties": {}
}
store_info annotations
{
  "title": "Store information",
  "readOnlyHint": true,
  "openWorldHint": false
}
send_enquiry — Send an enquiry
Advertised by the server during the last successful anonymous check.
Open-world

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.

send_enquiry input schema
{
  "type": "object",
  "required": [
    "type",
    "name",
    "message"
  ],
  "properties": {
    "name": {
      "type": "string",
      "description": "Customer's name"
    },
    "type": {
      "enum": [
        "Delivery slot",
        "Reserve an appliance",
        "Price or stock question",
        "Installation",
        "Special order",
        "Other"
      ],
      "type": "string"
    },
    "email": {
      "type": "string",
      "description": "Customer's email address"
    },
    "model": {
      "type": "string",
      "description": "Model number the enquiry is about"
    },
    "phone": {
      "type": "string",
      "description": "Customer's UK phone number"
    },
    "message": {
      "type": "string",
      "description": "The question or request"
    },
    "postcode": {
      "type": "string",
      "description": "Delivery postcode"
    },
    "preferred_date": {
      "type": "string",
      "description": "Preferred delivery date, YYYY-MM-DD"
    }
  }
}
send_enquiry annotations
{
  "title": "Send an enquiry",
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
basket_link — Make a basket link
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

basket_link 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"
    }
  }
}
basket_link annotations
{
  "title": "Make a basket link",
  "readOnlyHint": true,
  "openWorldHint": false
}
create_basket — Create a ready-to-pay basket
Advertised by the server during the last successful anonymous check.
Open-world

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.

create_basket input schema
{
  "type": "object",
  "properties": {
    "models": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "maxItems": 10,
      "description": "Model numbers of NEW items"
    },
    "comment": {
      "type": "string",
      "description": "Delivery instructions, e.g. access or parking"
    },
    "customer": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "email": {
          "type": "string"
        },
        "phone": {
          "type": "string"
        },
        "company": {
          "type": "string"
        }
      }
    },
    "delivery": {
      "type": "object",
      "properties": {
        "date": {
          "type": "string",
          "description": "YYYY-MM-DD, one of the dates check_delivery offers"
        },
        "time": {
          "enum": [
            "am",
            "pm"
          ],
          "type": "string"
        },
        "town": {
          "type": "string"
        },
        "county": {
          "type": "string"
        },
        "postcode": {
          "type": "string"
        },
        "address_line1": {
          "type": "string"
        },
        "address_line2": {
          "type": "string"
        },
        "address_line3": {
          "type": "string"
        }
      }
    },
    "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"
    }
  }
}
create_basket annotations
{
  "title": "Create a ready-to-pay basket",
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
get_graded_photos — Graded unit photos
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

get_graded_photos input schema
{
  "type": "object",
  "required": [
    "graded_id"
  ],
  "properties": {
    "graded_id": {
      "type": "integer",
      "description": "graded_id from get_product graded_options"
    },
    "max_photos": {
      "type": "integer",
      "default": 6,
      "maximum": 10,
      "minimum": 1
    }
  }
}
get_graded_photos annotations
{
  "title": "Graded unit photos",
  "readOnlyHint": true,
  "openWorldHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
969 ms
95th percentile latency
969 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 969 ms · metadata changed · 10 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http ruislip-appliances-mcp https://www.ruislipappliances.com/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add ruislip-appliances-mcp --url https://www.ruislipappliances.com/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable ruislip-appliances-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "ruislip-appliances-mcp": {
      "url": "https://www.ruislipappliances.com/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "ruislip-appliances-mcp": {
      "type": "streamableHttp",
      "url": "https://www.ruislipappliances.com/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start ruislip-appliances-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "ruislip-appliances-mcp": {
      "type": "http",
      "url": "https://www.ruislipappliances.com/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http ruislip-appliances-mcp https://www.ruislipappliances.com/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "ruislip-appliances-mcp": {
      "url": "https://www.ruislipappliances.com/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "ruislip-appliances-mcp": {
      "serverUrl": "https://www.ruislipappliances.com/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Ruislip Appliances MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run Ruislip Appliances MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing