Prototipo · Versión preliminar: todos los servidores del registro oficial, sincronizados cada 30 minutos. Las reseñas y las cuentas llegarán en una etapa posterior.
PopNx MCPServidores MCP para quienes usan IA · explicados con palabras sencillas

Swisstopo MCP

de malkreideversión 0.5.1i★ –iSe ejecuta en tu computadora
Nombre en el registroio.github.malkreide/swisstopo-mcp

Instalar

Resumen

Descripción del creador (original en inglés)

Swiss federal geodata: geocoding, height, STAC, WMTS, OEREB and more

Los tres pilares de PopNx MCP

Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.

Qué puedes hacer con él

Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.

  • Conexión: Se ejecuta en tu computadora
  • Transporte: stdio
  • Categoría: Viajes, mapas y clima

Instalación

Elige la app de IA que usas y copia la configuración.

Antes de instalar

Necesitas

  • PyPIuv de Python instalado (para el comando uvx)

¿Qué app usas?

Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.

Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json

{
  "mcpServers": {
    "swisstopo": {
      "command": "uvx",
      "args": [
        "swisstopo-mcp"
      ]
    }
  }
}

Ejecuta esto en tu terminal

claude mcp add swisstopo -- uvx swisstopo-mcp

Abrir en Cursor

O copia la configuración tú

Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json

{
  "mcpServers": {
    "swisstopo": {
      "command": "uvx",
      "args": [
        "swisstopo-mcp"
      ]
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

Abrir en VS Code

O copia la configuración tú

Pégalo en .vscode/mcp.json de tu proyecto

{
  "servers": {
    "swisstopo": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "swisstopo-mcp"
      ]
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.

Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.

Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.

Qué puede hacer

Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.

Revisiones básicasi

Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 9 nov 2026

  • ✓ Superada

    El creador coincide con el repo

    El nombre en el registro se verificó con la cuenta de GitHub malkreide, dueña del repo

  • … Aún sin revisar

    Sigue en mantenimiento

    Todavía no hemos leído este repo en GitHub

  • … Aún sin revisar

    Tiene licencia

    Todavía no hemos leído este repo en GitHub

  • – No aplica

    El endpoint responde

    Este se ejecuta en tu computadora; no hay endpoint en internet

  • – No aplica

    Inicio de sesión con OAuth

    Se ejecuta en tu computadora y usa ajustes locales en su lugar

  • … Aún sin revisar

    Sin instrucciones ocultas en las descripciones de herramientas

    Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet

Comparado con otros en Viajes, mapas y climai

  • Más estrellas que el 0% de los otros 1737 servidores de esta categoría
  • Publicado en el registro más recientemente que el 78% de los otros 1737 servidores de esta categoría
  • Revisiones básicas iguales o mejores que el 100% de los otros 1737 servidores de esta categoría

Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.

Preguntas frecuentes

¿Es seguro Swisstopo MCP?

Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.

¿Qué claves o códigos necesita?

El registro no indica ninguna clave obligatoria, aunque algunos servidores te piden iniciar sesión la primera vez que los usas.

¿Se ejecuta en mi computadora o en la nube?

Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).

¿Sigue en mantenimiento?

El repo de GitHub cambió por última vez –, y la última versión (0.5.1) llegó al registro hace 8 días.

¿Qué apps pueden usarlo?

Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Python (uv) en tu computadora.

¿Qué puedo usar en su lugar?

En la misma categoría: Park Graph, Open Transfer Times, Gogcli MCP Maps

Alternativas

Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.

Cómo leer una tarjeta:↓ Descargas por semanai★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi

Park Graph

Find, price and book parking at Park Graph lots: search, quote, hold and session tools.

de parkgraph.comInicialActualizado hoy

Se ejecuta en la nube✓ parkgraph.com

Open Transfer Times

Check if a flight connection is comfortable, tight or risky, with cited airport data.

de joelynli0110Inicial↓ 1,5 mil/semActualizado hoy

Se ejecuta en tu computadora

Gogcli MCP Maps

Google Places + trip maps via gogcli for Claude — places through gog maps, pins, shortlists, My Maps

de chrischallMuy nuevoActualizado hoy

Se ejecuta en tu computadora

README del creador

Abrir el README

Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.

🇨🇭 Part of the [Swiss Public Data MCP Portfolio](https://github.com/malkreide)

swisstopo-mcp

MCP server for Swiss federal geodata -- maps, elevation, geocoding, cadastral extracts, and downloadable datasets via Swisstopo APIs

🇩🇪 Deutsche Version


Overview

swisstopo-mcp gives AI assistants access to Switzerland's official geodata infrastructure through 20 tools, all without authentication:

SourceDataAPI
Swisstopo REST API500+ geodata layers (buildings, boundaries, land use)REST/JSON
GeocodingOfficial addresses, place names, postal codesREST/JSON
Height ServiceElevation above sea level, elevation profilesREST/JSON
STAC CatalogOrthophotos, elevation models, 3D buildingsSTAC 0.9
WMTSNational maps, aerial images, zoning mapsURL builder
OEREB CadastrePublic-law restrictions, parcelsREST/JSON (cantonal)
geodienste.chInterkantonale Basisgeodaten (cadastral survey, contaminated sites, hazard maps, …)OGC API Features / WMS / WFS
OpenStreetMapPoints of interest (schools, playgrounds, pharmacies, …)Overpass API (ODbL)
OpenPLZ APIAdministrative address level: postal codes → commune (BFS number) → district → cantonREST/JSON (BFS + swisstopo OGD)

Anchor demo query: *"Which communes are in the Uster district, and what are their BFS numbers for joining with BFS statistics data?"* (The BFS commune number is the official join key to swiss-statistics-mcp and zurich-opendata-mcp — this is what turns a geodata wrapper into a semantic connector at the commune level.) → More use cases by audience →

Demo

Features

  • 🗺️ 20 tools (REST, Geocoding, Height, STAC, WMTS, OEREB, geodienste.ch, OpenStreetMap/Overpass, OpenPLZ)
  • 🏛️ Resolve the administrative address level (PLZ → commune/BFS number → district → canton) via OpenPLZ
  • 🔍 Geocode Swiss addresses and reverse-geocode coordinates
  • 🏔️ Query elevation and compute elevation profiles
  • 📦 Discover and download geodatasets (orthophotos, 3D buildings, historical maps)
  • 🏗️ Identify map features at coordinates across 500+ Swisstopo layers
  • 🔗 Generate shareable map.geo.admin.ch links
  • 📋 Look up cadastral property IDs (EGRID) and retrieve OEREB extracts
  • 🔓 No API key required for all tools (OEREB extract needs a supported canton)
  • ☁️ Dual transport -- stdio (Claude Desktop) + Streamable HTTP (cloud)

Prerequisites

  • Python 3.11+
  • uv (recommended) or pip

Installation

# Clone the repository

git clone https://github.com/malkreide/swisstopo-mcp.git cd swisstopo-mcp

Install

pip install -e .

or with uv:

uv pip install -e .

Or with uvx (no permanent installation):

uvx swisstopo-mcp

Quickstart

# stdio (for Claude Desktop)

python -m swisstopo_mcp.server

Streamable HTTP (port 8000)

python -m swisstopo_mcp.server --http --port 8000

Try it immediately in Claude Desktop:

*"Where is Bahnhofstrasse 1, Zurich? Give me the coordinates."*

*"What is the elevation at the Uetliberg summit?"*

*"What buildings are at coordinates 2683500, 1247500 (LV95)?"*


Configuration

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{

"mcpServers": { "swisstopo": { "command": "python", "args": ["-m", "swisstopo_mcp.server"] } } }

Or with uvx:

{

"mcpServers": { "swisstopo": { "command": "uvx", "args": ["swisstopo-mcp"] } } }

Config file locations:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
Cloud Deployment (SSE for browser access)

For use via claude.ai in the browser (e.g. on managed workstations without local software):

Render.com (recommended):

  1. Push/fork the repository to GitHub
  2. On render.com: New Web Service -> connect GitHub repo
  3. Set start command: python -m swisstopo_mcp.server --http --port 8000
  4. In claude.ai under Settings -> MCP Servers, add: https://your-app.onrender.com/sse

Available Tools

REST API (Layer & Feature Queries)
ToolDescription
swisstopo_map_queryThe national map catalogue (api3.geo.admin.ch). One operation per call — see the five below
swisstopo_zoning_atHarmonised building zone at a coordinate — one call, no layer lookup (not legally binding)
swisstopo_municipality_atMunicipality, canton and official BFS number at a coordinate
swisstopo_map_query operations
operationAnswersRequired arguments
search_layersWhich layers exist for a keyword? (500+ catalogue)query
layer_infoWhat fields can I query on this layer, and what is its legend?layer
features_at_pointWhat is at this coordinate?layers + a point (lat/lon or easting/northing)
features_by_attributeWhich features carry this value? (e.g. buildings by EGID)layer, search_field, search_text
feature_by_idGive me this one feature in full, with geometrylayer, feature_id

Arguments belonging to a different operation are rejected, not ignored — the error names the ones the chosen operation accepts. Silently dropping a misplaced search_field would return a plausible answer to a question nobody asked, which is the failure mode the whole envelope design is against.

Geocoding
ToolDescription
swisstopo_geocodeConvert Swiss addresses, place names, or postal codes to coordinates
swisstopo_reverse_geocodeFind the nearest address for given coordinates
Height Service
ToolDescription
swisstopo_get_heightGet elevation above sea level (m a.s.l.) at a coordinate
swisstopo_elevation_profileCompute an elevation profile along a line
swisstopo_convert_coordinatesOfficial WGS84 ↔ LV95 conversion via the swisstopo REFRAME service
STAC Catalog (Geodata Downloads)
ToolDescription
swisstopo_search_geodataSearch the STAC catalog for downloadable geodatasets
swisstopo_get_collectionGet details and download links for a STAC collection
WMTS (Map URLs)
ToolDescription
swisstopo_map_urlGenerate a map.geo.admin.ch URL for browser display
OEREB Cadastre
ToolDescription
swisstopo_get_egridResolve a cadastral property ID (EGRID) from coordinates
swisstopo_get_oereb_extractRetrieve public-law land-use restrictions (OEREB) for a parcel
Consolidated Geodata Façade

One façade over several map/layer sources, kept under the 25-tool budget (see docs/geodaten-erweiterung-phase1.md):

ToolDescription
swisstopo_list_available_layersDiscover layer keys for swisstopo_query_geodata (strassenverzeichnis, oereb-verfuegbarkeit, geodienste: : ); filters to contract-free geodienste datasets
swisstopo_query_geodataQuery a chosen layer by point / bbox / commune — amtliches Strassenverzeichnis, interkantonale geodienste.ch data (OGC API Features), or ÖREB availability
swisstopo_query_osm_featuresOpenStreetMap POIs (schools, playgrounds, pharmacies, …) around a point via Overpass — separate source, ODbL (© OpenStreetMap contributors)
Administrative Address Level (OpenPLZ)

The amtliche address hierarchy PLZ → commune → district → canton, served by the OpenPLZ API (data: BFS municipal directory + swisstopo street directory, Swiss OGD — a separate source and licence from the swisstopo geodata above). Every commune-bearing response exposes bfs_commune_number as a named top-level field: the official join key to BFS statistics (swiss-statistics-mcp) and zurich-opendata-mcp.

ToolDescription
swisstopo_lookup_postal_codeResolve a Swiss postal code → locality, commune (+BFS number), district, canton
swisstopo_find_communeResolve a commune both directions (name ↔ bfs_number) or list all communes of a canton / district. Accepts canton abbreviation (ZH) or key (1); resolution happens server-side
swisstopo_search_addressFull-text search over Swiss streets and localities, returning commune + BFS number per hit
Example Use Cases
QueryTool
*"Where is Bahnhofstrasse 1, Zurich?"*swisstopo_geocode
*"What is the elevation at the Uetliberg summit?"*swisstopo_get_height
*"What buildings are at coordinates 2683500, 1247500?"*swisstopo_map_query (operation='features_at_point')
*"Find orthophoto datasets for download"*swisstopo_search_geodata
*"Show me a map of Bern at zoom level 10"*swisstopo_map_url
*"What restrictions apply to parcel at Musterstrasse 5?"*swisstopo_oereb_at
*"Which schools are within 500 m of Bederstrasse 109, 8002 Zürich, and which streets lead there?"*swisstopo_query_osm_features + swisstopo_query_geodata (strassenverzeichnis)
*"Which contaminated-sites data is free for canton ZH?"*swisstopo_list_available_layers + swisstopo_query_geodata (geodienste:kataster_belasteter_standorte:ZH)
*"Which communes are in the Uster district and what are their BFS numbers?"*swisstopo_find_commune (district=109)
*"Which commune and canton does postal code 8001 belong to?"*swisstopo_lookup_postal_code
*"What is the BFS number of Winterthur (to join with BFS statistics)?"*swisstopo_find_commune (name=Winterthur)

Architecture

┌─────────────────┐     ┌──────────────────────────────┐     ┌──────────────────────────┐

│ Claude / AI │────▶│ swisstopo-mcp │────▶│ Swisstopo REST API │ │ (MCP Host) │◀────│ (MCP Server) │◀────│ api3.geo.admin.ch │ └─────────────────┘ │ │ ├──────────────────────────┤ │ 20 Tools │────▶│ Geocoding │ │ Stdio | Streamable HTTP │◀────│ api3.geo.admin.ch │ │ │ ├──────────────────────────┤ │ No authentication required │────▶│ STAC Catalog │ │ (all tools; OEREB canton opt) │◀────│ data.geo.admin.ch │ │ │ ├──────────────────────────┤ │ │────▶│ OEREB Cadastre │ │ │◀────│ (cantonal endpoints) │ │

Solo se muestra el principio; lee el resto en el repo

Pregunta a PopNx