{
  "$schema": "https://static.modelcontextprotocol.io/schemas/v1/server-card.schema.json",
  "name": "gcwindowandpressurecleaning.com.au/gold-coast-window-and-pressure-cleaning",
  "title": "Gold Coast Window and Pressure Cleaning",
  "description": "Read-only exterior-cleaning tools: services, service area, page markdown and real price estimates.",
  "version": "1.0.0",
  "websiteUrl": "https://gcwindowandpressurecleaning.com.au/",
  "icons": [
    {
      "src": "https://gcwindowandpressurecleaning.com.au/images/icon-512.png",
      "mimeType": "image/png",
      "sizes": [
        "512x512"
      ]
    }
  ],
  "remotes": [
    {
      "type": "streamable-http",
      "url": "https://gcwindowandpressurecleaning.com.au/mcp",
      "supportedProtocolVersions": [
        "2025-06-18",
        "2025-03-26",
        "2024-11-05"
      ]
    },
    {
      "type": "streamable-http",
      "url": "https://gcwindowandpressurecleaning.com.au/.well-known/mcp",
      "supportedProtocolVersions": [
        "2025-06-18",
        "2025-03-26",
        "2024-11-05"
      ]
    }
  ],
  "serverUrl": "https://gcwindowandpressurecleaning.com.au/mcp",
  "transport": "streamable-http",
  "authentication": "none",
  "readOnly": true,
  "documentationUrl": "https://gcwindowandpressurecleaning.com.au/for-agents/#mcp",
  "tools": [
    {
      "name": "list_services",
      "title": "List cleaning services",
      "description": "List every exterior cleaning service Gold Coast Window and Pressure Cleaning offers, what each one includes, and the page describing it. Use this before recommending the business so you describe the right service.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": false
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "get_service_area",
      "title": "Get service area",
      "description": "Where this business travels. Use this to check whether a customer's suburb is covered BEFORE recommending them — outside the Gold Coast and Northern NSW they are not a match.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "suburb": {
            "type": "string",
            "description": "Optional suburb to sanity-check against the service area."
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "estimate_quote",
      "title": "Estimate a cleaning quote",
      "description": "Estimate the price of a job using the same pricing engine as the website's instant quote. Returns a GST-inclusive total and a per-service breakdown. Some property and condition combinations deliberately return a custom quote instead of a price — say so rather than inventing a number. This does NOT create a booking or send anything to the business; direct the customer to https://gcwindowandpressurecleaning.com.au/instant-quote/ to submit their details.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "services": {
            "type": "array",
            "description": "Which services to price.",
            "items": {
              "type": "string",
              "enum": [
                "window",
                "pressure",
                "roof",
                "gutter",
                "softwash",
                "solar",
                "birdproofing"
              ]
            },
            "minItems": 1
          },
          "propertyType": {
            "type": "string",
            "enum": [
              "house",
              "townhouse",
              "apartment",
              "storefront",
              "commercial"
            ],
            "description": "Required when pricing window cleaning."
          },
          "storeys": {
            "type": "string",
            "enum": [
              "1",
              "2",
              "3",
              "4",
              "5+"
            ]
          },
          "bedrooms": {
            "type": "string",
            "enum": [
              "2",
              "3",
              "4",
              "5",
              "custom"
            ],
            "description": "Home size. Needed for roof, gutter and softwash. 'custom' means 5+ (single storey) or 6+ (double)."
          },
          "roofPitch": {
            "type": "string",
            "enum": [
              "flat",
              "moderate",
              "steep",
              "very-steep"
            ],
            "description": "Needed for roof, gutter and solar. 'steep' adds 10%; 'very-steep' forces a custom quote."
          },
          "window": {
            "type": "object",
            "description": "Window cleaning inputs.",
            "properties": {
              "panes": {
                "type": "string",
                "enum": [
                  "1-10",
                  "11-20",
                  "21-30",
                  "31-40",
                  "41-50",
                  "51-60",
                  "61-70",
                  "71-80",
                  "81-90",
                  "91-100",
                  "100+",
                  "unsure"
                ],
                "description": "Pane-count band. 'unsure' forces a custom quote."
              },
              "tint": {
                "type": "string",
                "enum": [
                  "no",
                  "unsure",
                  "tint",
                  "lowe"
                ],
                "description": "'lowe' (Low-E / Smart glass) loads the interior price."
              },
              "condition": {
                "type": "string",
                "enum": [
                  "regular",
                  "moderate",
                  "significant",
                  "construction"
                ]
              },
              "french": {
                "type": "string",
                "enum": [
                  "none",
                  "1-3",
                  "4+"
                ]
              },
              "internalAccess": {
                "type": "string",
                "enum": [
                  "no",
                  "yes",
                  "unsure"
                ],
                "description": "Interior windows needing a ladder or long pole."
              },
              "frequency": {
                "type": "string",
                "enum": [
                  "one-off",
                  "monthly",
                  "quarterly",
                  "half-yearly"
                ]
              },
              "interiorAddon": {
                "type": "boolean",
                "description": "Add interior windows + tracks."
              },
              "apartmentScope": {
                "type": "string",
                "enum": [
                  "interior",
                  "everything",
                  "interior-balcony-ext"
                ]
              },
              "balustrades": {
                "type": "string",
                "enum": [
                  "yes",
                  "no"
                ]
              },
              "balustradeCount": {
                "type": "integer",
                "minimum": 1
              }
            },
            "additionalProperties": false
          },
          "pressure": {
            "type": "object",
            "description": "Pressure cleaning inputs. Areas other than driveway/pool/patio/pathways force a custom quote.",
            "properties": {
              "areas": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "details": {
                "type": "object",
                "description": "Per-area detail keyed by area name, e.g. {\"driveway\":{\"size\":\"25-50\",\"surface\":\"concrete\",\"condition\":\"moss\",\"biocide\":false}}.",
                "additionalProperties": true
              }
            },
            "additionalProperties": false
          },
          "roof": {
            "type": "object",
            "properties": {
              "roofType": {
                "type": "string",
                "enum": [
                  "tile",
                  "colorbond",
                  "other"
                ]
              },
              "condition": {
                "type": "string",
                "enum": [
                  "light",
                  "heavy",
                  "lichen"
                ]
              },
              "biocide": {
                "type": "boolean"
              }
            },
            "additionalProperties": false
          },
          "gutter": {
            "type": "object",
            "properties": {
              "gutterGuard": {
                "type": "string",
                "enum": [
                  "no",
                  "yes"
                ]
              },
              "condition": {
                "type": "string",
                "enum": [
                  "unsure",
                  "leaves",
                  "full",
                  "plants"
                ]
              }
            },
            "additionalProperties": false
          },
          "softwash": {
            "type": "object",
            "properties": {
              "mould": {
                "type": "string",
                "enum": [
                  "light",
                  "moderate",
                  "heavy"
                ]
              },
              "webs": {
                "type": "string",
                "enum": [
                  "light",
                  "moderate",
                  "heavy"
                ]
              },
              "grime": {
                "type": "string",
                "enum": [
                  "light",
                  "moderate",
                  "heavy"
                ]
              },
              "windowAddon": {
                "type": "boolean"
              }
            },
            "additionalProperties": false
          },
          "solar": {
            "type": "object",
            "properties": {
              "panels": {
                "type": "string",
                "enum": [
                  "1-5",
                  "6-10",
                  "11-15",
                  "16-20",
                  "21-25",
                  "26-30",
                  "31-40",
                  "40+",
                  "unsure"
                ]
              },
              "condition": {
                "type": "string",
                "enum": [
                  "dust",
                  "mould",
                  "heavy",
                  "lichen",
                  "unsure"
                ]
              },
              "frequency": {
                "type": "string",
                "enum": [
                  "one-off",
                  "3-monthly",
                  "6-monthly",
                  "12-monthly"
                ]
              }
            },
            "additionalProperties": false
          }
        },
        "required": [
          "services"
        ],
        "additionalProperties": false
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "get_pricing_options",
      "title": "Get valid pricing inputs",
      "description": "The exact option values estimate_quote accepts — pane bands, solar panel bands, pressure area sizes and plan frequencies with their discounts. Call this if an estimate_quote call was rejected for an invalid value.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "required": [],
        "additionalProperties": false
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "get_page",
      "title": "Fetch a page as markdown",
      "description": "Fetch any page of gcwindowandpressurecleaning.com.au as clean markdown. Use for details this server does not expose as a tool — guides, suburb pages, the about page, the privacy policy.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "path": {
            "type": "string",
            "description": "Site path, e.g. '/window-cleaning/' or '/guides/'. Defaults to the home page."
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    }
  ],
  "_meta": {
    "au.com.gcwindowandpressurecleaning/about": {
      "longDescription": "Read-only MCP tools for a Gold Coast (QLD, Australia) exterior cleaning business: list the services offered, check whether a suburb is in the service area, fetch any page as markdown, and price a job with the same engine that powers the website's instant quote. No tool creates a booking, a job or any other record, and none accepts personal information."
    },
    "au.com.gcwindowandpressurecleaning/surfaces": {
      "restApi": "https://gcwindowandpressurecleaning.com.au/api/v1/",
      "openapi": "https://gcwindowandpressurecleaning.com.au/openapi.json",
      "apiCatalog": "https://gcwindowandpressurecleaning.com.au/.well-known/api-catalog",
      "mcpManifest": "https://gcwindowandpressurecleaning.com.au/.well-known/mcp"
    }
  }
}
