RoamDial — World Radio Map
Explore 35,000+ live radio stations from 215 countries by city, genre, mood, and ICY track title.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Read-only electricity, gas, and weather data with structured provenance and units.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
ใช้ได้ทั้ง Claude บนเว็บ แอปคอมพิวเตอร์ และมือถือ:
https://mcp.clarigrid.energy/mcpพิมพ์คำสั่งนี้ใน Terminal
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"
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"clarigrid": {
"type": "http",
"url": "https://mcp.clarigrid.energy/mcp"
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ChatGPT ต่อได้เฉพาะ server ที่อยู่บนอินเทอร์เน็ต:
https://mcp.clarigrid.energy/mcpชื่อเมนูอาจต่างกันเล็กน้อยตามแพ็กเกจและรุ่นของแอป
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
ยังไม่ได้อ่านรายการเครื่องมือของตัวนี้ เราตรวจ endpoint ทีละชุดวนไป
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันโดเมน clarigrid.energy แล้ว (registry ตรวจความเป็นเจ้าของโดเมน)
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้ตรวจ เราตรวจ endpoint ทีละชุดวนไป
ยังไม่ได้ตรวจ เราตรวจ endpoint ทีละชุดวนไป
ยังไม่ได้ตรวจ เราอ่านรายการเครื่องมือตอนตรวจ endpoint
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนคลาวด์ของผู้ทำ ต่อผ่านอินเทอร์เน็ตได้เลย ไม่ต้องลงโปรแกรม แต่ข้อมูลที่ส่งให้จะผ่านเซิร์ฟเวอร์ของผู้ทำ
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.2.0) เข้า registry 3 เดือนที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT ที่เปิดโหมดนักพัฒนา
ในหมวดเดียวกันมี RoamDial — World Radio Map, RoamDial — World Radio Map, Guest Logic Hotel PMS
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
Explore 35,000+ live radio stations from 215 countries by city, genre, mood, and ICY track title.
Explore 35,000+ live radio stations from 215 countries by city, genre, mood, and ICY track title.
A PMS (Property Management System) for hotels and event spaces, set up by your AI assistant.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ 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 |
ตัดมาแค่ช่วงต้น อ่านต่อใน repo