
# mcp-swiss
**Swiss open data for AI — zero config, zero API keys**
[](https://www.npmjs.com/package/mcp-swiss)
[](https://github.com/vikramgorla/mcp-swiss/actions/workflows/ci.yml)
[](https://opensource.org/licenses/MIT)
[](https://modelcontextprotocol.io)
[](https://www.npmjs.com/package/mcp-swiss)
[](https://github.com/vikramgorla/mcp-swiss)
[](https://nodejs.org)
[](https://github.com/vikramgorla/mcp-swiss/releases/latest/download/mcp-swiss.mcpb)
[](https://github.com/vikramgorla/mcp-swiss/releases/latest/download/mcp-swiss.mcpb)
[Install](#installation) · [Tools](#tools) · [Demo](#demo-prompts) · [Data Sources](#data-sources)
---
`mcp-swiss` is a [Model Context Protocol](https://modelcontextprotocol.io) server that gives any AI assistant direct access to Swiss open data — trains, weather, rivers, maps, and companies.
**76 tools. No API keys. No registration. No server to run. Just `npx mcp-swiss`.**
```
🚆 Transport — SBB, PostBus, trams, live departures, journey planning
🌤️ Weather — MeteoSwiss live conditions + historical data
🌊 Hydrology — BAFU river & lake levels (great for Aare swimming!)
🗺️ Geodata — swisstopo geocoding, solar potential, geographic layers
🏢 Companies — ZEFIX federal registry, all 700K+ Swiss companies
🎄 Holidays — Swiss public & school holidays by canton
🏛️ Parliament — Bills, votes, members, speeches, cantonal affairs (OpenParlData.ch)
🏔️ Avalanche — SLF danger bulletins and warning regions
💨 Air Quality — NABEL stations, Swiss legal limits (LRV)
📮 Swiss Post — Postcode lookup and parcel tracking
⚡ Energy — Electricity tariffs by municipality (ElCom)
📊 Statistics — Population, demographics, BFS datasets
🏦 SNB Rates — Swiss National Bank CHF exchange rates, historical data
♻️ Recycling — Zurich city waste collection calendar (OpenERZ)
📰 Swiss News — SRF news headlines and keyword search
🗳️ Voting — Swiss popular vote results (Basel-Stadt open data)
🌊 Dams — Swiss federal dam registry (SFOE/swisstopo)
🥾 Hiking — Swiss trail closures and hiking alerts (swisstopo)
🏠 Real Estate — Swiss property prices, rent index, housing data (BFS)
🚗 Traffic — ASTRA counting stations, daily volumes
🌍 Earthquakes — Swiss Seismological Service (SED/ETH Zürich), FDSN API
```
---
## Installation
### Quick Start
```bash
npx mcp-swiss
```
That's it. No API keys, no `.env` files, no accounts. Pick your client below and paste the config.
---
### One-Click Install (.mcpb)
`.mcpb` bundles work with Claude Desktop and any MCP Bundle-compatible app.
[**⬇ Download mcp-swiss.mcpb**](https://github.com/vikramgorla/mcp-swiss/releases/latest/download/mcp-swiss.mcpb)
[](https://github.com/vikramgorla/mcp-swiss/releases/latest/download/mcp-swiss.mcpb)
Open the downloaded file — your app handles the rest. No config editing, no terminal, no API keys.
---
### Claude Desktop
Edit your config file:
- **macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
- **Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
- **Linux:** `~/.config/Claude/claude_desktop_config.json`
```json
{
"mcpServers": {
"swiss": {
"command": "npx",
"args": ["-y", "mcp-swiss"]
}
}
}
```
Restart Claude Desktop after saving.
---
### Claude Code (CLI)
```bash
claude mcp add swiss -- npx -y mcp-swiss
```
That's it — Claude Code will use it in your next session.
---
### Cursor
> Requires Cursor 0.45.6+
**Option A: Project config** — create `.cursor/mcp.json` in your project root:
```json
{
"mcpServers": {
"swiss": {
"command": "npx",
"args": ["-y", "mcp-swiss"]
}
}
}
```
**Option B: Global config** — create `~/.cursor/mcp.json`:
```json
{
"mcpServers": {
"swiss": {
"command": "npx",
"args": ["-y", "mcp-swiss"]
}
}
}
```
**Option C: Via Cursor Settings UI**
1. Open Cursor Settings
2. Go to **Features → MCP Servers**
3. Click **+ Add new global MCP server**
4. Paste the JSON config above
---
### VS Code (GitHub Copilot)
#### One-click Install
[