swiss-housing-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SWISS_HOUSING_CACHE | No | Dump cache directory | ~/.cache/swiss-housing-mcp |
| SWISS_HOUSING_TRANSPORT | No | Transport protocol: stdio, streamable-http, or sse | stdio |
| SWISS_HOUSING_DUMP_TTL_HOURS | No | Dump freshness window in hours | 24 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| lookup_buildingA | Look up a single building by its EGID (federal building identifier). Uses the live geo.admin.ch API — always current, no dump download needed. The EGID is the join key used across Swiss administrative data. |
| address_to_egidA | Geocode a Swiss address to EGID/EDID and LV95 coordinates. This is the bridge that makes other data sources EGID-capable: address in → federal building identifier out. |
| lookup_dwellingsA | List all dwellings (EWID) of a building from the daily cantonal dump. Includes rooms, floor area, floor and status per dwelling. |
| new_constructionB | New residential construction per year for a municipality (existing buildings). Returns buildings, dwellings and 4+ room dwellings per year — the 4+ room share is a proxy for family housing and thus for future pupil numbers. Municipality is identified by its BFS number (e.g. 261 = City of Zurich). |
| construction_pipelineB | Buildings and dwellings in the planning/construction pipeline of a municipality. Breaks down by status: projected (GSTAT 1001), approved (1002), under construction (1003). Dwellings under construction today are households in 1-3 years — the early indicator for school-space planning. |
| buildings_in_bboxA | Aggregate buildings/dwellings inside an LV95 bounding box. Enables sub-municipal analysis, e.g. school districts: pass the bounding box of a Schulkreis to count new construction within it. LV95 (EPSG:2056): east ~2'480'000-2'840'000, north ~1'070'000-1'300'000. |
| municipality_housing_statsC | Housing stock overview of a municipality: buildings, dwellings, room-size mix. |
| explain_codeA | Decode a GWR code value (e.g. GSTAT=1004, GKAT=1020) into human-readable labels. Uses the official code table shipped with the dump (DE/FR/IT). |
| dump_statusA | Cache status of the cantonal GWR dumps (graceful-degradation entry point). Always returns an evaluable status — never silently empty records. If a source is unreachable, this tool tells you when data was last refreshed. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 9 tools
Each tool targets a distinct resource or action: building lookup, dwelling lookup, address geocoding, bbox aggregation, municipal stock, pipeline, code decoding, and cache status. The closest pair, municipality_housing_stats and new_construction, is still clearly differentiated as stock overview vs. time-series construction.
All names are lowercase snake_case and readable, but conventions are mixed: some follow verb_noun (lookup_building, explain_code, dump_status), while others are noun phrases (buildings_in_bbox, municipality_housing_stats, construction_pipeline). There is no single consistent prefix or verb pattern across the set.
Nine tools is well-scoped for a Swiss housing/GWR data server. Each tool covers a meaningful query or utility function without redundancy or bloat.
The tool surface covers key workflows: address-to-EGID resolution, building and dwelling lookup, bounding-box aggregation, municipal stock, pipeline, historical construction, and code explanation. Minor gaps exist, such as no municipality-by-BFS-number search tool and no bulk code-table listing, but agents can work around these.