Server data from the Official MCP Registry
EPW & DDY weather files for any location — TMY, CMIP6 SSPs, UHI, extreme events, smoke.
EPW & DDY weather files for any location — TMY, CMIP6 SSPs, UHI, extreme events, smoke.
This is a well-structured MCP server for EPWForge weather file generation with proper authentication, secure credential handling, and appropriate permissions. The code demonstrates good security practices with input validation, error handling, and no obvious malicious patterns. Minor code quality observations exist but do not constitute security vulnerabilities. Supply chain analysis found 3 known vulnerabilities in dependencies (0 critical, 3 high severity). Package verification found 1 issue.
8 files analyzed · 8 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Set these up before or after installing:
Environment variable: EPWFORGE_API_KEY
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-guzz-labs-epwforge-mcp": {
"env": {
"EPWFORGE_API_KEY": "your-epwforge-api-key-here"
},
"args": [
"-y",
"epwforge-mcp"
],
"command": "npx"
}
}
}From the project's GitHub README.
MCP server for EPWForge — give Claude, Cursor, and other AI agents the ability to generate, morph, and download weather files for building energy simulation.
Status: 0.1.0 (Python). One tool call → one EPW. Production backend, Pro-tier features wired in.
EPWForge generates and morphs weather files (.epw, .ddy) for building energy simulation tools — EnergyPlus, OpenStudio, IES VE, eQUEST, and any workflow that consumes EPW. The platform supports:
Four MCP tools, each mapping 1:1 to an EPWForge API endpoint:
| Tool | Purpose |
|---|---|
generate_weather_file | The workhorse. One call returns an EPW with any combination of TMY/AMY/SSP basis, UHI, extreme events, and smoke. |
generate_design_day | DDY file for EnergyPlus design-day sizing, computed from the same enriched hourly data. |
generate_ensemble | Per-model CMIP6 ensemble — one morphed EPW per climate model (Pro plan). |
find_station | Search weather stations near a coordinate (returns name, WMO ID, distance). |
Most users will only ever need generate_weather_file. Compose options into one call instead of chaining tools.
# What an AI agent might call to get a worst-case design weather file:
generate_weather_file(
lat=40.71,
lon=-74.01,
ssp="ssp585", # SSP5-8.5 emissions
year=2090, # End-of-century
percentile=90, # 90th percentile warming
uhi="urban", # Stewart-Oke urban LCZ
events="heatwave,hothumid", # Auto-compound heat + humidity
event_duration=14,
smoke=True,
smoke_intensity=5,
save_to="/tmp/nyc_2090_worst_case.epw",
)
Returns {filename, saved_to, bytes_written, scenario, lat, lon, ...} — no inline base64 bloat when save_to is set.
pip install epwforge-mcp
Requires Python ≥ 3.10.
Add to your MCP client config (Claude Desktop's claude_desktop_config.json, Cursor's MCP settings, etc.):
{
"mcpServers": {
"epwforge": {
"command": "epwforge-mcp",
"env": {
"EPWFORGE_API_KEY": "sk_live_..."
}
}
}
}
Generate an API key at epwforge.com/account.
| Feature | Plan |
|---|---|
TMYx / AMY basis (generate_weather_file, generate_design_day without SSP) | Starter |
| UHI / events / smoke adjustments | Starter |
| SSP future-climate morphing | Pro |
generate_ensemble (per-model CMIP6) | Pro |
find_station | Free |
Tier enforcement happens at the API; the MCP surfaces 403s as "Plan upgrade required — upgrade at https://epwforge.com/pricing".
| Variable | Purpose | Default |
|---|---|---|
EPWFORGE_API_KEY | Bearer token for the EPWForge API | required |
EPWFORGE_BASE_URL | Override the API host (mainly for testing) | https://epwforge.com |
save_to (or save_to_dir for ensembles). When provided, the EPW is written to disk and the tool returns the path. When omitted, the EPW is returned base64-encoded in the response (≈ 250 KB for a typical year). save_to is recommended to keep agent context lean.events="heatwave,hothumid" automatically blends hothumid's humidity onto the heatwave at 50%. events="coldsnap,coldwindy" does the same for wind onto a cold snap. The secondary is folded into the primary stitch — not stitched separately.intensity_auto=false to disable.git clone https://github.com/guzz-labs/epwforge-mcp
cd epwforge-mcp/python
uv sync
uv run epwforge-mcp # runs the stdio server
To test against a local API:
EPWFORGE_BASE_URL=http://localhost:3000 \
EPWFORGE_API_KEY=sk_live_... \
uv run epwforge-mcp
MIT
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.