{
  "serverInfo": {
    "name": "postcodecheck",
    "title": "PostCode Check",
    "version": "0.2.3"
  },
  "description": "PostCode Check by Harlo: offline postal-code validation and normalization for 252 countries.",
  "transport": {
    "type": "streamable-http",
    "url": "https://postcodecheck.mike-tusa.workers.dev/mcp"
  },
  "protocolVersions": [
    "2026-07-28",
    "2025-11-25",
    "2025-06-18",
    "2025-03-26",
    "2024-11-05"
  ],
  "authentication": {
    "required": false
  },
  "instructions": "PostCode Check validates and normalizes postal codes offline for 252 countries and territories (182 use postal codes). Pass an ISO 3166-1 alpha-2 country code (US, GB, DE; UK is accepted for GB) and the code. validate_postcode returns valid, the normalized form (uppercase, official spacing/hyphen, e.g. \"ec1y8sy\" → \"EC1Y 8SY\"), a format example and the country name. list_countries lists every country with whether it uses postal codes. This is a FORMAT check from Google libaddressinput data: valid means the code has the right shape, not that it exists or is deliverable. Nothing stored, no network calls. No API key: about 60 checks per minute per IP.",
  "tools": [
    {
      "name": "validate_postcode",
      "title": "Validate a postal code",
      "description": "Check whether a postal code has a valid format for a country and return its normalized form (uppercase, official space or hyphen), a format example and the country name. Example: country \"NL\", code \"1234ab\" → valid true, normalized \"1234 AB\". Format check only (Google libaddressinput patterns): it does not confirm the code exists or is deliverable. Countries without postal codes return valid false with reason \"no_postal_codes\". Read-only. Same engine as GET /v1/validate.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "ISO 3166-1 alpha-2 country code, e.g. \"US\", \"GB\", \"DE\" (case-insensitive; \"UK\" accepted)."
          },
          "code": {
            "type": "string",
            "minLength": 1,
            "maxLength": 32,
            "description": "The postal code to check, e.g. \"SW1A 1AA\", \"94103\", \"10115\"."
          }
        },
        "required": [
          "country",
          "code"
        ],
        "additionalProperties": false
      },
      "annotations": {
        "title": "Validate a postal code",
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "list_countries",
      "title": "List supported countries",
      "description": "List every supported country and territory with its ISO code, English name, whether it uses postal codes, a format example and the local name for the code (zip, eircode, PIN…). Read-only. Same data as GET /v1/countries.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "annotations": {
        "title": "List supported countries",
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    }
  ],
  "homepage": "https://postcodecheck.mike-tusa.workers.dev/",
  "documentation": "https://postcodecheck.mike-tusa.workers.dev/llms.txt",
  "contact": "digitalpromohub.support@gmail.com"
}