io.github.guzz-labs/epwforge-mcp
EPW/DDY weather files - TMY/AMY/CMIP6 morphing, UHI, events, smoke. 3 of 4 tools anon-free.
Versions
0.3.1latestTools 4
find_station Search the GuzzStations catalog (17,000+ weather stations worldwide). Optional enrichments (route through hosted MCP for the extra queries): - include_amy_extremes: hottest/coldest/most-humid years on record - include_climate_deltas: monthly CMIP6 delta-T for the picked scenario No authentication required for any mode. Examples: find_station(query="Denver") find_station(lat=40.7, lon=-74.0, max_results=5) find_station(country="JPN", query="Tokyo") find_station(lat=40.7, lon=-74.0, include_amy_extremes=True) find_station(lat=40.7, lon=-74.0, include_climate_deltas=True, ssp="ssp245", year=2050)
analyze_weather Compute design conditions, HDD/CDD, monthly stats, and peak days for one or more EPW files. No EPW content returned — stats only. Three modes: 1. Single URL: analyze_weather(url="https://...") 2. Multi-URL comparison: analyze_weather(urls=["...", "...", "..."]) 3. Synthesized config: analyze_weather(config={"lat": 40.7, "lon": -74, "ssp": "ssp370", "year": 2050, "uhi": "urban"}) ⚠ CRITICAL ROUTING RULE — read before calling: If the user is comparing N sites (data-center siting, climate-zone spread, portfolio resilience, etc.) you MUST: 1. Call `find_station` once per city to get its EPW URL 2. Call `analyze_weather` EXACTLY ONCE with `urls=[all N urls]` Do NOT call analyze_weather N times in a loop with single configs. That breaks the comparison card UI (each call renders a separate blank widget), produces no future-projection deltas, and is slow. `include_future_projection=true` (the default for url-mode) embeds SSP 3-7.0 P75 2050 design conditions per site in one shot, which is what the inline card UI needs. Use `config` mode ONLY for: (a) a single site morphed to a specific future scenario, or (b) stress-testing event compounds for one site. Never use config mode in a loop to fake a comparison. Modes 1 + 2 download the URLs and parse locally (purely client-side). Mode 3 routes through the hosted EPWForge MCP so the morph/UHI/event/smoke pipeline runs on EPWForge infrastructure — the synthesized EPW never leaves the server. Use mode 3 to preview a future-climate scenario or a UHI / extreme-event sensitivity without spending credits. No authentication required for any mode.
chart_weather Render an SVG chart from EPW data. chart_type='diurnal' — monthly Max / Avg / Min hourly temperature profile in °F (January and July highlighted, annual mean overlaid). Pass `url` or `config`. chart_type='comparison' — horizontal-bar chart of cooling/heating deltas across multiple EPWs. Pass `urls` (first = baseline). No authentication required for any mode.
generate_weather_file Generate and deliver an EPW or DDY file. Requires an EPWFORGE_API_KEY. Charges credits per call: 1 for single, 1×N for scenarios batch, 10 for ensemble. Free signup at https://epwforge.com includes 5 welcome credits. Three modes: 1. Single file (default): generate_weather_file(lat=40.7, lon=-74, ssp="ssp245", year=2050) 2. Batch (1×N): generate_weather_file(scenarios=[{lat, lon, ssp:...}, ...]) 3. Ensemble (10 credits): generate_weather_file(lat=, lon=, ssp=, year=, ensemble=True) — returns ~20 per-model EPWs For analysis / charts without paying credits, use analyze_weather or chart_weather with a `config` argument — same morph/UHI/event pipeline, stats/SVG returned, no EPW delivered.
Permissions 4
network medium filesystem low shell high env_vars low