EPW.tools

io.github.carlobianchi89Published by GitHub account carlobianchi89v0.5.3Updated Nov 11, 2026

EnergyPlus weather files (EPW, DDY, STAT) and design conditions for any site, OpenStudio-MCP ready.

Overview

AI-generated overview

Generates and analyzes EnergyPlus weather files (EPW, DDY, STAT) and design conditions for any location, via the EPW.tools service.

What you can do
  • Find nearby weather stations and ASHRAE design conditions for a site
  • Inspect any public EPW by URL for summary statistics and data warnings
  • Start jobs for actual-year, typical-year (TMY), forecast and CMIP6 future-climate weather files
  • List available global and regional climate models for future-climate morphing
  • Poll job status and return download links for finished files
When to use it
Useful when you need weather data for building energy simulation or HVAC sizing: actual years from 1990, typical meteorological years, short-term forecasts, future climate scenarios, or ASHRAE design conditions for a given latitude and longitude.
Requirements
Either the hosted remote endpoint or a local install via uvx from the epwtools package with the mcp extra. Generation tools need an EPW.tools account and an API key supplied as EPWTOOLS_API_KEY; read tools work without a key. Network access to epw.tools.
Before you install
Generation tools spend credits from the user's EPW.tools account (1 per file, 3 for future climate, +2 for street-level urban); forecasts up to 7 days are free. The API key is passed to the server, and returned download URLs carry the key, so treat those links as secrets. Jobs run asynchronously and must be polled.

Installation

In SourceWeft

  1. Open EPW.tools in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.carlobianchi89%2Fepwtools/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "epw-tools": {
      "type": "http",
      "url": "https://epw.tools/api/mcp"
    }
  }
}

README

epwtools

[carlobianchi89/epwtools-python MCP server] [epwtools on AI Agents Listing] [M8ven Score]

Python client, command-line tool and MCP server for EPW.tools: EnergyPlus weather files (EPW, with DDY design days and STAT summaries) for any location on Earth.

  • Actual years from 1990 to now, for any coordinates, with or without a nearby weather station
  • Typical years (TMY), extreme and heatwave years
  • Future climate for 2030 to 2100 under SSP scenarios
  • Design conditions (ASHRAE method) and short-term forecast weather files

The weather data are built and validated by EPW.tools (methodology, validation); this package is the open-source way to call them from Python, the terminal or an AI assistant.

Install

bash
pip install epwtools            # client + CLIpip install 'epwtools[mcp]'     # + MCP server for AI assistants

Get a free API key at epw.tools (API tab); the first files are free.

bash
export EPWTOOLS_API_KEY=your-key

Python

python
from epwtools import EPWClient
client = EPWClient()                       # reads EPWTOOLS_API_KEY
# actual year 2023 for a site in Denverepw = client.generate(lat=39.74, lon=-104.99, year=2023, name="Denver", out_dir="weather")
# typical year built from 2005-2024tmy = client.tmy(lat=45.46, lon=9.19, start=2005, end=2024, name="Milan", out_dir="weather")
# design conditions (ASHRAE method)dc = client.design_conditions(lat=51.51, lon=-0.13)

Command line

bash
epwtools configure                          # store your keyepwtools generate --lat 39.74 --lon -104.99 --year 2023 --name Denverepwtools tmy --lat 45.46 --lon 9.19 --start 2005 --end 2024 --name Milanepwtools future --lat 40.71 --lon -74.01 --scenario ssp245 --horizon 2050 --name NYCepwtools --help

AI assistants (MCP)

Let Claude, ChatGPT and other MCP-capable assistants make weather files for you:

bash
uvx --from 'epwtools[mcp]' epw-tools-mcp

or use the hosted server, listed in the official MCP Registry. Tools include generate_epw, generate_tmy, generate_future_climate, generate_forecast, get_design_conditions and get_nearest_stations. Setup guide: epw.tools/ai-weather-files.

Also on EPW.tools (web)

EPW to CSV / Excel converter · Manual J design temperatures by address · Construction weather days · Data-centre site climate · API licence for software vendors

Licence

The client, CLI and MCP server in this repository are MIT-licensed. Use of the EPW.tools service and its data is governed by the EPW.tools terms of service (linked in the footer of epw.tools).

Source: README.md at commit cd38832

Tools

9

get_nearest_stations

Nearest weather stations

Nearest weather stations to a point (name, WMO id, distance, years of record). Free, no key.

Parametersnlatrequiredlonrequired

get_design_conditions

Design conditions (ASHRAE method or EPW.tools Enhanced)

Heating and cooling design conditions for any site, free, in one of two modes that are never mixed. mode="ashrae_method": the ASHRAE Handbook Ch. 14 method replicated at the nearest ASHRAE station for the chosen edition (2025, 2021, 2017, 2013, 2009, 2005); validated about 0.25 degC from the published tables. mode="enhanced": EPW.tools Enhanced, not the ASHRAE method: values at the site itself for today's climate with a tested 90 % range. The DDY file for Enhanced costs 1 credit through the web or the API.

Parameterslatrequiredlonrequiredmodeeditionlocation_namecurrent_climate

list_cmip6_models

CMIP6 models for future climate

The models available for future-climate morphing: `models` are global CMIP6 models (NASA NEX-GDDP, 25 km); `regional` are EURO-CORDEX pairs (12.5 km, Europe only, 27-72 N / 25 W-45 E) usable as `model` ids. Free.

Takes no parameters.

analyze_epw

Analyze an EPW by URL

Summary statistics of any public EPW by URL (OneBuilding, EnergyPlus, a shared file): location header, dry-bulb mean/min/max, annual global horizontal irradiation, data range warnings. Free, no key. 10 MB max.

Parametersurlrequired

generate_epw

Generate actual-year EPW (AMY)

Start an actual-year (AMY) EPW + DDY + STAT for any point, 1990 to last year. 1 credit; +2 with urban_street_level (53 US cities: hourly street-level air temperature from citizen stations). Returns a job_id; poll with get_job_result.

Parameterslatrequiredlonrequiredyearrequiredapi_keyrequireddc_editiondata_sourcelocation_nameurban_street_level

generate_tmy

Generate typical year (TMY)

Start a typical meteorological year from a chosen period (at least 5 years; 10-20 is usual). 1 credit.

Parameterslatrequiredlonrequiredapi_keyrequiredend_yearrequireddc_editionstart_yearrequiredlocation_name

generate_future_climate

Generate future-climate EPW (CMIP6)

Start a CMIP6-morphed future EPW (Belcher 2005). scenario: ssp126, ssp245, ssp370, ssp585; horizon: any decade 2030-2100; model from list_cmip6_models. 3 credits.

Parameterslatrequiredlonrequiredmodelapi_keyrequiredhorizonscenariobase_yearlocation_name

generate_forecast

Generate forecast EPW

Start a forecast EPW for the next 1-15 days (operational sims, MPC, demand response). Up to 7 days free.

Parameterslatrequiredlonrequireddaysapi_keyrequiredlocation_name

get_job_result

Job status and download links

Status of a job started by a generate_* tool; when complete, the download URLs (they carry the key).

Parametersjob_idrequiredapi_keyrequired

Version history

4
  1. v0.5.3LatestNov 4, 2026
  2. v0.5.2Oct 26, 2026
  3. v0.5.1Oct 17, 2026
  4. v0.4.0Sep 29, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts