swiss-geodata-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HOST | No | HTTP binding host (cloud transports only). | 127.0.0.1 |
| PORT | No | HTTP binding port (cloud transports only). | 8000 |
| SWISS_GEODATA_TRANSPORT | No | Transport mode: stdio, streamable-http, or sse. | stdio |
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 |
|---|---|
| geo_search_layersA | Keyword-search the ~700-layer federal geodata catalogue (geo.admin.ch SearchServer). The discovery entry point: returns matching layer ids you can then pass to geo_identify, geo_find or geo_layer_info. Data source: geo.admin.ch SearchServer. |
| geo_identifyA | What is at this LV95 point on a given layer? (geo.admin.ch MapServer identify). Returns the feature attributes at the point. An empty result is a soft miss (nothing at that location), not an error. Data source: geo.admin.ch MapServer. |
| geo_findA | Find features on a layer by attribute value (geo.admin.ch MapServer find). Use geo_layer_info first to see a layer's queryable fields. Data source: geo.admin.ch MapServer. |
| geo_municipality_atA | Municipality, BFS number and canton containing an LV95 point (swissBOUNDARIES3D). The BFS number bridges to the register and statistics servers (swiss-housing-mcp, swiss-statistics-mcp). Data source: swissBOUNDARIES3D. |
| geo_zoning_atB | Harmonised building zone(s) at an LV95 point (ch.are.bauzonen, ARE). Returns the harmonised main-use zone type. Data source: ch.are.bauzonen. |
| geo_heightA | Terrain height (m a.s.l.) at an LV95 point (swissALTI3D height service). |
| geo_elevation_profileB | Elevation profile along a line between two LV95 points (geo.admin.ch profile service). |
| geo_layer_infoA | Queryable fields and legend (plain text) for a layer (geo.admin.ch MapServer). Reveals the fields you can pass to geo_find as search_field. Data source: geo.admin.ch MapServer. |
| geo_convert_coordinatesA | Convert coordinates between WGS84 (lon/lat) and LV95 (geodesy.geo.admin.ch reframe). For 'wgs84_to_lv95', easting=longitude and northing=latitude. Data source: swisstopo reframe service. |
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 operation: catalog search, point height, feature identification, attribute find, municipality lookup, zoning lookup, elevation profile, layer metadata, coordinate conversion. The geo_* prefix plus the typed suffix makes each tool's purpose unambiguous, and even the related point-lookup tools (identify, municipality, zoning) are clearly differentiated by what they return.
The geo_ prefix is consistent throughout, but the second half mixes nouns (_layer, _height, _identify, _find, _municipality_at, _zoning_at, _elevation_profile, _layer_info, _convert_coordinates). Most tools use a clear noun/action, though identifications/discovery verbs vary. Overall the pattern is predictable and readable.
9 tools is well-scoped for a swiss geodata server covering discovery, lookup, spatial analysis, and coordinate handling. Each tool handles a distinct geodata workflow and none feels redundant or extraneous.
The surface covers discovery (search_layers, layer_info), point queries (identify, height, municipality, zoning), feature search (find), geometry analysis (elevation_profile), and coordinate conversion. Minor gaps include no distance/area measurement, no bounding-box search on features, and no direct feature geometry/vector download, but the core spatial query workflows are covered without dead ends.