US Weather Alerts (NWS Warnings & Watches) — buy per-query in-session (usweathe…
US weather alerts (NWS): warnings, watches. $0.01/query. Be born in one call — free testnet funds.
作者提供的说明(英文原文)
Read-only electricity, gas, and weather data with structured provenance and units.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
适用于网页版、桌面版和手机版 Claude:
https://mcp.clarigrid.energy/mcp在终端中运行这条命令
claude mcp add --transport http clarigrid https://mcp.clarigrid.energy/mcp粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"clarigrid": {
"url": "https://mcp.clarigrid.energy/mcp"
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"clarigrid": {
"type": "http",
"url": "https://mcp.clarigrid.energy/mcp"
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
ChatGPT 只能连接互联网上的服务器:
https://mcp.clarigrid.energy/mcp菜单名称可能因套餐和版本不同而略有差异。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
我们还没有读取这个服务器的工具列表;我们会轮流检查各个端点。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月9日
注册名称已通过域名 clarigrid.energy 验证(注册中心会核实域名所有权)
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
尚未检查;我们会轮流检查各个端点
尚未检查;我们会轮流检查各个端点
尚未检查;我们会在检查端点时读取工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在作者的云端运行。通过互联网连接,无需安装,但你发送的内容会经过作者的服务器。
GitHub 仓库最后更新于–,最新版本(0.2.0)于3个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。
同一分类中有:US Weather Alerts (NWS Warnings & Watches) — buy per-query in-session (usweathe…, Marine buoy weather observations (marinewatch), topo^alpin
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
US weather alerts (NWS): warnings, watches. $0.01/query. Be born in one call — free testnet funds.
Marine weather: NOAA buoy obs, waves, wind. $0.01/query. Be born in one call — free testnet funds.
Avalanche bulletins, mountain weather, stations, huts, ski and snowshoe tours in the Alps.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Unified Python SDK for European and U.S. energy market data.
Clarigrid provides a single, stable Python interface to access and normalise European and U.S. energy market data from multiple sources. All data comes back as timezone-aware pandas DataFrames with consistent column names and units.
Built-in free providers (no API key required) include Energy-Charts (Europe), Energinet (DK1/DK2), SMARD (DE), Elia (BE), NESO (GB), Elexon/BMRS (GB), ENTSOG (EU gas), and Gas Networks Ireland. Fingrid (FI), GIE AGSI/ALSI (European gas), and TenneT (NL) are also built in and use free API keys. For the United States, CAISO OASIS and NYISO provide no-auth market and system data. EIA-930 provides nationwide hourly balancing-authority load, forecasts, fuel generation, and physical interchange with a free EIA key. Global historical meteorology and solar data are available from NASA POWER without an API key; official U.S. hourly forecasts are available from NOAA/NWS. ENTSO-E and other key-protected sources can be configured as described in API key setup below.
pip install clarigrid
For the interactive setup wizard and CLI tools:
pip install clarigrid[auth]
import clarigrid as cg
cg.connect("smard") # DE prices, load, generation cg.connect("elia") # BE load, generation cg.connect("neso") # GB load, embedded generation cg.connect("elexon") # GB prices, generation mix cg.connect("entsog") # EU gas flows (any TSO zone) cg.connect("energycharts") # European prices, power, forecasts and flows cg.connect("energinet") # DK1/DK2 prices, power, forecasts, flows and CO2 cg.connect("redata") # ES load, generation, capacity and cross-border flows cg.connect("rte") # FR load, generation, forecasts, exchanges and CO2 cg.connect("fingrid") # FI power, forecasts, flows, balancing and CO2 (free key) cg.connect("gie") # European gas storage and LNG inventory (free key) cg.connect("gni") # IE daily gas demand by sector (no key) cg.connect("eia") # US balancing-authority load, generation and flows (free key) cg.connect("caiso") # CAISO day-ahead hub prices (no key) cg.connect("nyiso") # NYISO prices, load, forecasts and fuel mix (no key) cg.connect("nasapower") # Global daily/hourly weather and solar data (no key) cg.connect("nws") # Official U.S. hourly weather forecasts (no key)
cg.set_timezone("Europe/Brussels")
prices = cg.get_prices("DE", "2025-01-01", "2025-01-07") # → smard load = cg.get_load("BE", "2025-01-01", "2025-01-07") # → elia gen = cg.get_generation("GB", "2025-01-01", "2025-01-07") # → elexon gas = cg.get_gas_flows("BE-TSO-0001", "2025-01-01", "2025-01-07") # → entsog ie_gas = cg.get_gas_demand("IE", "2025-01-01", "2025-01-07") # → gni us_load = cg.get_load("CAISO", "2025-01-01", "2025-01-07") # → eia (CISO) np15 = cg.get_prices("CISO_NP15", "2025-01-01", "2025-01-07") # → caiso nyc = cg.get_prices("NYISO_NYC", "2025-01-01", "2025-01-07") # → nyiso weather = cg.get_weather( "40.7128,-74.0060", "2025-01-01", "2025-01-07", source="nasapower", ) nws_forecast = cg.get_weather( "39.7456,-97.0892", "2026-09-17", "2026-09-18", source="nws", )
Some providers (ENTSO-E, TenneT) require a personal API key issued by the upstream data source. Clarigrid supports two ways to supply these keys.
Store all your provider keys in one place at clarigrid.energy/saved. The SDK then fetches them automatically using a single ClarigGrid API key.
First-time setup (interactive):
import clarigrid as cg
cg.connect("entsoe")
Or use the CLI:
clarigrid setup # guided wizard for all providers
clarigrid connect entsoe # authenticate a single provider
Headless / CI environments: set one environment variable and no browser is ever needed:
export CLARIGRID_API_KEY=your-clarigrid-uuid
The SDK uses CLARIGRID_API_KEY to fetch all your stored provider keys from clarigrid.energy on the first connect() call of each session.
How to get a `CLARIGRID_API_KEY`:
cg.connect("entsoe") once in an interactive terminal — the browser flow logs you in and stores your CLARIGRID_API_KEY locally.If you prefer not to use a clarigrid.energy account, set provider keys directly. Keys are stored in ~/.config/clarigrid/.env (permissions: 600).
Environment variable (recommended for CI):
export ENTSOE_API_KEY=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
export TENNET_API_KEY=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Config file — add to ~/.config/clarigrid/.env:
ENTSOE_API_KEY="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
TENNET_API_KEY="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
Each call to cg.connect() registers a provider and its capability-specific zone coverage in an internal router. When you call get_prices("DE"), the router picks the best connected provider for that zone and dataset automatically.
Multiple connect() calls accumulate coverage. If two providers both cover the same zone/dataset pair, the later connect() call wins.
cg.connect("neso") # covers GB: load, generation
cg.connect("elexon") # covers GB: prices, generation — overwrites generation slot
prices = cg.get_prices("GB", "2025-01-01", "2025-01-02") load = cg.get_load("GB", "2025-01-01", "2025-01-02")
If no connected provider covers the requested zone/dataset, a helpful error is raised:
ZoneNotCoveredError: No connected provider has 'prices' data for zone 'BE'.
Consider: cg.connect('entsoe')
To bypass routing and force a specific provider:
df = cg.get_load("GB", "2025-01-01", "2025-01-07", source="neso")
All functions return a pandas.DataFrame with:
| Property | Value |
|---|---|
| Index | DatetimeIndex named utc_time, tz-aware |
| Timezone | UTC by default; change with cg.set_timezone() |
| Price column | price_mwh |
| Load column | load_mw |
| Generation columns | fuel-type specific, e.g. solar_mw, wind_onshore_mw, nuclear_mw |
| Gas flow column | flow_kwh_d |
| Gas storage | inventory in *_mwh; daily rates in *_mwh_d |
| LNG inventory | *_thousand_m3; send-out in *_mwh_d |
| Cross-border columns | signed MW; imports positive, exports negative |
| Installed capacity | *_capacity_mw; storage energy uses *_energy_mwh |
| Frequency | frequency_hz |
| Renewable shares | *_pct |
Price currency is stored in df.attrs["currency"] (for example "EUR", "GBP", or "USD"):
df = cg.get_prices("DE", "2025-01-01", "2025-01-07")
print(df.attrs["currency"]) # 'EUR'
European zone codes follow the ENTSO-E bidding zone convention (BE, DE_LU, FR ...). U.S. electricity uses EIA/NERC balancing-authority codes (CISO, ERCO, PJM, NYIS) and explicit market hubs (CISO_NP15). Common aliases (DE → DE_LU, CAISO → CISO, ERCOT → ERCO) resolve automatically.
cg.set_timezone("Europe/Brussels") # all subsequent calls return Brussels time
cg.set_timezone("UTC") # revert to default
df = cg.get_load("BE", "2025-01-01", "2025-01-07")
Data is always fetched and cached as UTC. Timezone conversion is applied at the output boundary only.
Responses are cached locally at ~/.clarigrid/cache/ as Parquet files (requires pip install clarigrid[cache]), keyed by provider + dataset + zone + date range. Historical data is cached indefinitely; live data expires after 1 hour by default.
from clarigrid.core import cache
cache.info() # DataFrame showing cached entries cache.clear() # clear all cache.clear("smard") # clear one provider cache.set_live_ttl(1800) # change live-data TTL to 30 min
Disable caching per call:
df = cg.get_prices("DE", "2025-01-01", "2025-01-07", use_cache=False)
Requires pip install clarigrid[auth].
clarigrid setup # guided wizard — configure all providers
clarigrid connect # authenticate a single provider clarigrid auth --show # list configured sources (keys masked) clarigrid auth --clear # remove key for a specific source clarigrid auth --clear --all # remove all stored keys
| Function | Description |
|---|---|
cg.connect(provider) | Connect provider; handles auth for key-guarded sources |
cg.set_timezone(tz) | Set output timezone (IANA string, default "UTC") |
cg.get_prices(zone, start, end, market="day_ahead", node=None) | Electricity prices → price_mwh; optional node for nodal markets |
cg.get_load(zone, start, end) | Actual total load → load_mw |
cg.get_generation(zone, start, end) | Generation per fuel type → *_mw columns |
cg.get_generation_forecast(zone, start, end) | Wind/solar generation forecast → *_forecast_mw |
cg.get_load_forecast(zone, start, end) | Load forecast → load_forecast_mw |
cg.get_physical_flows(zone, start, end) | Signed cross-border physical flows in MW |
cg.get_commercial_schedule(zone, start, end) | Signed commercial exchanges in MW |
cg.get_installed_capacity(zone, start, end) | Installed power by technology in MW |
cg.get_frequency(zone, start, end) | System frequency → frequency_hz |
cg.get_renewable_share(zone, start, end) | Renewable share in percent |
cg.get_co2_intensity(zone, start, end) | Electricity carbon intensity in gCO2/kWh |
cg.get_co2_forecast(zone, start, end) | Forecast carbon intensity in gCO2/kWh |
cg.get_gas_flows(zone, start, end) | Gas physical flows → flow_kwh_d |
cg.get_capacity(zone, start, end) | Firm technical gas capacity → capacity_kwh_d |
cg.get_gas_demand(zone, start, end) | Daily gas demand by sector in GWh |
cg.get_gas_storage(zone, start, end) | Gas inventory, capacity, injection and withdrawal |
cg.get_lng_inventory(zone, start, end) | LNG tank inventory and terminal send-out |
cg.get_weather(zone, start, end) | Weather observations / forecasts |
cg.status() | Print connected providers, zones, capabilities |
cg.set_api_key(provider, key) | Store a provider key locally |
cg.list_providers() | List all registered provider names |
cg.register_provider(name, instance) | Register an external provider |
All data functions accept:
source="name" — override the router for this call onlyuse_cache=False — bypass the local cache| Name | Data | Zones | Auth |
|---|---|---|---|
energycharts | prices, load, generation, forecasts, capacity, cross-border flows, frequency, renewable share | European countries and openly licensed price zones | None |
energinet | prices, load, generation, forecasts, physical flows, actual/forecast CO2 | DK1, DK2 | None |
elhub | hourly metered consumption and generation by production group |
只显示了开头部分;其余内容请在仓库中阅读