# Sentieri e condizioni di montagna (pypi · trekking-mcp)

Italian trails, huts, avalanche bulletins and elevation weather

- Trust score: 80/100 (high trust)
- Change this week: +11
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-04

## Components

- pypi · `trekking-mcp`: 80/100 (this document), [markdown](https://verifymcp.io/servers/19alma98-trekking-mcp/trekking-mcp.md), [page](https://verifymcp.io/servers/19alma98-trekking-mcp/trekking-mcp)

## Channel facts

- Registry: `pypi`
- Package: `trekking-mcp`
- Version: `1.1.0`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-04.

- **Supply Chain Security**: 100/100
  - No malware found by supply-chain analysis.
  - No known CVEs affecting this package version or its production dependencies.
  - Runs hatchling.build at install time, a recognised build step with no custom scripting around it.
  - 1 of 28 dependencies flagged as unhealthy.
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 35 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 77/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 2778 tokens (~213/item across 13 items; 10 tools + 3 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 67/100
  - Stability observed for 20 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 95/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 81% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 10 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 12 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a current MCP spec version (2026-07-28).

## Install

### How do I install the Sentieri e condizioni di montagna MCP server?

Sentieri e condizioni di montagna runs locally as a PyPI package, launched with uvx trekking-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add 19alma98-trekking-mcp -- uvx trekking-mcp
```

### Cursor

```json
{
  "mcpServers": {
    "19alma98-trekking-mcp": {
      "command": "uvx",
      "args": [
        "trekking-mcp"
      ]
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "19alma98-trekking-mcp": {
      "command": "uvx",
      "args": [
        "trekking-mcp"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add 19alma98-trekking-mcp -- uvx trekking-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "19alma98-trekking-mcp": {
      "type": "local",
      "command": [
        "uvx",
        "trekking-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add 19alma98-trekking-mcp --command uvx --arg trekking-mcp
```

### Hermes

```yaml
mcp_servers:
  19alma98-trekking-mcp:
    command: "uvx"
    args: ["trekking-mcp"]
```

### Netclaw

```json
{
  "McpServers": {
    "19alma98-trekking-mcp": {
      "Transport": "stdio",
      "Command": "uvx",
      "Arguments": [
        "trekking-mcp"
      ]
    }
  }
}
```

### Vellum

```bash
assistant mcp add 19alma98-trekking-mcp -t stdio -c uvx -a trekking-mcp
```

### Other

```json
{
  "mcpServers": {
    "19alma98-trekking-mcp": {
      "command": "uvx",
      "args": [
        "trekking-mcp"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-04 (score 80, −4)

- [functional] Stability: pass → 0.67

### 2026-11-03 (score 84, +15)

- [security improvement] Malware scan: unverified → pass

### 2026-11-02 (score 69, −15)

- [security regression] Malware scan: pass → unverified

### 2026-11-01 (score 84, 0)

- [security regression] Provenance: unverified → fail

### 2026-10-31 (score 84, 0)

- [security regression] Provenance: fail → unverified

### 2026-10-29 (score 84, +15)

- [security improvement] Malware scan: unverified → pass
- [security] Stability: 0.97 → pass

### 2026-10-28 (score 69, +1)

No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-25 (score 68, +1)

No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.

## MCP tools (10)

### `cerca_sentieri` (~307 tokens)

Cerca sentieri escursionistici

Cerca sentieri escursionistici numerati in una zona, per riquadro geografico o attorno a un punto. Default raggio 5 km (alzabile fino a 50). Usa `testo` per filtrare name/from/to/description (es. 'Mucrone'). Il numero del sentiero va in `ref` (es. '103'). Fonte: relation OSM route=hiking. `difficolta_cai=sconosciuta` e `lunghezza_km` null sono normali (tag assenti): non interpretarli come facile o corto. Query Overpass: non chiamare in parallelo con altri tool OSM.

Input parameters:

- `difficolta_max`: Scarta i sentieri piu' difficili di questo grado
- `lat` (number, required): Latitudine del centro ricerca
- `limite` (integer): Numero massimo di risultati
- `lon` (number, required): Longitudine del centro ricerca
- `operatore`: Filtro sull'ente (tag OSM operator), es. 'CAI'. Molti sentieri CAI non hanno il tag: se 0 risultati, ritenta senza operatore.
- `raggio_km` (number): Raggio di ricerca in km (default 5, max 50)
- `ref`: Numero esatto del sentiero, es. '103'
- `testo`: Filtro testuale su name/from/to/description, es. 'Mucrone'

Output parameters:

- `result` (array)

### `dettaglio_sentiero` (~119 tokens)

Dettaglio di un sentiero

Restituisce i dati di un sentiero dato l'ID della relation OSM. Necessario solo se non hai gia' i campi da cerca_sentieri: non richiama dati diversi dalla search sui tag. `difficolta_cai=sconosciuta` e `lunghezza_km` null sono normali (tag assenti): non interpretarli come facile o corto. Query Overpass: non chiamare in parallelo con altri tool OSM.

Input parameters:

- `osm_relation_id` (integer, required): ID della relation OSM

Output parameters:

- `a`: Punto di arrivo (tag `to`)
- `centro`: Centroide approssimato
- `da`: Punto di partenza (tag `from`)
- `difficolta_cai`: Scala CAI derivata da sac_scale. `sconosciuta` = tag OSM assente o non mappato; non implica che il sentiero sia facile
- `distanza_km`: Distanza del centroide dal punto di ricerca, se noto
- `lunghezza_km`: Da tag OSM `distance`; null = tag assente, non lunghezza 0. Per km reali usa profilo_altimetrico o valuta_gita(con_profilo=true)
- `nome`
- `operatore`: Es. 'CAI Torino'
- `osm_relation_id` (integer)
- `osm_url` (string)
- `profilo`: Popolato solo su richiesta esplicita: richiede una query piu' pesante
- `ref`: Numero del sentiero, es. '103'
- `rete`: Tag `network`: lwn/rwn/nwn/iwn
- `sac_scale`: Tag OSM sac_scale; null = non mappato (assente o fuori standard)
- `visibilita`: Tag `trail_visibility`

### `cerca_ricoveri` (~97 tokens)

Cerca rifugi e bivacchi

Cerca rifugi gestiti, bivacchi e ripari entro un raggio da un punto. I dati su posti letto e contatti dipendono dalla mappatura OSM e possono mancare. Query Overpass: non chiamare in parallelo con altri tool OSM.

Input parameters:

- `lat` (number, required)
- `lon` (number, required)
- `raggio_km` (number): Raggio in km

Output parameters:

- `result` (array)

### `sentieri_verso_localita` (~332 tokens)

Sentieri verso un luogo per nome

Punto di ingresso quando l'utente chiede come arrivare a un luogo per nome: geocoding + ricerca sentieri (e rifugi) in una sola chiamata. Con vicino_a_lat/lon usa raggio_geocode_km (default 30) per il geocoding; raggio_km (default 5) vale solo per sentieri e ricoveri. Preferisci questo a una catena di cerca_localita + cerca_sentieri. `difficolta_cai=sconosciuta` e `lunghezza_km` null sono normali (tag assenti): non interpretarli come facile o corto. Se Overpass fallisce dopo il geocoding, restituisce la localita' con sentieri vuoti e avvisi (non e' un errore di toponimo). Query Overpass: non chiamare in parallelo con altri tool OSM.

Input parameters:

- `includi_ricoveri` (boolean): Includi rifugi/bivacchi vicini
- `limite` (integer)
- `nome` (string, required): Toponimo, es. 'Mucrone' o 'Monte Mucrone'
- `raggio_geocode_km` (number): Raggio max (km) per geocoding se vicino_a_lat/lon sono impostati
- `raggio_km` (number): Raggio ricerca sentieri/ricoveri
- `vicino_a_lat`: Lat di contesto (es. partenza)
- `vicino_a_lon`: Lon di contesto (es. partenza)

Output parameters:

- `avvisi` (array)
- `localita`
- `ricoveri` (array)
- `sentieri` (array)

### `zona_valanghe_da_coordinate` (~87 tokens)

Trova la zona del bollettino valanghe

Dato un punto, individua la micro-regione EAWS a cui appartiene, cioe' la zona per cui viene emesso il bollettino valanghe. Usa questo tool prima di `bollettino_valanghe` invece di indovinare l'identificativo della zona.

Input parameters:

- `lat` (number, required)
- `lon` (number, required)

Output parameters:

- `coord_richiesta`: Punto da cui la zona e' stata dedotta. Assente se l'id e' stato passato direttamente (niente coordinata da inventare).
- `fonte` (string)
- `id_zona` (string)
- `nome`

### `cerca_localita` (~271 tokens)

Cerca un luogo per nome

Converte un toponimo in coordinate: nomi di rifugi, cime, valichi, paesi e frazioni. Punto di partenza naturale quando l'utente nomina un posto invece di fornire coordinate. Con lat/lon opzionali filtra per raggio (default 30 km) e, se serve, chiede disambiguazione tra nomi simili (in quel caso puo' usare anche Overpass: non chiamarla in parallelo con altri tool OSM); senza contesto usa Nominatim come prima.

Input parameters:

- `lat`: Latitudine di contesto: con lon impostata filtra per raggio_km e abilita disambiguazione tra nomi simili; altrimenti restringe il viewbox Nominatim.
- `limite` (integer)
- `lon`: Longitudine di contesto: con lat impostata filtra per raggio_km e abilita disambiguazione tra nomi simili; altrimenti restringe il viewbox Nominatim.
- `nome` (string, required): Nome del luogo, es. 'Rifugio Gastaldi'
- `raggio_km` (number): Raggio max (km) se lat/lon sono impostati; default 30. Ignorato senza contesto.

Output parameters:

- `result` (array)

### `profilo_altimetrico` (~130 tokens)

Profilo altimetrico di un sentiero

Calcola lunghezza reale e dislivello positivo e negativo di un sentiero, campionando la quota lungo il tracciato. Usalo solo dopo una ricerca o un dettaglio sentiero quando serve il dislivello; non in esplorazione. Piu' lento perche' scarica la geometria completa. Query Overpass: non chiamare in parallelo con altri tool OSM.

Input parameters:

- `osm_relation_id` (integer, required): Relation OSM del sentiero
- `passo_m` (number): Distanza fra i punti campionati, in metri

Output parameters:

- `dislivello_negativo_m` (integer)
- `dislivello_positivo_m` (integer)
- `lunghezza_km` (number)
- `passo_effettivo_m`: Distanza media fra i punti quotati. Puo' essere maggiore del `passo_m` chiesto: su un percorso lungo il campionamento viene diradato per non moltiplicare le richieste.
- `punti` (array): Campione dei punti quotati, diradato per restare leggibile: vedi `punti_quotati`
- `punti_quotati`: Punti su cui sono calcolati dislivelli e quote estreme. Puo' essere maggiore di len(punti): la risposta ne mostra un sottoinsieme, gli aggregati usano tutti.
- `quota_massima_m`
- `quota_minima_m`

### `bollettino_valanghe` (~137 tokens)

Bollettino valanghe

Restituisce il bollettino valanghe corrente per una zona (formato CAAML v6, profilo EAWS). Le zone AINEVA hanno identificativi tipo 'IT-21-...'. IMPORTANTE: i dati vanno sempre presentati con il rimando al bollettino ufficiale; non sono una valutazione del rischio.

Input parameters:

- `lingua` (string): Lingua dei testi
- `provider` (string): aineva = Italia, slf = Svizzera
- `zona_id` (string, required): Identificativo della zona, es. 'IT-21-AO-01'

Output parameters:

- `avvertenza` (string)
- `fonte` (string): Provider: aineva | slf
- `fonte_url` (string)
- `id_bollettino` (string)
- `innevamento`
- `problemi` (array)
- `sintesi`: Testo libero del previsore (`highlights`/`avalancheActivity`)
- `valido_da` (string)
- `valido_fino` (string)
- `valutazioni` (array)
- `zona_id` (string)
- `zona_nome`

### `meteo_quota` (~165 tokens)

Meteo di quota

Previsione oraria per un punto, corretta per l'elevazione indicata. Include zero termico, raffiche e neve fresca. La finestra parte dall'ora corrente se la data e' oggi, dalle 6 del mattino se e' un giorno futuro: usa `ora_inizio` per una partenza notturna.

Input parameters:

- `data`: Data ISO YYYY-MM-DD; default: oggi
- `lat` (number, required)
- `lon` (number, required)
- `ora_inizio`: Prima ora locale della finestra, 0-23. Per una partenza alle 4, 4.
- `ore_max` (integer): Quante ore restituire
- `quota_m` (integer, required): Quota in metri

Output parameters:

- `result` (array)

### `valuta_gita` (~357 tokens)

Raccogli le condizioni per una gita

Dato un sentiero e una data, raccoglie in un colpo solo: dati del sentiero, rifugi e bivacchi vicini, meteo di quota e, quando rilevante, bollettino valanghe della zona (in estate o con includi_valanghe=false puo' essere omesso). Restituisce fatti normalizzati e segnali di attenzione, NON un verdetto vai/non-vai: la decisione resta a chi va in montagna. Query Overpass: non chiamare in parallelo con altri tool OSM.

Input parameters:

- `con_profilo` (boolean): Calcola dislivello e lunghezza reali scaricando la geometria completa. Molto piu' lento e soggetto a timeout su Overpass: attivalo solo se il dislivello serve davvero.
- `data`: Data ISO YYYY-MM-DD; default oggi
- `includi_valanghe`: Se true forza zona e bollettino anche in estate; se false li esclude salvo zona_valanghe esplicita (id passato: tenta sempre il bollettino). Se omesso il server salta giu-set per stagione estiva, alt…
- `osm_relation_id` (integer, required): Relation OSM del sentiero
- `quota_riferimento_m` (integer): Quota per il meteo
- `zona_valanghe`: Zona del bollettino. Se assente viene dedotta dalle coordinate del sentiero.

Output parameters:

- `avvertenza` (string)
- `bollettino`
- `data` (string)
- `fonti` (array)
- `meteo` (array)
- `ricoveri_vicini` (array)
- `segnali` (array)
- `sentiero`
- `zona_valanghe`

## Diagnostics

Captured diagnostic sections: Provenance, Install scripts, Dependencies. The full working is on the page: https://verifymcp.io/servers/19alma98-trekking-mcp/trekking-mcp#diagnostics

## Score history

- 2026-11-04: 80
- 2026-11-03: 84
- 2026-11-02: 69
- 2026-11-01: 84
- 2026-10-31: 84
- 2026-10-30: 84
- 2026-10-29: 84
- 2026-10-28: 69
- 2026-10-27: 68
- 2026-10-26: 68
- 2026-10-25: 68
- 2026-10-24: 67
- 2026-10-23: 67
- 2026-10-22: 66
- 2026-10-21: 66
- 2026-10-20: 80
- 2026-10-19: 80
- 2026-10-18: 64
- 2026-10-17: 79
- 2026-10-16: 63
- 2026-10-15: 78
- 2026-10-14: 39
- 2026-10-13: 39
- 2026-10-12: 24
- 2026-10-04: 70
- 2026-10-03: 70
- 2026-10-02: 70
- 2026-10-01: 70
- 2026-09-30: 70
- 2026-09-29: 55

## Common questions

### What is the Sentieri e condizioni di montagna MCP server?

Sentieri e condizioni di montagna is an MCP server listed in the public MCP registry as io.github.19Alma98/trekking-mcp. Italian trails, huts, avalanche bulletins and elevation weather. This page covers its PyPI package (trekking-mcp).

### Is the Sentieri e condizioni di montagna MCP server safe to use?

Sentieri e condizioni di montagna scores 80 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 4 November 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Sentieri e condizioni di montagna MCP server expose?

Sentieri e condizioni di montagna exposes 10 tools: cerca_sentieri, dettaglio_sentiero, cerca_ricoveri, sentieri_verso_localita, zona_valanghe_da_coordinate, and 5 more. Their descriptions and schemas cost roughly 2,002 tokens of context every time the server is loaded.

### Is the Sentieri e condizioni di montagna MCP server still maintained?

Sentieri e condizioni di montagna is still listed as active in the MCP registry. We last reached this channel on 4 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

### What licence is the Sentieri e condizioni di montagna MCP server under?

Sentieri e condizioni di montagna declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.

## Links

- PyPI project: https://pypi.org/project/trekking-mcp/
- Socket report: https://socket.dev/pypi/package/trekking-mcp
- Repository: https://github.com/19Alma98/trekking_mcp
- Changelog RSS feed: https://verifymcp.io/servers/19alma98-trekking-mcp/trekking-mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/19alma98-trekking-mcp/trekking-mcp.json
- HTML version of this page: https://verifymcp.io/servers/19alma98-trekking-mcp/trekking-mcp
