SkyddsrumsKollen — Swedish Civil-Defence Shelters

Find Sweden's nearest civil-defence shelters (skyddsrum): search, details, stats. Data: MSB.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
86%
Naming quality
100%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~2,157Tokens (tool definitions)
~3.5 KBTypical response size
Moderate attention impact (1.69% 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": {
    "skyddsrumskollen": {
      "url": "https://tjovnwtrzrneiaqmigqe.supabase.co/functions/v1/mcp"
    }
  }
}

Remote endpoints

https://tjovnwtrzrneiaqmigqe.supabase.co/functions/v1/mcpstreamable-http

What it can do

Tool inventory

Tools (5)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢search_location(query)

Search for a Swedish place (city, town, street address) and return matching coordinates. Uses OpenStreetMap Nominatim limited to Sweden. Returns up to 5 candidates with name, lat and lon. Use the coordinates with find_nearby_shelters.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 1,
      "description": "Place name or address to search for, e.g. 'Huddinge' or 'Drottninggatan 5, Stockholm'."
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "server_version": {
      "type": [
        "string",
        "null"
      ]
    },
    "server_build": {
      "$ref": "#/properties/server_version"
    },
    "url": {
      "$ref": "#/properties/server_version"
    },
    "info": {
      "$ref": "#/properties/server_version"
    },
    "attribution": {
      "$ref": "#/properties/server_version"
    },
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "$ref": "#/properties/server_version"
          },
          "lat": {
            "type": [
              "number",
              "null"
            ]
          },
          "lon": {
            "$ref": "#/properties/results/items/properties/lat"
          }
        },
        "additionalProperties": false
      }
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢find_nearby_shelters(lat, lng, limit)

Find the nearest Swedish civil-defence shelters (skyddsrum) to a WGS84 position, sorted by distance. Returns up to 25 shelters (limit 1-25, default 10; fractions are floored and the effective limit is echoed) with address (street or Swedish property designation), capacity (number of people) and distance in km. The dataset has no separate municipality field — the address is the location identifier. Use search_location first if you only have a place name. Coverage is Sweden only (lat 55.0-69.5, lng 10.0-24.5 WGS84) — positions outside return status 'no_coverage' instead of results. Note: in Sweden you are not assigned to a specific shelter — in an emergency, use whichever shelter or protective space you can reach.

Input Schema

{
  "type": "object",
  "properties": {
    "lat": {
      "type": "number",
      "minimum": -90,
      "maximum": 90,
      "description": "Latitude, WGS84 decimal degrees. Coverage: 55.0-69.5 (Sweden)."
    },
    "lng": {
      "type": "number",
      "minimum": -180,
      "maximum": 180,
      "description": "Longitude, WGS84 decimal degrees. Coverage: 10.0-24.5 (Sweden)."
    },
    "limit": {
      "type": "number",
      "minimum": 1,
      "maximum": 25,
      "description": "Max number of shelters (default 10). Fractions are floored."
    }
  },
  "required": [
    "lat",
    "lng"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "server_version": {
      "type": [
        "string",
        "null"
      ]
    },
    "server_build": {
      "$ref": "#/properties/server_version"
    },
    "url": {
      "$ref": "#/properties/server_version"
    },
    "info": {
      "$ref": "#/properties/server_version"
    },
    "attribution": {
      "$ref": "#/properties/server_version"
    },
    "status": {
      "$ref": "#/properties/server_version"
    },
    "query": {
      "type": "object",
      "properties": {
        "lat": {
          "type": [
            "number",
            "null"
          ]
        },
        "lng": {
          "$ref": "#/properties/query/properties/lat"
        },
        "limit": {
          "$ref": "#/properties/query/properties/lat"
        }
      },
      "additionalProperties": false
    },
    "shelters": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/properties/server_version"
          },
          "address": {
            "$ref": "#/properties/server_version"
          },
          "lat": {
            "$ref": "#/properties/query/properties/lat"
          },
          "lng": {
            "$ref": "#/properties/query/properties/lat"
          },
          "capacity": {
            "$ref": "#/properties/query/properties/lat"
          },
          "type": {
            "$ref": "#/properties/server_version"
          },
          "distance_km": {
            "$ref": "#/properties/query/properties/lat"
          },
          "url": {
            "$ref": "#/properties/server_version"
          }
        },
        "additionalProperties": false
      }
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢search_shelters(query, limit)

Search Swedish civil-defence shelters by ADDRESS text — a street name or Swedish property designation (fastighetsbeteckning), e.g. 'Storgatan' or 'Jupiter Mindre 14'. Matches are verified accent-insensitive substring matches on the address field ('Sodra' matches 'Södra', but only addresses actually containing the text are returned). The dataset has NO municipality or city field, so this tool cannot list shelters in a town — for 'shelters in <place>' use search_location + find_nearby_shelters instead. Returns total_matches (with total_is_exact=false when the count is a lower bound) plus the largest shelters first (limit 1-25, default 10; fractions are floored and the effective limit is echoed).

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 1,
      "description": "Address text: street name or property designation, e.g. 'Storgatan' or 'Norrmalm 2'."
    },
    "limit": {
      "type": "number",
      "minimum": 1,
      "maximum": 25,
      "description": "Max number of shelters returned (default 10). Fractions are floored."
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "server_version": {
      "type": [
        "string",
        "null"
      ]
    },
    "server_build": {
      "$ref": "#/properties/server_version"
    },
    "url": {
      "$ref": "#/properties/server_version"
    },
    "info": {
      "$ref": "#/properties/server_version"
    },
    "attribution": {
      "$ref": "#/properties/server_version"
    },
    "query": {
      "type": "object",
      "properties": {
        "query": {
          "$ref": "#/properties/server_version"
        },
        "limit": {
          "type": [
            "number",
            "null"
          ]
        }
      },
      "additionalProperties": false
    },
    "total_matches": {
      "$ref": "#/properties/query/properties/limit"
    },
    "total_is_exact": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "shelters": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/properties/server_version"
          },
          "address": {
            "$ref": "#/properties/server_version"
          },
          "lat": {
            "$ref": "#/properties/query/properties/limit"
          },
          "lng": {
            "$ref": "#/properties/query/properties/limit"
          },
          "capacity": {
            "$ref": "#/properties/query/properties/limit"
          },
          "type": {
            "$ref": "#/properties/server_version"
          },
          "distance_km": {
            "$ref": "#/properties/query/properties/limit"
          },
          "url": {
            "$ref": "#/properties/server_version"
          }
        },
        "additionalProperties": false
      }
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_shelter(id)

Get details for one Swedish civil-defence shelter by its SkyddsrumsKollen id (the UUID from a previous tool result or from a skyddsrumskollen.nu/skyddsrum/<id> URL). Returns found=true with address, capacity, coordinates and the shelter's page URL — or found=false (a successful response, not an error) when no shelter has that id; a malformed id is rejected as an INVALID_ARGUMENT error.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1,
      "description": "Shelter id (UUID) from find_nearby_shelters, search_shelters or a skyddsrumskollen.nu URL."
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "server_version": {
      "type": [
        "string",
        "null"
      ]
    },
    "server_build": {
      "$ref": "#/properties/server_version"
    },
    "url": {
      "$ref": "#/properties/server_version"
    },
    "info": {
      "$ref": "#/properties/server_version"
    },
    "attribution": {
      "$ref": "#/properties/server_version"
    },
    "found": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "shelter": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "id": {
              "$ref": "#/properties/server_version"
            },
            "address": {
              "$ref": "#/properties/server_version"
            },
            "lat": {
              "type": [
                "number",
                "null"
              ]
            },
            "lng": {
              "$ref": "#/properties/shelter/anyOf/0/properties/lat"
            },
            "capacity": {
              "$ref": "#/properties/shelter/anyOf/0/properties/lat"
            },
            "type": {
              "$ref": "#/properties/server_version"
            },
            "distance_km": {
              "$ref": "#/properties/shelter/anyOf/0/properties/lat"
            },
            "url": {
              "$ref": "#/properties/server_version"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_shelter_stats

Get national statistics for Sweden's civil-defence shelters: total number of registered shelters, total capacity (people), and when the dataset was last synced from MSB (the Swedish Civil Contingencies Agency).

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "server_version": {
      "type": [
        "string",
        "null"
      ]
    },
    "server_build": {
      "$ref": "#/properties/server_version"
    },
    "url": {
      "$ref": "#/properties/server_version"
    },
    "info": {
      "$ref": "#/properties/server_version"
    },
    "attribution": {
      "$ref": "#/properties/server_version"
    },
    "total_shelters": {
      "type": [
        "number",
        "null"
      ]
    },
    "total_capacity": {
      "$ref": "#/properties/total_shelters"
    },
    "data_last_synced": {
      "$ref": "#/properties/server_version"
    },
    "data_age_days": {
      "$ref": "#/properties/total_shelters"
    },
    "data_is_stale": {
      "type": [
        "boolean",
        "null"
      ]
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded5 tools
verifiedversion not recorded5 tools