# epwforge-mcp MCP server

EPW/DDY weather files - TMY/AMY/CMIP6 morphing, UHI, events, smoke. 3 of tools anon-free.

## Links
- Registry page: https://www.getdrio.com/mcp/io-github-guzz-labs-epwforge-mcp
- Repository: https://github.com/guzz-labs/epwforge-mcp
- Website: https://epwforge.com

## Install
- Command: `uvx epwforge-mcp`
- Endpoint: https://epwforge.com/api/mcp
- Auth: Auth required by registry metadata

## Setup notes
- Remote header: Authorization (secret)
- Package: Pypi epwforge-mcp v0.3.1
- Environment variable: EPWFORGE_API_KEY (secret)
- The upstream registry signals required auth or secrets.
- Remote endpoint: https://epwforge.com/api/mcp
- Header: Authorization

## Tools
- find_station - Search the GuzzStations catalog (17,000+ weather stations worldwide, self-hosted mirror of OneBuilding TMYx). Returns matching stations with EPW URLs ready to pass to analyze_weather or chart_weather. Optionally enriches with AMY extreme years (hottest / coldest / most-humid on record) and CMIP6 climate deltas. No auth required. Endpoint: https://epwforge.com/api/mcp
- analyze_weather - Compute design conditions, HDD/CDD, monthly stats, and peak heating/cooling days for one or more EPW files. Accepts a `url` (existing EPW), `urls` (compare 2+), or `config` (synthesize on the fly with morphing/UHI/events/smoke). Config mode runs the full generation pipeline server-side but returns only stats — never the EPW content. **Token-saver: pass `compact: true` to get a ~10-field headline response (~100 tokens) instead of the full ~800-token payload.** Use compact for sanity-checking, dashboards, or when chaining many calls; full when you need monthly arrays / peak days / full ASHRAE. Optional `include_full_ashrae` adds ASHRAE 0.4/1/2% cooling + 99.6/99% heating design conditions with mean coincident dewpoint. Optional `include_improbability` (config mode) adds a stress-test score. Optional `include_idf` adds ready-to-paste EnergyPlus SizingPeriod:DesignDay objects. Optional `units` ('imperial' default | 'metric'). **Presentation: when calling with `urls` (multiple files), the response includes a `comparisons` array — render it as a markdown table to the user. Lead with the headline delta, not the raw data.** No auth required; no credits charged. Endpoint: https://epwforge.com/api/mcp
- chart_weather - Render an SVG chart from EPW data. Five chart types: `diurnal` (~10 KB, monthly hourly profile), `temp_carpet` (heatmap of hour × day-of-year — ~30 KB preview / ~150 KB full), `wind_rose` (~12 KB, polar bars by direction × speed), `monthly_boxplot` (~6 KB, Q1/median/Q3 + whiskers per month), `comparison` (~10 KB, design-condition deltas across EPWs). Accepts `url` (single), `urls` (2+ for comparison), or `config` (synthesize on the fly). Config mode is anon-safe — runs pipeline, returns SVG only. No auth required. **Token budget**: SVGs are returned inline by default. Large outputs (>50 KB) auto-upload to Blob storage (when configured) and return a URL instead, keeping your context lean. Always check `svg_size_kb` in the response. **Presentation: when handing the chart to the user, just link or embed it — don't narrate what's in it. Let the chart speak.** Endpoint: https://epwforge.com/api/mcp
- explore_design_conditions - Interactive single-site design-conditions explorer. Returns full ASHRAE design conditions + diurnal chart for the requested scenario. In MCP Apps-capable hosts (Claude Desktop, ChatGPT, VS Code, Goose), the response renders as a widget with sliders for SSP / year / percentile / UHI — dragging a slider re-calls this tool live. Use when a user wants to interactively tune a single site. For multi-site comparison, use analyze_weather(urls=[...]) instead. Defaults to present-day TMY (no morph) — pass ssp+year for future scenarios. P75 default percentile is design-realistic; P50 underestimates the tail. No auth required. Endpoint: https://epwforge.com/api/mcp
- generate_weather_file - Generate and deliver an EPW or DDY file. The only paid tool — charges credits per call: 1 for a single file, 2 for a 4-file scenarios batch, 10 for a per-model CMIP6 ensemble. Requires auth (Bearer API key or OAuth). Free tier: 5 welcome credits at signup. For preview/analysis without download, use analyze_weather or chart_weather with `config` instead. Endpoint: https://epwforge.com/api/mcp

## Resources
- ui://epwforge/compare-sites-v2.html - Interactive comparison-card view shown alongside analyze_weather multi-URL results in MCP Apps-capable hosts (Claude Desktop, ChatGPT, VS Code, Goose). Lets the user stress-test any compared site without retyping config. MIME type: text/html;profile=mcp-app
- ui://epwforge/design-explorer-v1.html - Single-site live-tuning widget. SSP / year / percentile / UHI sliders re-call explore_design_conditions on change and re-render the diurnal chart + design-condition stats. Shown alongside explore_design_conditions responses. MIME type: text/html;profile=mcp-app
- epwforge://catalog/ssp-scenarios - Valid combinations of CMIP6 emission scenario, future horizon, and warming percentile for SSP morphing. MIME type: application/json
- epwforge://catalog/uhi-presets - Stewart & Oke 2012 LCZ-derived UHI intensities for urban classes. MIME type: application/json
- epwforge://catalog/event-types - Event types valid for the `events` param; auto-compound pairs; intensity scale. MIME type: application/json
- epwforge://catalog/tmy-periods - Available vintages for synthesized TMYx files. MIME type: application/json
- epwforge://catalog/credit-costs - Per-action credit costs for generate_weather_file. Read tools (find_station, analyze_weather, chart_weather) are always free. MIME type: application/json
- epwforge://methodology/overview - Short reference on how EPWForge synthesizes and morphs weather data. MIME type: text/markdown
- epwforge://guidelines/response-style - How to present EPWForge results to humans. Read this when the user asks you to analyze, compare, or generate weather data so your responses match the tool's intended use. MIME type: text/markdown

## Prompts
- climate-stress-test - Run a climate stress test on a building location: baseline + future + extreme-event scenarios with comparison. Arguments: location, horizon
- future-cooling-load - Estimate how a building's cooling design will change between today and a future horizon under a chosen SSP. Arguments: location, ssp, year
- site-weather-overview - Get a quick visual + numeric overview of a location's climate. Arguments: location
- compare-sites - Compare 2+ candidate locations for climate resilience under a future scenario. Arguments: locations, ssp, year
- energyplus-design-days - Generate EnergyPlus SizingPeriod:DesignDay IDF objects for a location and scenario. Arguments: location, scenario

## Metadata
- Owner: io.github.guzz-labs
- Version: 0.3.1
- Runtime: Pypi
- Transports: STDIO, HTTP
- License: Not captured
- Language: Not captured
- Stars: Not captured
- Updated: May 17, 2026
- Source: https://registry.modelcontextprotocol.io
