Finance Toolkit
500+ transparent financial methods calculated from raw statements, not third-party endpoints.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Typed Alberta electricity market data and analytics via official AESO APIs.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
AESO_API_KEYค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"aeso": {
"command": "uvx",
"args": [
"aeso-mcp"
],
"env": {
"AESO_API_KEY": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add aeso --env AESO_API_KEY='ใส่ค่าของคุณ' -- uvx aeso-mcpเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"aeso": {
"command": "uvx",
"args": [
"aeso-mcp"
],
"env": {
"AESO_API_KEY": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"aeso": {
"type": "stdio",
"command": "uvx",
"args": [
"aeso-mcp"
],
"env": {
"AESO_API_KEY": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 8 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub bchoi-qwe ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: AESO_API_KEY
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.3.0) เข้า registry 2 เดือนที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Python (uv) ในเครื่องด้วย
ในหมวดเดียวกันมี Finance Toolkit, SolidInvoice, Korea Tax Calculator
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
500+ transparent financial methods calculated from raw statements, not third-party endpoints.
Create and send invoices and quotes, manage clients, and track payments in SolidInvoice.
Korean tax calculation and tax-audit judgment MCP: 96 tools with statutory citations.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Agent-native, strongly typed access and analytics for Alberta's electricity market using official AESO data.
Independent open-source project. Not affiliated with or endorsed by the Alberta Electric System Operator (AESO).
aeso-mcp is a Model Context Protocol (MCP) server that exposes Alberta electricity-market observations and deterministic analytics to AI clients. It is designed for energy analysts, researchers, developers, journalists, market participants, and AI agents that need reliable, structured AESO data—not a thin REST decorator layer.
2026-07-28, with FastMCP's per-connection negotiation for legacy session-based clientsget_forecast contract, with persisted publication vintages and point-in-time as_of selection that excludes unknown publication chronologyAESO_API_KEY is always required; there is no reduced credential-free server modeRetry-After handling, and secret-safe machine-readable errors| Dataset | Tool | Notes |
|---|---|---|
| Market snapshot | get_market_snapshot | Current cohesive view |
| Pool Price | get_pool_prices | Hourly CAD/MWh |
| System Marginal Price | get_system_marginal_prices | Minute-level CAD/MWh |
| Alberta Internal Load | get_load | MW; optional forecast |
| Generation / fuel mix | get_generation | Current all fuels; historical wind/solar |
| Interchange | get_interchange | Current path flows MW |
| Operating reserves | get_reserves | Current MW indicators |
| Generator outages | get_outages | Hourly outage capacity by fuel/technology |
| AIES capacity/outages | get_generation_capacity | Hourly MC, AC, operating, and mothball outage MW |
| Load outage forecast | get_load_outage_forecast | Hourly forecast MW |
| Energy Merit Order | get_energy_merit_order | Historical blocks; 60-day publication delay |
| Unit commitments | get_unit_commitments | Generating-unit commitment directives |
| Intertie capability | get_intertie_capability | Import/export ATC, TTC, margins, gross offers |
| Intertie capability outages | get_intertie_outages | Outages affecting interties/flowgates |
| Metered volumes | get_metered_volumes | Hourly MWh by asset; optional ID filters |
| OR offer control | get_operating_reserve_offer_control | Historical reserve offer blocks; 60-day delay |
| Approved Tx outages | get_approved_transmission_outages | AESO-approved planned transmission outages |
| Long-range Tx outages | get_long_range_transmission_outages | Tentative ~24-month significant outages |
| MCSINR | get_monthly_cumulative_net_revenue | Cumulative net revenue vs offer-cap trigger |
| Secondary offer limit | get_secondary_offer_price_limit | Whether secondary offer cap is in effect |
| Assets | get_assets | Registry with filters |
| Historical CSD generation | get_historical_generation | Individual assets; hourly / five-minute operational MW |
| Official forecasts | get_forecast | AIL / Pool Price / wind / solar; source-specific horizons and cadence |
| Official research archive | get_research_data | Historical adequacy/cushion, transmission, planning-area, constraint, EEA, OR-directive, and current participant records |
| Supply adequacy / cushion | get_supply_adequacy | Official hourly categorical status bands |
| Supply surplus | get_supply_surplus | Official hourly zero-price forecast status |
| FFR Net Schedule | get_ffr_net_schedule | Hourly scheduled imports (negative) / exports (positive) MW |
| Dispatch Down Service | get_dispatch_down_service | Published DDS availability MW |
| TMR reference price | get_tmr_reference_price | Published CAD/MWh value by effective date |
| AIES system events | get_system_events | Bounded event-log comments; no inferred event end |
| UC settlement summary | get_uc_settlement_summary | Hourly CAD amount and charged MW |
| OR prices | get_operating_reserve_prices | Active and standby price components and volumes |
| OR forecast | get_operating_reserve_forecast | Current seven-day hourly MW forecast |
| OR activations | get_operating_reserve_activations | Hourly standby volume and activation price |
Analytics: summarize_market_history, assess_supply_tightness, compare_market_periods, find_price_events, explain_market_conditions, compare_forecast_to_actual, get_price_statistics, get_price_duration_curve, analyze_market_event, calculate_capture_prices, analyze_net_load, analyze_supply_stack, analyze_intertie_utilization, analyze_generation_mix, analyze_asset_dispatch, analyze_outage_impact, analyze_forecast_error, calculate_asset_energy_revenue, compare_csd_to_metered, analyze_ramps, analyze_supply_surplus_events, summarize_operating_reserve_market, analyze_participant_concentration, analyze_regional_load_generation, analyze_constrained_volume, analyze_scarcity, and analyze_system_frequency.
The documentation site includes a full architecture and MCP Inspector walkthrough and an MCP interoperability and security matrix.
MCP clients
| v FastMCP adapter (aeso_mcp/mcp) | v Domain services (market, grid, history, forecasts, reports, research, reserves, operations) | +---------------+----------------+----------------+----------------+ | | | | v v v v GridStatus Direct APIM Public reports CSD archive | | (ets.aeso.ca) (Box) +-------+-------+ | v AESO APIM gateway
Domain code does not depend on FastMCP. Framework changes should stay in aeso_mcp/mcp/. All upstream clients are implementation details of this single server: the APIM key is sent only to apimgw.aeso.ca and is never sent to the allow-listed ETS or Box hosts.
uv recommendedSee LIMITATIONS.md for an honest gap inventory.
export AESO_API_KEY=your-key
uvx aeso-mcp
For incremental DuckDB/Parquet historical storage:
uvx --from 'aeso-mcp[analytics]' aeso-mcp
To run the current repository version directly:
export AESO_API_KEY=your-key
uvx --from git+https://github.com/bchoi-qwe/aeso-mcp.git aeso-mcp
git clone https://github.com/bchoi-qwe/aeso-mcp.git
cd aeso-mcp uv sync --group dev --extra analytics --extra docs cp .env.example .env # set AESO_API_KEY uv run aeso-mcp
docker build -t aeso-mcp .
docker run --rm \ -e AESO_API_KEY=your-key \ -e AESO_MCP_HTTP_BEARER_TOKEN=replace-with-a-long-random-token \ -p 8000:8000 \ aeso-mcp
Send the same token in the MCP client's Authorization: Bearer ... header. The image binds to 0.0.0.0, so it intentionally requires bearer authentication by default. The built-in HTTP listener does not terminate TLS; for off-host traffic, terminate TLS at a trusted reverse proxy and never send bearer credentials over public plaintext HTTP. See MCP interoperability and security.
AESO_API_KEY in your environment (never commit it)Missing credentials produce an actionable startup error. The key is never returned through MCP tools or logged.
See the documentation site's MCP client configurations for maintained Codex, ChatGPT desktop app, Claude Desktop, Claude Code, and Cursor setup instructions.
{
"mcpServers": { "aeso": { "command": "uvx", "args": ["aeso-mcp"], "env": { "AESO_API_KEY": "your-key" } } } }
uv run aeso-mcp --transport http --host 127.0.0.1 --port 8000
HTTP always validates Host and Origin. A non-loopback bind now refuses to start unless AESO_MCP_HTTP_BEARER_TOKEN is configured. The built-in listener is plain HTTP; terminate TLS at a trusted ingress before exposing it beyond a trusted private network. An explicit AESO_MCP_HTTP_ALLOW_INSECURE_REMOTE=true override exists for isolated environments that accept the risk; it is never the default. Also set AESO_MCP_HTTP_ALLOWED_HOSTS and AESO_MCP_HTTP_ALLOWED_ORIGINS for the deployment. /healthz and /readyz contain no market data or secrets. See .env.example for all bounded runtime settings.
| Tool | Purpose |
|---|
| get_market_snapshot | Curr
ตัดมาแค่ช่วงต้น อ่านต่อใน repo