Atlas / MCP servers / pipeworx-io / mcp-meteoswiss

mcp-meteoswissSAFE

mcp/pipeworx-io/mcp-meteoswiss

Swiss weather and federal geodata from MeteoSwiss and swisstopo on data.geo.admin.ch — find SwissMetNet automatic weather stations, radar, pollen, ICON forecasts and climate normals, plus elevation and topographic layers, and get the direct CSV, GeoTIFF and NetCDF download URLs for each.

Verdict
SAFE
Grade
B
Trust score
89 /100
Exposed tools
2 2r · 0w · 0d
Transport
stdio · streamable-http
License
MIT
Stars
0
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

Swiss weather and federal geodata from MeteoSwiss and swisstopo on data.geo.admin.ch — find SwissMetNet automatic weather stations, radar, pollen, ICON forecasts and climate normals, plus elevation and topographic layers, and get the direct CSV, GeoTIFF and NetCDF download URLs for each.

Part of Pipeworx — an MCP gateway connecting AI agents to 1683+ live data sources.

Tools

  • meteoswiss_collections(contains?, scope?, prefix?, limit?) — MeteoSwiss

datasets by default (ch.meteoschweiz.*); scope: "all_swiss" opens the whole 513-collection federal catalogue (swisstopo, BAFU, Agroscope).

  • meteoswiss_collection(collection_id) — one collection in full. The

SwissMetNet description is where the resolution and recency codes are defined.

  • meteoswiss_search(collections?, bbox?, datetime?, ids?, limit?, max_assets?)

— which stations or tiles cover an area, with their coordinates, human names and direct download URLs.

Auth

Keyless, metadata and assets. Everything is a public HTTPS download on data.geo.admin.ch.

Data sources

  • — STAC API 1.0, the Swiss

Confederation's open geodata catalogue. MeteoSwiss OGD is the ch.meteoschweiz. prefix.

Shared client: shared/src/stac.ts, also used by planetary-computer, earth-search and copernicus-dataspace.

Traps

  • **An item's datetime is when the file was published, not when the weather

happened*, and this produces a wrong answer rather than an error. One item is one station*, not one observation: station abo (Adelboden) carries datetime: 2026-09-17T... while its assets cover 1980 to today, and the collection's temporal extent is a few milliseconds wide. "No station data before 2026" is a misreading of a correct payload. The measurements are inside the CSV assets.

  • The asset filename encodes resolution and recency. In

ogd-smn___: res is t = 10-minute

Read from source at commit a25f5da22922OBSERVED · 2026-10-11
02

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control.

claude-code
claude mcp add mcp-meteoswiss -- npx -y @pipeworx/[email protected]
claude-desktop
{
  "mcpServers": {
    "mcp-meteoswiss": {
      "command": "npx",
      "args": [
        "-y",
        "@pipeworx/[email protected]"
      ]
    }
  }
}
03

Exposed tools (2)

2 read · 0 write · 0 destructive.

ToolRiskDescription
meteoswiss_collectionsreadList MeteoSwiss open-data collections on data.geo.admin.ch — SwissMetNet automatic weather stations, precipitation and tower stations, radar, hail, pollen, phenology, ICON-CH forecasts, climate normals and CH2025 scenarios — with each one\
meteoswiss_searchreadSearch Swiss weather stations and federal geodata by area, returning one item per station or map tile with its coordinates, human name and direct CSV/GeoTIFF download URLs. AUTHORITATIVE for which MeteoSwiss stations cover a Swiss location and exactly which files to fetch for them. NOTE an item\
04

Trust audit

SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codePASS
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
none-observed
Network
declared (2 observation(s))
Shell
none-observed
Dependencies
not all pinned
Secrets in source
none-found

Findings (1)

LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
package.json
@modelcontextprotocol/sdk, tsx, typescript, @cloudflare/workers-types
Why it matters. 4 dependency range(s) float
Fix. pin exact versions or ship a lockfile

Gates applied: no_behavioural_pass.

Audited 2026-10-11 · audit v0.4.1 · source sha a25f5da22922full audit observations/trust-audit/mcp-server/pipeworx-io__mcp-meteoswiss.json · Report an issue / request a re-scan
05

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-11a25f5da22922SAFEB89first audit
06

Questions

What is the mcp-meteoswiss MCP server?

Swiss weather and federal geodata from MeteoSwiss and swisstopo on data.geo.admin.ch — find SwissMetNet automatic weather stations, radar, pollen, ICON forecasts and climate normals, plus elevation and topographic layers, and get the direct CSV, GeoTIFF and NetCDF download URLs for each.

What tools does mcp-meteoswiss expose?

2 in total: 2 read-only, 0 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.

Is mcp-meteoswiss safe to connect to an agent?

The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B.

What credentials does mcp-meteoswiss need?

No credential environment variables were found in its source, so it appears to need none.

How does mcp-meteoswiss run?

It speaks stdio and streamable-http, so it runs as a local process your client starts. It is published on npm as @pipeworx/mcp-meteoswiss at 0.1.1.

How current is this page?

The grade is for one exact copy of the source (a25f5da22922), read on 2026-10-11. The repository is watched and re-audited when it changes.

Advertisement