epwforge-mcp
Server Details
EPW/DDY weather files - TMY/AMY/CMIP6 morphing, UHI, events, smoke. 3 of 4 tools anon-free.
The last two health checks of this connector failed. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.
If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.
- Status
- Unhealthy
- Uptime
- 91.1% over 74 days
- Last Tested
- Transport
- Streamable HTTP
- URL
- Server Listing
- epwforge-mcp
TDQS
Scored across 6 tools
Each tool targets a distinct purpose: analysis, charting, interactive exploration, station search, file generation, and bundle preview. Overlap is explicitly addressed (e.g., explore vs. analyze), so an agent can reliably choose the right tool.
All six tools follow a consistent verb_noun pattern (analyze_weather, chart_weather, explore_design_conditions, find_station, generate_weather_file, preview_forge_bundle). No mixed conventions or vague verbs.
With exactly 6 tools, the server is well-scoped for its domain: discovery, analysis, visualization, generation, and purchase preview. Each tool earns its place without redundancy or bloat.
The tool surface covers the full workflow: finding stations, analyzing data, generating files, creating charts, and previewing purchases. There are no obvious gaps—users can go from station discovery to final file acquisition and analysis without dead ends.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Changed
find_station1 field changed- added
Input schema / properties / site_elevation_mAdded value: +{ + "description": "Site elevation in metres. Strongly recommended when lat/lon are set: elevation difference predicts whether a station is representative about 3x better than distance does, and supplying it turns the recommendation from a distance guess into a measured call.", + "type": "number" +}
1 tool update
- Added
preview_forge_bundle
5 tool updates
- Changed
analyze_weather2 fields changed- changed
Input schema / properties / config / properties / ssp / descriptionPrevious value: -"CMIP6 emission scenario. ssp585 was deprecated per CMIP7 (deemed implausible); use ssp370 as the high-end scenario."New value: +"CMIP6 emission scenario. ssp370 is the recommended high-end for design; ssp585 (SSP5-8.5) is an opt-in extreme stress-test pathway (~4.4°C, low likelihood per IPCC AR6 / CMIP7) for worst-case analysis." - changed
Input schema / properties / config / properties / ssp / enumPrevious value: -[ - "ssp126", - "ssp245", - "ssp370" -]New value: +[ + "ssp126", + "ssp245", + "ssp370", + "ssp585" +]
- Changed
chart_weather2 fields changed- changed
Input schema / properties / config / properties / ssp / descriptionPrevious value: -"CMIP6 emission scenario. ssp585 was deprecated per CMIP7 (deemed implausible); use ssp370 as the high-end scenario."New value: +"CMIP6 emission scenario. ssp370 is the recommended high-end for design; ssp585 (SSP5-8.5) is an opt-in extreme stress-test pathway (~4.4°C, low likelihood per IPCC AR6 / CMIP7) for worst-case analysis." - changed
Input schema / properties / config / properties / ssp / enumPrevious value: -[ - "ssp126", - "ssp245", - "ssp370" -]New value: +[ + "ssp126", + "ssp245", + "ssp370", + "ssp585" +]
- Changed
explore_design_conditions2 fields changed- changed
Input schema / properties / ssp / descriptionPrevious value: -"CMIP6 emission scenario. Omit for present-day TMY. ssp585 was deprecated per CMIP7 (deemed implausible); use ssp370 as the high-end scenario."New value: +"CMIP6 emission scenario. Omit for present-day TMY. ssp370 is the recommended high-end; ssp585 (SSP5-8.5) is an opt-in extreme stress-test pathway for worst-case analysis." - changed
Input schema / properties / ssp / enumPrevious value: -[ - "ssp126", - "ssp245", - "ssp370" -]New value: +[ + "ssp126", + "ssp245", + "ssp370", + "ssp585" +]
- Changed
find_station2 fields changed- changed
Input schema / properties / ssp / descriptionPrevious value: -"SSP scenario (only used with include_climate_deltas). ssp585 was deprecated per CMIP7 (deemed implausible); use ssp370 as the high-end scenario."New value: +"SSP scenario (only used with include_climate_deltas). ssp370 is the recommended high-end; ssp585 (SSP5-8.5) is an opt-in extreme stress-test pathway for worst-case analysis." - changed
Input schema / properties / ssp / enumPrevious value: -[ - "ssp126", - "ssp245", - "ssp370" -]New value: +[ + "ssp126", + "ssp245", + "ssp370", + "ssp585" +]
- Changed
generate_weather_file4 fields changed- changed
Input schema / properties / scenarios / items / properties / ssp / descriptionPrevious value: -"CMIP6 emission scenario. ssp585 was deprecated per CMIP7 (deemed implausible); use ssp370 as the high-end scenario."New value: +"CMIP6 emission scenario. ssp370 is the recommended high-end for design; ssp585 (SSP5-8.5) is an opt-in extreme stress-test pathway (~4.4°C, low likelihood per IPCC AR6 / CMIP7) for worst-case analysis." - changed
Input schema / properties / scenarios / items / properties / ssp / enumPrevious value: -[ - "ssp126", - "ssp245", - "ssp370" -]New value: +[ + "ssp126", + "ssp245", + "ssp370", + "ssp585" +] - changed
Input schema / properties / ssp / descriptionPrevious value: -"CMIP6 emission scenario. ssp585 was deprecated per CMIP7 (deemed implausible); use ssp370 as the high-end scenario."New value: +"CMIP6 emission scenario. ssp370 is the recommended high-end for design; ssp585 (SSP5-8.5) is an opt-in extreme stress-test pathway (~4.4°C, low likelihood per IPCC AR6 / CMIP7) for worst-case analysis." - changed
Input schema / properties / ssp / enumPrevious value: -[ - "ssp126", - "ssp245", - "ssp370" -]New value: +[ + "ssp126", + "ssp245", + "ssp370", + "ssp585" +]
1 tool update
- Changed
chart_weather7 fields changed- changed
Input schema / properties / chart_type / enumPrevious value: -[ - "diurnal", - "temp_carpet", - "wind_rose", - "monthly_boxplot", - "comparison" -]New value: +[ + "diurnal", + "temp_carpet", + "wind_rose", + "monthly_boxplot", + "utci_carpet", + "economizer_carpet", + "pv_tilt_azimuth", + "solar_under_events", + "comparison" +] - added
Input schema / properties / econ_high_limit_fAdded value: +{ + "description": "economizer_carpet only. ASHRAE 90.1 high-limit shutoff. Defaults: 75°F (drybulb mode) or 28 BTU/lb (enthalpy mode).", + "type": "number" +} - added
Input schema / properties / econ_modeAdded value: +{ + "description": "economizer_carpet only. 'drybulb' (default) limits OA by Tdb; 'enthalpy' limits by moist-air enthalpy — more honest in humid climates (captures latent load).", + "enum": [ + "drybulb", + "enthalpy" + ], + "type": "string" +} - added
Input schema / properties / econ_supply_air_fAdded value: +{ + "description": "economizer_carpet only. Supply-air temperature setpoint (°F). Default 55.", + "type": "number" +} - added
Input schema / properties / pv_azimuthAdded value: +{ + "description": "pv_tilt_azimuth only. Optional — marks the user's planned compass azimuth (deg, 0=N, 180=S) on the heatmap.", + "type": "number" +} - added
Input schema / properties / pv_tiltAdded value: +{ + "description": "pv_tilt_azimuth only. Optional — marks the user's planned tilt (deg, 0=horizontal) on the heatmap alongside the optimum.", + "type": "number" +} - changed
Input schema / properties / url / descriptionPrevious value: -"EPW URL (single-EPW charts: diurnal, temp_carpet, wind_rose, monthly_boxplot)"New value: +"EPW URL (single-EPW charts: diurnal, temp_carpet, wind_rose, monthly_boxplot, utci_carpet, economizer_carpet, pv_tilt_azimuth)"
5 tool updates
- Changed
analyze_weather1 field changed- changed
Input schema / properties / config / properties / year / enumPrevious value: -[ - 2030, - 2050, - 2070, - 2090 -]New value: +[ + 2030, + 2035, + 2040, + 2045, + 2050, + 2060, + 2070, + 2080, + 2090, + 2100 +]
- Changed
chart_weather1 field changed- changed
Input schema / properties / config / properties / year / enumPrevious value: -[ - 2030, - 2050, - 2070, - 2090 -]New value: +[ + 2030, + 2035, + 2040, + 2045, + 2050, + 2060, + 2070, + 2080, + 2090, + 2100 +]
- Changed
explore_design_conditions1 field changed- changed
Input schema / properties / year / enumPrevious value: -[ - 2030, - 2050, - 2070, - 2090 -]New value: +[ + 2030, + 2035, + 2040, + 2045, + 2050, + 2060, + 2070, + 2080, + 2090, + 2100 +]
- Changed
find_station1 field changed- changed
Input schema / properties / year / enumPrevious value: -[ - 2030, - 2050, - 2070, - 2090 -]New value: +[ + 2030, + 2035, + 2040, + 2045, + 2050, + 2060, + 2070, + 2080, + 2090, + 2100 +]
- Changed
generate_weather_file2 fields changed- changed
Input schema / properties / scenarios / items / properties / year / enumPrevious value: -[ - 2030, - 2050, - 2070, - 2090 -]New value: +[ + 2030, + 2035, + 2040, + 2045, + 2050, + 2060, + 2070, + 2080, + 2090, + 2100 +] - changed
Input schema / properties / year / enumPrevious value: -[ - 2030, - 2050, - 2070, - 2090 -]New value: +[ + 2030, + 2035, + 2040, + 2045, + 2050, + 2060, + 2070, + 2080, + 2090, + 2100 +]
1 tool update
- Changed
analyze_weather3 fields changed- added
Input schema / properties / compactAdded value: +{ + "description": "Return a ~10-field headline-only response (~100 tokens) instead of the full ~800-token payload. Drops monthly arrays, peak days, n_hours, weather_basis blob. Good for sanity checks, dashboards, batched chained calls. Set to false (default) when you need the full payload.", + "type": "boolean" +} - changed
Input schema / properties / include_full_ashrae / descriptionPrevious value: -"Add ASHRAE 0.4%/1%/2% cooling DB + 99.6%/99% heating DB design conditions to the response. Free."New value: +"Add ASHRAE 0.4%/1%/2% cooling DB + 99.6%/99% heating DB design conditions to the response. Free. Ignored when compact=true." - changed
Input schema / properties / include_idf / descriptionPrevious value: -"Add ready-to-paste EnergyPlus SizingPeriod:DesignDay IDF objects to the response. AEC-facing."New value: +"Add ready-to-paste EnergyPlus SizingPeriod:DesignDay IDF objects to the response. AEC-facing. Ignored when compact=true."
5 tool updates
- Changed
analyze_weather2 fields changed- changed
Input schema / properties / config / properties / ssp / descriptionPrevious value: -"CMIP6 emission scenario"New value: +"CMIP6 emission scenario. ssp585 was deprecated per CMIP7 (deemed implausible); use ssp370 as the high-end scenario." - changed
Input schema / properties / config / properties / ssp / enumPrevious value: -[ - "ssp126", - "ssp245", - "ssp370", - "ssp585" -]New value: +[ + "ssp126", + "ssp245", + "ssp370" +]
- Changed
chart_weather2 fields changed- changed
Input schema / properties / config / properties / ssp / descriptionPrevious value: -"CMIP6 emission scenario"New value: +"CMIP6 emission scenario. ssp585 was deprecated per CMIP7 (deemed implausible); use ssp370 as the high-end scenario." - changed
Input schema / properties / config / properties / ssp / enumPrevious value: -[ - "ssp126", - "ssp245", - "ssp370", - "ssp585" -]New value: +[ + "ssp126", + "ssp245", + "ssp370" +]
- Added
explore_design_conditions - Changed
find_station2 fields changed- changed
Input schema / properties / ssp / descriptionPrevious value: -"SSP scenario (only used with include_climate_deltas)"New value: +"SSP scenario (only used with include_climate_deltas). ssp585 was deprecated per CMIP7 (deemed implausible); use ssp370 as the high-end scenario." - changed
Input schema / properties / ssp / enumPrevious value: -[ - "ssp126", - "ssp245", - "ssp370", - "ssp585" -]New value: +[ + "ssp126", + "ssp245", + "ssp370" +]
- Changed
generate_weather_file4 fields changed- changed
Input schema / properties / scenarios / items / properties / ssp / descriptionPrevious value: -"CMIP6 emission scenario"New value: +"CMIP6 emission scenario. ssp585 was deprecated per CMIP7 (deemed implausible); use ssp370 as the high-end scenario." - changed
Input schema / properties / scenarios / items / properties / ssp / enumPrevious value: -[ - "ssp126", - "ssp245", - "ssp370", - "ssp585" -]New value: +[ + "ssp126", + "ssp245", + "ssp370" +] - changed
Input schema / properties / ssp / descriptionPrevious value: -"CMIP6 emission scenario"New value: +"CMIP6 emission scenario. ssp585 was deprecated per CMIP7 (deemed implausible); use ssp370 as the high-end scenario." - changed
Input schema / properties / ssp / enumPrevious value: -[ - "ssp126", - "ssp245", - "ssp370", - "ssp585" -]New value: +[ + "ssp126", + "ssp245", + "ssp370" +]
3 tool updates
- Changed
analyze_weather1 field changed- changed
Input schema / properties / config / properties / event_duration / descriptionPrevious value: -"Event length in days (default: 14)"New value: +"Event length in days (3-30, default 14). **For stress-test scenarios use 14-21 days** — shorter durations don't capture sustained operational impact (charging schedules, occupancy patterns, equipment cycling). 7 days is too short for any design or resilience analysis. Use 7-10 only for transient short-duration events."
- Changed
chart_weather1 field changed- changed
Input schema / properties / config / properties / event_duration / descriptionPrevious value: -"Event length in days (default: 14)"New value: +"Event length in days (3-30, default 14). **For stress-test scenarios use 14-21 days** — shorter durations don't capture sustained operational impact (charging schedules, occupancy patterns, equipment cycling). 7 days is too short for any design or resilience analysis. Use 7-10 only for transient short-duration events."
- Changed
generate_weather_file2 fields changed- changed
Input schema / properties / event_duration / descriptionPrevious value: -"Event length in days (default: 14)"New value: +"Event length in days (3-30, default 14). **For stress-test scenarios use 14-21 days** — shorter durations don't capture sustained operational impact (charging schedules, occupancy patterns, equipment cycling). 7 days is too short for any design or resilience analysis. Use 7-10 only for transient short-duration events." - changed
Input schema / properties / scenarios / items / properties / event_duration / descriptionPrevious value: -"Event length in days (default: 14)"New value: +"Event length in days (3-30, default 14). **For stress-test scenarios use 14-21 days** — shorter durations don't capture sustained operational impact (charging schedules, occupancy patterns, equipment cycling). 7 days is too short for any design or resilience analysis. Use 7-10 only for transient short-duration events."
1 tool update
- Changed
analyze_weather1 field changed- added
Input schema / properties / unitsAdded value: +{ + "description": "Output units (default: imperial). When 'metric', temperatures are °C, wind m/s, precip mm, distance km/m.", + "enum": [ + "imperial", + "metric" + ], + "type": "string" +}
3 tool updates
- Changed
analyze_weather3 fields changed- added
Input schema / properties / include_full_ashraeAdded value: +{ + "description": "Add ASHRAE 0.4%/1%/2% cooling DB + 99.6%/99% heating DB design conditions to the response. Free.", + "type": "boolean" +} - added
Input schema / properties / include_idfAdded value: +{ + "description": "Add ready-to-paste EnergyPlus SizingPeriod:DesignDay IDF objects to the response. AEC-facing.", + "type": "boolean" +} - added
Input schema / properties / include_improbabilityAdded value: +{ + "description": "Add EPWForge's stress-test improbability score (config mode only). Indicates how extreme the synthesized scenario is vs historical baselines.", + "type": "boolean" +}
- Changed
chart_weather4 fields changed- changed
Input schema / properties / chart_type / enumPrevious value: -[ - "diurnal", - "comparison" -]New value: +[ + "diurnal", + "temp_carpet", + "wind_rose", + "monthly_boxplot", + "comparison" +] - changed
Input schema / properties / config / descriptionPrevious value: -"Synthesize an EPW and chart it. Same params as generate_weather_file. Stats/SVG only — no file delivery."New value: +"Synthesize an EPW and chart it. Same params as generate_weather_file. SVG only — no file delivery." - added
Input schema / properties / resolutionAdded value: +{ + "description": "temp_carpet only. 'preview' (default) ~30 KB with 32 color buckets — visually identical at typical render sizes. 'full' ~150 KB with per-cell rgb() — use only when saving to file or when you specifically need exact color fidelity.", + "enum": [ + "preview", + "full" + ], + "type": "string" +} - changed
Input schema / properties / url / descriptionPrevious value: -"EPW URL (use for chart_type=diurnal)"New value: +"EPW URL (single-EPW charts: diurnal, temp_carpet, wind_rose, monthly_boxplot)"
- Changed
find_station5 fields changed- added
Input schema / properties / include_amy_extremesAdded value: +{ + "description": "When true and lat+lon are set, also returns the hottest / coldest / most-humid years on record (per ERA5, 1950–present). Useful for picking AMY basis years.", + "type": "boolean" +} - added
Input schema / properties / include_climate_deltasAdded value: +{ + "description": "When true with lat+lon+ssp+year, also returns the monthly CMIP6 delta-T per month and per variable. Lets agents reason about specific shifts before generating files.", + "type": "boolean" +} - added
Input schema / properties / percentileAdded value: +{ + "description": "Warming percentile (only used with include_climate_deltas, default 50)", + "enum": [ + 5, + 10, + 25, + 50, + 75, + 90, + 95 + ], + "type": "integer" +} - added
Input schema / properties / sspAdded value: +{ + "description": "SSP scenario (only used with include_climate_deltas)", + "enum": [ + "ssp126", + "ssp245", + "ssp370", + "ssp585" + ], + "type": "string" +} - added
Input schema / properties / yearAdded value: +{ + "description": "Future horizon (only used with include_climate_deltas)", + "enum": [ + 2030, + 2050, + 2070, + 2090 + ], + "type": "integer" +}
4 tool updates
- First observed
analyze_weather - First observed
chart_weather - First observed
find_station - First observed
generate_weather_file
Related MCP Connectors
Weather, climate, terrain, fire and flood risk data for any point or polygon on Earth. Free tier.
Forecasts, severe-weather alerts, air quality, 20-year weather history, solar and wind production.
Solar, weatherization, EV charging, battery and heat-pump decision tools for AI agents.
NOAA weather for AI agents: conditions, forecasts, observed history. 3 tools, free, no key.
Related MCP Servers
AlicenseAqualityAmaintenanceEnables AI assistants to create, edit, and simulate EnergyPlus building energy models via natural language. Supports schema exploration, model editing, simulation execution, and documentation search.3950 PyPI12MIT- FlicenseNot gradedqualityDmaintenanceExposes EnergyPlus simulation control (run, parse metrics, edit schedules) as LLM tools for autonomous building energy optimization.-
- AlicenseNot gradedqualityCmaintenanceTurns a site (address or lat/lng), a work window and a threshold profile into per-hour GO / MARGINAL / NO-GO decisions for field-ops, event and construction planning, pulling hourly and daily forecasts from the Google Weather API or the keyless US National Weather Service grid. Each hour is reported with the exact rule and value that tripped, alongside geocoding, outlook, current-conditions and profile-listing tools.Apache 2.0
- AlicenseNot gradedqualityAmaintenanceEnables normalized current weather, forecasts, alerts, location resolution, and deterministic, explainable activity-risk assessments through MCP tools.1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.