LabscoMCP early access ↗
mjrgrMCP SERVER

APsystems MCP Server

Ask your assistant how much solar you produced today — APsystems monitoring data, down to individual inverters.

by mjrgr ↗IoT, Smart Home & Embedded HardwareCommunity

LABSCO SUMMARY

Credential approval is the real gate, not the install.

Running the server is a container command; getting the APsystems App ID and Secret means writing to their support team and explaining what you want the data for. Once you have them the coverage is genuinely deep — per-channel inverter telemetry and minutely ECU data, not just a daily total — so it rewards a system with more than one string.

What it is

A Go server wrapping the APsystems OpenAPI, so a client can read your solar installation's monitoring data: system-level energy totals, per-ECU and per-inverter telemetry, meter flows and battery state. It handles the APsystems HMAC-SHA256 signature protocol for you, retries on rate limits, and can optionally serve a dark-themed web dashboard alongside the MCP endpoint.

What you get

  • 16 tools covering the APsystems API endpoints by the README's count, while the project's architecture notes say 15 are registered
  • System: get_system_details, get_system_summary for today/month/year/lifetime kWh, get_system_energy by period, get_inverters, get_meters
  • ECUs: get_ecu_summary and get_ecu_energy, which supports minutely telemetry
  • Inverters: get_inverter_summary per channel, get_inverter_energy with DC power, current, voltage and AC telemetry, get_inverter_batch_energy for every inverter under one ECU in a single call
  • Meters: get_meter_summary for consumed, exported, imported and produced totals, plus get_meter_period
  • Storage: get_storage_latest for live state of charge and charge/discharge power, get_storage_summary, get_storage_period
  • An optional web dashboard with Chart.js energy visualisations, enabled with APS_DASHBOARD=true

Requirements

APsystems OpenAPI credentials — APS_APP_ID, APS_APP_SECRET — plus APS_SYS_ID, your system ID from the EMA app under Settings → Account Details. Getting API access means emailing APsystems support with who you are and what you plan to do, which is the slow step. Run it with Go from source, or use the published container docker.io/mehdijrgr/apsystems-mcp-server. Transport is stdio by default; set APS_MCP_TRANSPORT=sse with APS_MCP_SSE_ADDR to serve remote clients over HTTP instead.

Setup effort

Run a container — pull the image and point your client at it