bartosz-kuc

imgw-mcp

Community bartosz-kuc
Updated

Local MCP server for IMGW-PIB weather, hydro data and warnings in Poland

imgw-mcp

Local MCP server for IMGW-PIB (Polish Institute of Meteorology and Water Management) public data feed — current weather, hydrological readings, and active meteorological warnings across Poland.

Part of the honest-mcp family of small, auditable, local-first MCP servers.

Why

Anyone in Poland who watches river levels (flood-plain landlord, kayaker, farmer), plans outdoor work, or just wants a native alternative to yr.no or the ECMWF apps can hand IMGW's raw feed to their AI in one line. No API key. No rate limit worth worrying about.

Features

Five tools:

  • get_weather — current synoptic observations. Whole country (~60 stations) or one station.
  • get_hydro — hydrological readings. Water level, flow, water temperature, alarm/warning thresholds. Server annotates each with computed alarm_status (normal / warning / alarm).
  • get_warnings — active IMGW meteorological warnings (storms, frost, heat, precipitation, wind) with severity and validity window.
  • list_weather_stations — station-name index for get_weather.
  • list_hydro_stations — station index with rivers and provinces, filterable, for get_hydro.

Data source

  • Endpoint: danepubliczne.imgw.pl/api/data — IMGW public data feed
  • No API key
  • Refresh: synop hourly, hydro every ~20 minutes, warnings whenever a new one is issued

Requirements

  • Python 3.10+

Setup

git clone https://github.com/bartosz-kuc/honest-imgw-mcp.git
cd imgw-mcp
python3 -m venv venv
./venv/bin/pip install -r requirements.txt

Register with Claude Code:

claude mcp add imgw /absolute/path/to/venv/bin/python /absolute/path/to/server.py

Claude Desktop claude_desktop_config.json:

{
  "mcpServers": {
    "imgw": {
      "command": "/absolute/path/to/venv/bin/python",
      "args": ["/absolute/path/to/server.py"]
    }
  }
}

Example usage

"What's the temperature in Warsaw right now?"

get_weather(station="warszawa") → single-station JSON with temperature, wind, humidity, precipitation, pressure.

"Any active storm warnings?"

get_warnings() → list of active warnings, filter yourself by nazwa_zdarzenia.

"Any rivers in Mazowieckie above alarm level?"

get_hydro(province="mazowieckie", only_alerts=true) → just stations where current level ≥ alarm threshold.

Data flow

Your AI client
     ↕  MCP stdio
This server (Python, on your machine)
     ↕  HTTPS
danepubliczne.imgw.pl

No cloud middle. No telemetry.

Author

Bartosz Kuć — Warsaw-based developer, JDG owner running skanfirmy.pl.

Consulting

Available for consulting on Polish tax and business integrations (KSeF, GUS/NFZ/GIOŚ APIs, mBank data), MCP server design, and AI-assisted tooling for JDGs and small teams. See skanfirmy.pl/uslugi for productized packages (audit 3k PLN, setup 8-15k PLN, retainer 2-4k PLN/mo), or reach out via email.

License

MIT — see LICENSE.

Related

MCP Server · Populars

MCP Server · New

    feder-cr

    aihawk

    Open-source AI browser agent for web automation, undetected by anti-bot systems: a web browsing agent on a stealth Firefox that is not flagged as a bot, not blocked, and does not trigger captchas. Plain-English tasks, computer-use agent, browser MCP for Claude Code and Gemini CLI.

    Community feder-cr
    LeandroPG19

    MemoryIndustry

    Persistent memory MCP server for AI agents — Rust, 19 tools, knowledge graph, Hebbian learning, episodic memory, contradiction detection, prospective triggers, Bayesian calibration, zero-config Docker setup.

    Community LeandroPG19
    btsouth

    Toolport

    Local-first MCP gateway. One port for every tool and every AI client: lazy discovery (~90% token savings), tool integrity + quarantine, secrets in the OS keychain.

    Community btsouth
    manavmishra

    zeroslop

    Open-source Agent Skill that scores AI-sounding writing 0–100, edits it with your assistant.

    Community manavmishra
    opldotdev

    BSV MCP

    An MCP Server for Bitcoin SV

    Community opldotdev