프로토타입 · 미리 보기: 공식 레지스트리의 모든 서버를 담고 있으며 30분마다 동기화해요. Google로 로그인하면 리뷰를 쓸 수 있어요.프로토타입 · 30분마다 업데이트
PopNx MCPAI를 쓰는 사람을 위한 MCP 서버 · 쉬운 말로 설명해요

Meteoswiss MCP

제작자: malkreide버전 0.7.0i★ 0i내 컴퓨터에서 실행
레지스트리 이름io.github.malkreide/meteoswiss-mcp

설치 방법

What it does

MeteoSwiss Open Data for weather, climate normals, warnings

  • Connects 내 컴퓨터에서 실행
  • Account or key No key needed
  • Category 법률 및 정부 데이터

설치

쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.

검사 3/3 통과 · 내 컴퓨터에서 실행돼요 · ✓ 명령 확인 2026년 11월 13일

먼저: 어떤 AI를 쓰시나요?

쓰는 앱을 고르면 아래에 단계가 나옵니다.

Claude에 연결할 수 있지만 먼저 준비가 필요해요

먼저 컴퓨터에 Python (uv)를 설치하세요 (한 번만) · 컴퓨터용 Claude 앱(Windows 또는 Mac)에서만 되고 웹이나 모바일은 안 돼요

  1. Python (uv) 설치

    한 번만 하면 Python (uv)가 필요한 모든 서버에 쓸 수 있어요

    Python (uv) 다운로드 페이지 열기 ↗

  2. 컴퓨터용 Claude 앱 설정 파일 열기

    SettingsDeveloperEdit Config

  3. 이 설정을 붙여 넣고 저장

    {
      "mcpServers": {
        "meteoswiss": {
          "command": "uvx",
          "args": [
            "meteoswiss-mcp"
          ]
        }
      }
    }
  4. Claude를 끄고 다시 열기

  5. 해 보기

    Meteoswiss MCP을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐

    ✓ Claude가 Meteoswiss MCP을 쓰고 있다고 하거나 답에 Meteoswiss MCP 도구 이름이 나오면 연결된 거예요

메뉴 이름은 2026년 11월 11일에 Anthropic 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요

ChatGPT는 아직 Meteoswiss MCP에 연결할 수 없어요

Meteoswiss MCP는 내 컴퓨터에 설치해서 쓰지만 ChatGPT는 웹에서 도는 서버만 연결할 수 있어요

대신 이렇게 할 수 있어요

A · Meteoswiss MCP에 연결되는 앱 쓰기

  • 먼저 컴퓨터에 Python (uv)를 설치하세요 (한 번만) · 컴퓨터용 Claude 앱(Windows 또는 Mac)에서만 되고 웹이나 모바일은 안 돼요
  • 먼저 컴퓨터에 Python (uv)를 설치하세요 (한 번만)
  • 먼저 컴퓨터에 Python (uv)를 설치하세요 (한 번만)
  • 먼저 컴퓨터에 Python (uv)를 설치하세요 (한 번만)

B · 법률 및 정부 데이터에서 ChatGPT에 연결되는 다른 서버

같은 분류에서 많이 쓰는 것 중 키 없이 주소만으로 연결되는 것을 골랐어요

Claude Code에 연결할 수 있지만 먼저 준비가 필요해요

먼저 컴퓨터에 Python (uv)를 설치하세요 (한 번만)

  1. Python (uv) 설치

    한 번만 하면 Python (uv)가 필요한 모든 서버에 쓸 수 있어요

    Python (uv) 다운로드 페이지 열기 ↗

  2. 터미널 열기

    Mac: Command+스페이스를 누르고 Terminal 입력 · Windows: PowerShell 열기

  3. 이 명령을 붙여 넣고 Enter

    claude mcp add --scope user meteoswiss -- uvx meteoswiss-mcp
  4. Claude Code에서 /mcp 입력

    Meteoswiss MCP이 목록에 있고 연결됨으로 보이면 돼요

  5. 해 보기

    Meteoswiss MCP을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐

    ✓ Claude Code가 Meteoswiss MCP을 쓰고 있다고 하거나 답에 Meteoswiss MCP 도구 이름이 나오면 연결된 거예요

메뉴 이름은 2026년 11월 11일에 Anthropic 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요

Cursor에 연결할 수 있지만 먼저 준비가 필요해요

먼저 컴퓨터에 Python (uv)를 설치하세요 (한 번만)

  1. Python (uv) 설치

    한 번만 하면 Python (uv)가 필요한 모든 서버에 쓸 수 있어요

    Python (uv) 다운로드 페이지 열기 ↗

  2. 이 버튼으로 Cursor 열기

    Cursor에서 열기

    Cursor가 설치를 확인하면 Install을 누르세요

  3. Cursor에서 AI 채팅을 Agent 모드로 열기

  4. 해 보기

    Meteoswiss MCP을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐

    ✓ Cursor가 Meteoswiss MCP을 쓰고 있다고 하거나 답에 Meteoswiss MCP 도구 이름이 나오면 연결된 거예요

메뉴 이름은 2026년 11월 11일에 Cursor 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요

VS Code에 연결할 수 있지만 먼저 준비가 필요해요

먼저 컴퓨터에 Python (uv)를 설치하세요 (한 번만)

  1. Python (uv) 설치

    한 번만 하면 Python (uv)가 필요한 모든 서버에 쓸 수 있어요

    Python (uv) 다운로드 페이지 열기 ↗

  2. 이 버튼으로 VS Code 열기

    VS Code에서 열기

    VS Code가 설치를 확인하면 Install을 누르세요

  3. VS Code에서 AI 채팅을 Agent 모드로 열기

  4. 해 보기

    Meteoswiss MCP을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐

    ✓ VS Code가 Meteoswiss MCP을 쓰고 있다고 하거나 답에 Meteoswiss MCP 도구 이름이 나오면 연결된 거예요

메뉴 이름은 2026년 11월 11일에 VS Code 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요

Windsurf, Zed, Gemini CLI 같은 다른 MCP 앱은 추가 방법이 저마다 달라요. 앱 목록에서 확인하세요

MCP를 쓰는 앱 모두 보기 →

JSON 설정은 아래 “개발자용”에 있어요

막혔나요? Meteoswiss MCP을 쓰는 사람에게 물어보세요💬 토론 →
개발자용: 터미널 명령과 JSON 설정

컴퓨터에 설치

Claude Code

claude mcp add --scope user meteoswiss -- uvx meteoswiss-mcp

Claude Desktop (claude_desktop_config.json)

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

Cursor (~/.cursor/mcp.json)

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

VS Code (mcp.json)

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

이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.

한눈에 보기

주간 다운로드i
31/주
연결 방식
내 컴퓨터에서 실행
최신 버전i
0.7.0
레지스트리 공개i
2026년 9월 27일
코드 마지막 변경i
2026년 11월 1일
제작자
malkreide
패키지
pypi: meteoswiss-mcp
웹사이트
github.com
레지스트리 상태
활성

어떤 앱에서 쓸 수 있나요

이 서버의 연결 방식과 각 앱의 공식 문서를 바탕으로 했어요. 2026년 11월 10일 확인.

내 컴퓨터에서 실행하는 앱

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast

모든 앱과 장단점 →

할 수 있는 일

내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.

기본 점검i

누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 13일 점검

  • ✓ 통과

    제작자와 저장소 일치

    레지스트리 이름이 GitHub 계정 malkreide 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요

  • ✓ 통과

    계속 관리되고 있음

    코드 마지막 변경: 12일 전

  • ✓ 통과

    라이선스 있음

    MIT 사용

  • – 해당 없음

    엔드포인트 응답

    내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요

  • – 해당 없음

    OAuth로 로그인

    내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요

  • … 아직 점검 안 함

    도구 설명에 숨겨진 지시 없음

    내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요

토론

질문하고, 팁을 나누고, 안 되는 점을 알려 주세요. "도움이 됨"이 많은 순서예요.

아직 글이 없어요. 처음으로 질문하거나 공유해 보세요.

이곳의 글은 사용자가 쓴 것으로, PopNx 팀의 글이 아니에요.

Google로 로그인하고 글쓰기

사용자 리뷰

아직 리뷰가 없어요

Google로 로그인하고 리뷰 쓰기

법률 및 정부 데이터 카테고리의 다른 서버와 비교i

  • 이 카테고리의 다른 서버 1836개 중 0%보다 스타가 많아요
  • 이 카테고리의 다른 서버 1836개 중 41%보다 최근에 레지스트리에 공개됐어요
  • 기본 점검 결과가 이 카테고리의 다른 서버 1836개 중 100%와 같거나 더 좋아요

레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.

자주 묻는 질문

Meteoswiss MCP, 안전한가요?

해당하는 기본 점검 3개 중 3개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.

어떤 키나 코드가 필요한가요?

레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.

내 컴퓨터에서 실행되나요, 클라우드에서 실행되나요?

내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).

아직 관리되고 있나요?

GitHub 저장소는 마지막으로 12일 전 변경됐고, 최신 버전(0.7.0)은 2개월 전 레지스트리에 올라왔어요.

어떤 앱에서 쓸 수 있나요?

Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Python (uv)도 있어야 해요.

대신 쓸 수 있는 건 뭐가 있나요?

같은 카테고리에는: Korean Law MCP, Global law, Tw Legal Rag

같은 카테고리의 다른 것

같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.

카드 보는 법:↓ 주간 다운로드i★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i

Korean Law MCP

Korean law: statutes, precedents, ordinances, treaties and citation verification (법제처 API).

제작자: chrisryugj널리 사용됨★ 2.9천10일 전 업데이트

클라우드에서 실행

Global law

The law of nearly every country on earth, any date: read it, see what changed it, check citations.

제작자: lexifina널리 사용됨★ 2천3일 전 업데이트

클라우드에서 실행✓ lexifina.com

Tw Legal Rag

Taiwan law MCP server: 22M court judgments, statutes, agency rulings, with citation checks

제작자: aa0101181514성장 중★ 346어제 업데이트

클라우드에서 실행

제작자의 README

README 열기

제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.

🌦️ meteoswiss-mcp

MCP server for Swiss weather and climate data from MeteoSwiss.

Connects AI models to the SwissMetNet measurement network (160+ stations, 10-minute interval), MeteoSwiss ICON-CH1/CH2-EPS forecasts and climate normals 1991–2020. Part of the swiss-public-data-mcp portfolio.

🇩🇪 Deutsche Version


Demo query (anchor example)

How suitable is next Wednesday for the sports day at Leutschenbach school?

→ meteo_school_check(location="Zürich Oerlikon", activity="Sporttag") returns a 🟢/🟡/🔴 traffic light for each day of the coming week — straight from the MeteoSwiss ICON model.

Combined with [swiss-environment-mcp](https://github.com/malkreide/swiss-environment-mcp):

How were air quality and weather at Leutschenbach school yesterday?

→ meteo_current(station='REH') + env_nabel_current(station='ZUE') = a complete environmental picture. → More use cases by audience →


Tools (6)

ToolDescriptionData source
meteo_stationsList SwissMetNet stations (filterable by canton)Embedded
meteo_currentCurrent 10-min observations for a stationBGDI STAC API
meteo_forecast1–16 day forecast for a place or coordinatesOpen-Meteo / MeteoSwiss ICON
meteo_school_check🟢/🟡/🔴 traffic light for outdoor school eventsOpen-Meteo / MeteoSwiss ICON
meteo_climate_normalsMonthly climate normals 1991–2020Embedded (KLO, SMA, BER, LUG, GVE)
meteo_warningsActive official weather warnings (storm, thunderstorm, heat, forest fire, …) — nationwide, by canton, or by PLZMeteoSwiss App-API + opendata.swiss
Tool annotations (MCP hints)

All tools carry explicit MCP annotations — relevant for the client approval UI and for the LLM's safety decisions.

ToolreadOnlyHintdestructiveHintidempotentHintopenWorldHint
meteo_stations✅✗✅✗ (curated list)
meteo_current✅✗✗ (live data)✅ (upstream STAC)
meteo_forecast✅✗✗ (live data)✅ (upstream Open-Meteo)
meteo_school_check✅✗✗ (live data)✅ (geocoding + forecast)
meteo_climate_normals✅✗✅✗ (embedded normals)
meteo_warnings✅✗✗ (live data)✅ (MeteoSwiss App-API)

Read rules: all 6 tools are readOnly + non-destructive — the server fundamentally cannot write or delete anything. idempotentHint=False marks tools that return different values depending on when they are called.

MCP protocol version
AspectValue
Tested spec versions2024-11-05, 2025-03-26, 2025-06-18 (via the mcp[cli] SDK)
MCP SDK versionsee pyproject.toml → mcp[cli]>=2.0.0,<3 (the MCPServer API from mcp.server.mcpserver)
Update policyDependabot watches mcp[cli]; spec bumps are documented in the CHANGELOG with a "Tool Definition Changes" marker

→ Full roadmap & update strategy: docs/roadmap.md


Quick start

Claude Desktop
{

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

Claude Desktop (local development)
{

"mcpServers": { "meteoswiss": { "command": "uv", "args": ["run", "--directory", "/path/to/meteoswiss-mcp", "meteoswiss-mcp"] } } }

Cloud / Render.com (Streamable HTTP)

Configuration via ENV variables (the CLI flags --http / --port N still work as an override):

VariableDefaultMeaning
MCP_TRANSPORTstdiostdio or streamable-http
MCP_HOST127.0.0.1Bind address — never change locally
MCP_PORT8000Port
MCP_ALLOW_ANY_HOST_unset_Must be set to 1 to allow the server to bind to 0.0.0.0 (containers/cloud only)
MCP_LOG_LEVELINFODEBUG / INFO / WARNING / ERROR — structured JSON logs on stderr
MCP_ALLOWED_ORIGINS_unset_Comma-separated list of allowed origins for CORS. Empty = CORS disabled (same-origin only). Mcp-Session-Id is exposed automatically.
MCP_API_KEY_unset_If set: every request except /health requires X-API-Key: or Authorization: Bearer . Constant-time comparison.
MCP_STATELESS_HTTP01 enables the SDK's stateless mode → each HTTP request opens a new session. Prerequisite for multi-replica deploys without sticky sessions (SCALE-002/003).
OTEL_EXPORTER_OTLP_ENDPOINT_unset_If set + pip install meteoswiss-mcp[otel]: OpenTelemetry spans per tool call + automatic httpx instrumentation are sent as OTLP-HTTP to the collector.
OTEL_SERVICE_NAMEmeteoswiss_mcpService name in the OTel resources
MCP_CACHE_ENABLED10 disables the TTL cache entirely (e.g. for end-to-end tests)
MCP_CACHE_TTL_STAC300TTL in seconds for STAC SMN observations (default 5 min)
MCP_CACHE_TTL_OPEN_METEO600TTL for ICON forecasts (default 10 min)
MCP_CACHE_TTL_GEOCODING3600TTL for geocoding lookups (default 1 h)
MCP_CACHE_TTL_OPENDATA3600TTL for the opendata.swiss catalogue (default 1 h)
MCP_CACHE_TTL_WARNINGS300TTL for warnings (MeteoSwiss App-API / structured override; default 5 min)
MCP_CLIMATE_NORMALS_PATH_unset_Path to a JSON file with additional climate normals — see data/climate-normals.example.json
MCP_WARNINGS_API_URL_unset_Override for the default MeteoSwiss App-API source: URL of a structured MeteoSwiss warnings API (e.g. the future OGD warnings REST endpoint). The host must be on the egress allow-list. Schema-tolerant (GeoJSON features, a warnings array or items). Unset → live App-API.
MCP_CLIMATE_NORMALS_URL_TEMPLATE_unset_URL template for runtime lookup of climate normals (for stations without embedded or JSON values). Tokens: {station} (lowercase), {STATION} (uppercase), {param} (MeteoSwiss code tre200m0/rre150m0/sre000m0). Example: https://data.geo.admin.ch/.../{station}/{param}.txt. The host must be on the egress allow-list.
# Local test (safe, loopback only)

MCP_TRANSPORT=streamable-http meteoswiss-mcp

Container / Render

MCP_TRANSPORT=streamable-http MCP_HOST=0.0.0.0 MCP_ALLOW_ANY_HOST=1 meteoswiss-mcp

Docker / Render

The repo includes a production-ready multi-stage Dockerfile (non-root user, HEALTHCHECK) and a `render.yaml` blueprint:

# Build + test locally

docker build -t meteoswiss-mcp . docker run --rm -p 8000:8000 meteoswiss-mcp curl http://127.0.0.1:8000/health # → {"status":"ok","service":"meteoswiss-mcp"}

On Render: "New → Blueprint" → select the repo. Defaults (plan starter, Frankfurt, single instance) are set in render.yaml.

Important: numInstances: 1 is set deliberately — sticky-session routing for multi-replica (audit SCALE-002/003) is not yet implemented.

Structured logging

All tool invocations, upstream failures and egress blocks are emitted as JSON events on stderr (stdio-transport safe). Example:

{"tool": "meteo_forecast", "days": 7, "has_coords": false, "event": "tool_invoked", "level": "info", "timestamp": "2026-05-20T07:00:00Z"}

{"tool": "meteo_forecast", "endpoint": "geocoding", "error_type": "HTTPStatusError", "event": "upstream_failed", "level": "warning", "timestamp": "..."} {"url": "https://evil.example.com/", "method": "GET", "reason": "host not in allow-list", "event": "egress_blocked", "level": "warning", "timestamp": "..."}

HTTP-mode security
  • MCP_HOST deliberately defaults to 127.0.0.1 so that --http on a dev laptop is not accidentally exposed to the local subnet (audit finding SEC-016).
  • All outgoing HTTP calls (including redirect follows) are validated against an allow-list: data.geo.admin.ch, api.open-meteo.com, geocoding-api.open-meteo.com, opendata.swiss. Other hosts and IP literals (in particular 169.254.169.254, RFC1918) are rejected with EgressBlocked (SEC-004 / SEC-021).
  • CORS: disabled by default (same-origin only). Browser clients (e.g. claude.ai web) need MCP_ALLOWED_ORIGINS= — the Mcp-Session-Id header is then automatically in Access-Control-Expose-Headers (SDK-004).
  • API-key auth: disabled by default. In a production HTTP setup, always set MCP_API_KEY= — requests without a valid X-API-Key or Authorization: Bearer … are rejected with 401 (SEC-009 / SEC-013). /health stays open for container health probes.
Example: production HTTP stack
# 32 bytes of randomness as the auth key

export MCP_API_KEY=$(python -c "import secrets; print(secrets.token_urlsafe(32))")

MCP_TRANSPORT=streamable-http \ MCP_HOST=0.0.0.0 \ MCP_ALLOW_ANY_HOST=1 \ MCP_ALLOWED_ORIGINS=https://app.example.com \ MCP_API_KEY="$MCP_API_KEY" \ meteoswiss-mcp


Example queries

School planning
Which days next week are suitable for a sports day in Zürich?

→ meteo_school_check(location="Zürich", activity="Sporttag")

What will the weather be at Leutschenbach school on Friday? → meteo_forecast(location="Zürich Oerlikon", days=5)

Show me current readings from the nearest MeteoSwiss station to Zürich-Schwamendingen. → meteo_current(station="REH")

Climate comparison
How much rain normally falls in June in Zürich?

→ meteo_climate_normals(station="KLO")

Is Lugano really much sunnier than Zürich? Show me the annual values. → meteo_climate_normals(station="LUG") + meteo_climate_normals(station="SMA")

Infrastructure & environment
Are there currently any weather warnings for the canton of Zürich?

→ meteo_warnings(canton="ZH")

Show me a 10-day forecast for the Heerenschürli sports facility with hourly values. → meteo_forecast(location="Sportanlage Heerenschürli Zürich", days=10, hourly=True)


Architecture

Claude Desktop / AI agent

│ │ MCP (stdio / Streamable HTTP) ▼ meteoswiss-mcp (MCPServer) │ ├── meteo_stations ──────────────── [embedded: ~20 SMN stations] │ ├── meteo_current ───────────────── BGDI STAC API │ data.geo.admin.ch/api/stac/v1 │ Collection: ch.meteoschweiz.ogd-smn │ ├── meteo_forecast ──────────────── Open-Meteo ├── meteo_school_check ──────────── api.open-meteo.com/v1/meteoswiss │ (MeteoSwiss ICON-CH1/CH2-EPS, 1–2 km) │ ├── meteo_climate_normals ───────── [embedded: normals 1991–2020] │ └── meteo_warnings ──────────────── app-prod-ws.meteoswiss-app.ch (MeteoSwiss App-API) + opendata.swiss

Data sources
SourceURLLicense
BGDI STAC API (MeteoSwiss OGD)data.geo.admin.ch/api/stac/v1CC BY 4.0
Open-Meteo (MeteoSwiss ICON)api.open-meteo.com/v1/meteoswissCC BY 4.0

| Open-Meteo

앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요