ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที รีวิวและบัญชีผู้ใช้จะมาในขั้นถัดไป
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · อธิบายเป็นภาษาคน

AESO MCP

โดย bchoi-qweรุ่น 0.3.0i★ –iรันบนเครื่อง
ชื่อใน registryio.github.bchoi-qwe/aeso-mcp

ติดตั้ง

ภาพรวม

คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)

Typed Alberta electricity market data and analytics via official AESO APIs.

สามเสาของ PopNx MCP

สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน

ใช้ทำอะไรได้

ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry

  • การเชื่อมต่อ: รันบนเครื่อง
  • ช่องทาง (transport): stdio
  • หมวด: บัญชี การเงิน และภาษี
  • ต้องใส่ค่าเหล่านี้: AESO_API_KEY

ติดตั้ง

เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง

ก่อนติดตั้ง

ค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต

ต้องเตรียมก่อน

  • PyPIติดตั้ง uv ของ Python (มีคำสั่ง uvx) ในเครื่อง

คุณใช้แอปไหน

เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”

เปิด 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

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

{
  "mcpServers": {
    "aeso": {
      "command": "uvx",
      "args": [
        "aeso-mcp"
      ],
      "env": {
        "AESO_API_KEY": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "servers": {
    "aeso": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "aeso-mcp"
      ],
      "env": {
        "AESO_API_KEY": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น

ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี

ค่าที่ต้องใส่เอง

  • AESO_API_KEY ความลับ จำเป็น env
    AESO APIM subscription key

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

ทำอะไรได้บ้าง

รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 8 พ.ย. 2569

  • ✓ ผ่าน

    ตัวตนผู้ทำตรงกับ repo

    ชื่อใน registry ยืนยันด้วยบัญชี GitHub bchoi-qwe ซึ่งเป็นเจ้าของ repo

  • … ยังไม่ตรวจ

    ยังมีคนดูแล

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • … ยังไม่ตรวจ

    มีสัญญาอนุญาต (license)

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • – ไม่เกี่ยว

    endpoint ตอบ

    ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

    ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน

  • … ยังไม่ตรวจ

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต

เทียบกับตัวอื่นในหมวด บัญชี การเงิน และภาษีi

  • ดาวมากกว่า 0% ของอีก 2933 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 31% ของอีก 2933 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 2933 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

AESO MCP ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 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

Finance Toolkit

500+ transparent financial methods calculated from raw statements, not third-party endpoints.

โดย JerBoumaใช้กันมาก↓ 15.5K/สัปดาห์★ 5.5Kอัปเดต เมื่อวาน

บนเครื่องหรือคลาวด์

SolidInvoice

Create and send invoices and quotes, manage clients, and track payments in SolidInvoice.

โดย SolidInvoiceกำลังโต★ 981อัปเดต 9 วันที่ผ่านมา

รันบนคลาวด์✓ solidinvoice.co

Korea Tax Calculator

Korean tax calculation and tax-audit judgment MCP: 96 tools with statutory citations.

โดย UpstageAIกำลังโต↓ 3.2K/สัปดาห์★ 97อัปเดต เมื่อวานซืน

รันบนเครื่อง

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ

aeso-mcp

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).

What it is

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.

Features

  • Typed MCP tools with Pydantic inputs/outputs and structured results
  • Stable FastMCP 4.0.10 runtime targeting MCP 2026-07-28, with FastMCP's per-connection negotiation for legacy session-based clients
  • Current market snapshot combining price, load, generation, interchange, and reserves
  • Paginated historical Pool Price, System Marginal Price, load, and generation retrieval
  • Official individual-asset Historical CSD Generation Data at hourly and five-minute resolution
  • Optional incremental DuckDB index and partitioned Parquet snapshots for repeatable research
  • Official AIL, Pool Price, wind, solar, and combined wind/solar forecast publications through one typed get_forecast contract, with persisted publication vintages and point-in-time as_of selection that excludes unknown publication chronology
  • Official supply-adequacy, supply-surplus, FFR Net Schedule, Dispatch Down Service, TMR reference-price, and AIES system-event reports
  • Official historical adequacy/cushion web codes, transmission outages, planning-area hourly load/generation, constrained volume, EEA events, operating-reserve directives, and the current Pool Participant registry through one typed research-archive contract
  • Authenticated APIM reports for merit order, commitments, capability/outages, interties, metered volumes, and operating-reserve offer control
  • Deterministic analytics: compact history summaries, period comparison, event detection, condition evidence, price distributions, capture price, net load, supply stack, generation, outage association, generalized forecast accuracy, asset gross energy revenue, CSD-versus- metered comparisons, ramps, supply-surplus associations, and transparent supply-tightness indicators, plus participant concentration, regional, constrained-volume, scarcity, and compact system-frequency analysis
  • Deterministic research manifests identify exact input publications, parameters, methodology, completeness, and degradation warnings for multi-source market-event analysis
  • Public operating-reserve active/standby prices, seven-day forecasts, activations, and summaries
  • One complete server package and startup path: AESO_API_KEY is always required; there is no reduced credential-free server mode
  • Query bounds, cache provenance, completeness metadata, upstream Retry-After handling, and secret-safe machine-readable errors
  • Hardened HTTP transport with Host/Origin validation, bearer authentication required for non-loopback binds by default, rate/concurrency limits, request-size bounds, probes, and correlation IDs
  • Reusable MCP prompts plus glossary, capability, dataset, and methodology resources

Implemented datasets

DatasetToolNotes
Market snapshotget_market_snapshotCurrent cohesive view
Pool Priceget_pool_pricesHourly CAD/MWh
System Marginal Priceget_system_marginal_pricesMinute-level CAD/MWh
Alberta Internal Loadget_loadMW; optional forecast
Generation / fuel mixget_generationCurrent all fuels; historical wind/solar
Interchangeget_interchangeCurrent path flows MW
Operating reservesget_reservesCurrent MW indicators
Generator outagesget_outagesHourly outage capacity by fuel/technology
AIES capacity/outagesget_generation_capacityHourly MC, AC, operating, and mothball outage MW
Load outage forecastget_load_outage_forecastHourly forecast MW
Energy Merit Orderget_energy_merit_orderHistorical blocks; 60-day publication delay
Unit commitmentsget_unit_commitmentsGenerating-unit commitment directives
Intertie capabilityget_intertie_capabilityImport/export ATC, TTC, margins, gross offers
Intertie capability outagesget_intertie_outagesOutages affecting interties/flowgates
Metered volumesget_metered_volumesHourly MWh by asset; optional ID filters
OR offer controlget_operating_reserve_offer_controlHistorical reserve offer blocks; 60-day delay
Approved Tx outagesget_approved_transmission_outagesAESO-approved planned transmission outages
Long-range Tx outagesget_long_range_transmission_outagesTentative ~24-month significant outages
MCSINRget_monthly_cumulative_net_revenueCumulative net revenue vs offer-cap trigger
Secondary offer limitget_secondary_offer_price_limitWhether secondary offer cap is in effect
Assetsget_assetsRegistry with filters
Historical CSD generationget_historical_generationIndividual assets; hourly / five-minute operational MW
Official forecastsget_forecastAIL / Pool Price / wind / solar; source-specific horizons and cadence
Official research archiveget_research_dataHistorical adequacy/cushion, transmission, planning-area, constraint, EEA, OR-directive, and current participant records
Supply adequacy / cushionget_supply_adequacyOfficial hourly categorical status bands
Supply surplusget_supply_surplusOfficial hourly zero-price forecast status
FFR Net Scheduleget_ffr_net_scheduleHourly scheduled imports (negative) / exports (positive) MW
Dispatch Down Serviceget_dispatch_down_servicePublished DDS availability MW
TMR reference priceget_tmr_reference_pricePublished CAD/MWh value by effective date
AIES system eventsget_system_eventsBounded event-log comments; no inferred event end
UC settlement summaryget_uc_settlement_summaryHourly CAD amount and charged MW
OR pricesget_operating_reserve_pricesActive and standby price components and volumes
OR forecastget_operating_reserve_forecastCurrent seven-day hourly MW forecast
OR activationsget_operating_reserve_activationsHourly 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.

Architecture

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.

Requirements

Installation

See LIMITATIONS.md for an honest gap inventory.

From PyPI (recommended)
export AESO_API_KEY=your-key

uvx aeso-mcp

For incremental DuckDB/Parquet historical storage:

uvx --from 'aeso-mcp[analytics]' aeso-mcp
From GitHub

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

Development
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
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.

Obtaining an AESO API key

  1. Register at the AESO developer portal
  2. Subscribe to the AESO public API product
  3. Copy the primary/secondary subscription key
  4. Set 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.

Example MCP client configuration

See the documentation site's MCP client configurations for maintained Codex, ChatGPT desktop app, Claude Desktop, Claude Code, and Cursor setup instructions.

Cursor / Claude Desktop style (stdio)
{

"mcpServers": { "aeso": { "command": "uvx", "args": ["aeso-mcp"], "env": { "AESO_API_KEY": "your-key" } } } }

HTTP transport
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.

Example prompts

  • What is Alberta's current grid situation?
  • What is the current pool price?
  • Show Alberta pool prices over the last 24 hours.
  • Compare today's pool prices with yesterday's.
  • Which hours had the highest prices this week?
  • How much wind and solar are producing right now?
  • What happened during the largest price spike this week?
  • How inaccurate was the seven-day wind forecast during that event?
  • Was AESO publishing a supply-surplus or tight supply-cushion status at the time?
  • What gross Pool Price energy revenue did this asset's metered MWh earn?
  • Explain the evidence associated with today's price increase.

Tools

ToolPurpose

| get_market_snapshot | Curr

ตัดมาแค่ช่วงต้น อ่านต่อใน repo

ถาม PopNx