🌦️ MeteoSwiss LLM Tools
MCP serverAI & modelsThis integration gives your AI access to Swiss weather data, so it can answer weather questions with real forecasts and readings. Once added, your AI can look up forecasts, current measurements, weather stations, and pollen levels for Switzerland.
Use 🌦️ MeteoSwiss LLM Tools in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add 🌦️ MeteoSwiss LLM Tools and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use 🌦️ MeteoSwiss LLM Tools to search
No key or account is asked for. Not verified by us yet: Ahel has not run a call through it.
Details
Available today. Use it from your connected AI after setup.
No key or account is asked for. Not verified by us yet: Ahel has not run a call through it.
After adding it, ask your AI for a forecast, current measurements, or pollen levels for a place in Switzerland.
What your AI can do with it
- Get weather forecasts for Swiss locations
- Look up current weather measurements
- Find weather stations
- Check pollen levels
Install 🌦️ MeteoSwiss LLM Tools
The server’s own address, for the clients that take one directly. Or connect Ahel once and every client you use reads it from one address, with the account kept on Ahel rather than in each client’s config.
Claude Code
claude mcp add --transport http --scope user meteoswiss-llm-tools 'https://meteoswiss-mcp.ars.is/mcp'Run it once in your project, then open /mcp to approve any sign-in the server asks for.
Claude Desktop
https://meteoswiss-mcp.ars.is/mcpAdd a custom connector in Settings, paste this address, and approve the sign-in.
Cursor
cursor://anysphere.cursor-deeplink/mcp/install?name=meteoswiss-llm-tools&config=eyJ1cmwiOiJodHRwczovL21ldGVvc3dpc3MtbWNwLmFycy5pcy9tY3AifQ==Open the link and Cursor adds the server at that address.
ChatGPT
https://meteoswiss-mcp.ars.is/mcpIn Settings, enable Developer mode, create an MCP app, and paste this address. Your plan and workspace must allow custom apps.
Codex
codex mcp add meteoswiss-llm-tools --url 'https://meteoswiss-mcp.ars.is/mcp'Run it once, then sign in with codex mcp login meteoswiss-llm-tools if the server asks for an account.
From the project's README
As published by eins78/meteoswiss-llm-tools in README.md.
Swiss weather data for AI assistants — powered by MeteoSwiss Open Government Data (OGD), the same data behind the MeteoSwiss app and website. Free, no API key required.
meteoswiss-mcp.ars.is — try the hosted service instantly, no setup needed.
This repo is also a working answer to a design question: how should you give AI agents access to a public dataset? It implements the same MeteoSwiss data access twice — as an agent skill (markdown instructions plus bash scripts, no server) and as an MCP server (structured tools, fuzzy matching, caching, hosted). The two approaches are compared honestly in the skill vs. MCP case study.
A third piece, meteoswiss-forecast-evals, demonstrates eval-driven interface design: a promptfoo suite measuring how well 13 LLMs read the forecast JSON, which settled a real design decision — local-time timestamps beat UTC, with hour-level lookups scoring ~100% vs. ~0%.
What the tools provide:
- Multi-day forecasts for ~6000 Swiss locations (postal codes, stations, place names)
- Real-time measurements from ~300 stations (~160 full weather + ~140 precipitation-only), updated every 10 minutes
- Station discovery by name, canton, or GPS coordinates
- Pollen monitoring from ~15 stations across Switzerland
- Climate series from the National Basic Climatic Network (NBCN), going back decades
- MeteoSwiss website search and content retrieval
What this repo demonstrates
- An agent skill — teach an agent to fetch open data directly with
curl/awk/jq: ~630 lines of markdown and bash, zero infrastructure. → packages/meteoswiss-skills - An MCP server — the same data as structured, validated tools with fuzzy station matching, geocoding, TTL-tiered caching, a real test suite, Docker, and a hosted instance. → packages/meteoswiss-mcp
- Eval-driven interface design — treat tool output as an interface for a language model, and measure its legibility before shipping. → packages/meteoswiss-forecast-evals
Read the comparison: Skill vs. MCP Server: Two Ways to Give AI Agents the Same Data.
Choose your approach
Both approaches answer the same weather questions. Which to install depends on your agent:
| MCP Server | Agent Skill | |
|---|---|---|
| What it is | Standalone server exposing 7 structured tools via MCP | Markdown instructions + 5 bash scripts the agent runs directly |
| Works with | Claude Desktop, Claude.ai, Cursor, any MCP client | Claude Code, Cursor, any agent with shell access |
| Coverage | Forecasts, current weather, stations, pollen, climate series, website search | Forecasts, current weather, stations, pollen |
| Extras | Fuzzy matching, geocoding, caching, DE/FR/IT prompts, structured JSON | No server, no Node.js — just curl, awk, jq |
| Size | ~6.6k lines TypeScript, tested in CI | ~630 lines markdown + bash |
| Install | One-liner (hosted), npm, or Docker | Plugin marketplace, Skills CLI, or symlink |
Full comparison — parity matrix, engineering trade-offs, context cost, when to choose which: docs/skill-vs-mcp.md.
MCP server — quickstart
Use the hosted instance (no installation):
# Claude Code
claude mcp add meteoswiss https://meteoswiss-mcp.ars.is/mcp
For Cursor, install from the Cursor Directory or add manually via Settings → MCP.
Or self-host with Docker:
docker run -p 3000:3000 ghcr.io/eins78/meteoswiss-mcp:latest
See the meteoswiss-mcp README for Claude Desktop setup, environment variables, and full documentation.
Agent skill — quickstart
Install via the Claude Code plugin marketplace:
/plugin marketplace add eins78/meteoswiss-llm-tools
/plugin install meteoswiss-skills@meteoswiss-marketplace
Or with the Skills CLI:
pnpx skills add https://github.com/eins78/meteoswiss-llm-tools.git#packages/meteoswiss-skills --global --agent claude-code --all
See the meteoswiss-skills README for manual installation and details.
Available tools (MCP server)
| Tool | Description |
|---|---|
meteoswissLocalForecast | Multi-day forecasts by postal code, station, or place name |
meteoswissCurrentWeather | Real-time measurements (temperature, wind, humidity, pressure) |
meteoswissStations | Search station network by name, canton, or coordinates |
meteoswissPollenData | Pollen concentration data from monitoring stations |
meteoswissClimateData | NBCN climate series — temperature, precipitation, sunshine, and climate indicators going back decades |
search | Search MeteoSwiss website content (DE, FR, IT, EN) |
fetch | Fetch full content from MeteoSwiss pages |
Example questions
Works with both approaches — just ask in any of Switzerland's four languages:
- "What's the weather forecast for Zurich this week?"
- "Wie wird das Wetter in Bern morgen?"
- "Quelle est la météo à Genève?"
- "Che tempo fa a Lugano?"
Packages
| Package | Version | Description |
|---|---|---|
meteoswiss-mcp | MCP server with structured tools, fuzzy matching, and geocoding | |
meteoswiss-skills | 1.0.0 | Agent skill — direct HTTP access, no server needed |
meteoswiss-forecast-evals | — | LLM eval suite for the forecast JSON format (standalone, not a workspace member) |
Documentation
- Skill vs. MCP case study — the honest comparison of the two approaches
- Eval results: forecast JSON comprehension — the local-time-vs-UTC sweep
- MCP server user guide
- Documentation index
Development
git clone https://github.com/eins78/meteoswiss-llm-tools.git
cd meteoswiss-llm-tools
nvm use && pnpm install
See each package's README for package-specific commands. The repo uses changesets for versioning.
Manual, point-in-time test reports (e.g. live MCP tool test passes) live in docs/test-reports/.
Data source
All weather data comes from MeteoSwiss Open Government Data (OGD) — the official free data offering from Switzerland's Federal Office of Meteorology and Climatology. The same data powers the MeteoSwiss app and website.
License
CC0-1.0 — public domain
Tools it offers (7)
What this server listed when Ahel dialed its public endpoint in Oct 2026, with no key and no account of yours. The names are the server’s own.
searchfetchmeteoswissLocalForecastmeteoswissCurrentWeathermeteoswissStationsmeteoswissPollenDatameteoswissClimateData
Signals
- GitHub stars
- 3
- Forks
- 2
- Last commit
- Sep 2026
- Weekly downloads
- 55
Advanced
- Delivery
- meteoswiss-mcp MCP server → your Ahel connector (mcp.ahel.ai) → your AI.
- Item type
- mcp-server
- Key
io-github-eins78-meteoswiss-mcp- Source
- github.com/eins78/meteoswiss-llm-tools
- Hosted endpoint
https://meteoswiss-mcp.ars.is/mcp
github.com/eins78/meteoswiss-llm-tools
More in AI & models
MCP server · upstash
More in AI & modelsAdButler
MCP server · adbutler
More in AI & modelsatom-mcp-server
MCP server · a7om-ai
More in AI & modelsottasia
MCP server · aiweather-anurag
More in AI & modelsunphurl
MCP server · 123ergo
More in AI & modelsmicrosoft-learn-mcp
MCP server · microsoftdocs
More in AI & models