Unofficial read-only MCP server for the Panasonic AiSEG2 HEMS controller.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
ζ₯ζ¬θͺηγ― README.ja.md γγ覧γγ γγγ
An unofficial, read-only Model Context Protocol server for the Panasonic AiSEG2 home energy management (HEMS) controller. It lets an MCP client (e.g. Claude) read your home's live power flow, per-circuit consumption, circuit names, and daily energy totals from the AiSEG2's local web interface.
This project is not affiliated with or endorsed by Panasonic. "AiSEG" is a Panasonic trademark.
Developed and tested against:
The AiSEG2 web interface is undocumented and changes between firmware revisions. On a different model or firmware the pages this server scrapes may differ and some tools may not work. If you hit a parse error, please open an issue with your model / firmware version.
All tools are read-only (annotated readOnlyHint, non-destructive). The server only issues
GETs and the display-only refresh POSTs the web UI itself uses; it never touches settings or any
/action/ endpoint.
| Tool | Returns |
|---|---|
get_power_flow | Instantaneous generation/consumption (kW), buy/sell state, battery status, generation sources, top consuming circuits |
get_circuit_breakdown | Every measured circuit's instantaneous draw (W), ranked highest first, with the total |
list_circuits | Registered circuit ids and names (the authoritative naming source) |
get_daily_totals | Today's cumulative generation / consumption / grid-buy / grid-sell (kWh) |
get_history | Long-term energy history from the SD-card export (Wh), long-form points. Args: granularity (30min/hour/day/month/year), start/end (per granularity: YYYY-MM-DD, YYYY-MM, or YYYY), optional metrics/circuits filters, limit/offset paging |
get_cost_history | Long-term energy-cost history from the SD-card export (JPY). Args: granularity (day/month/year), start/end, limit/offset |
The two history tools require an SD card inserted in the AiSEG2 β they read the device's SD-card CSV export. The export is downloaded once and cached (see
AISEG_CACHE_DIR/AISEG_CACHE_TTL), so the first call is slow and later calls are fast.
Three ways to run it, depending on your setup.
The simplest option for a local (stdio) MCP client. Requires uv.
Add it to Claude Code:
The container defaults to the streamable-http transport (long-lived network service). Only expose
it behind an authenticating proxy β see Security.
Requires Python 3.12+ and uv.
To reach the server from claude.ai while your AiSEG2 stays on your LAN, see
examples/remote/ β a Docker Compose stack (MCP + GitHub-OAuth proxy +
Cloudflare Tunnel).
| Variable | Required | Default | Description |
|---|---|---|---|
AISEG_URL | yes | β | AiSEG2 base URL, e.g. http://192.168.0.216 (http only) |
AISEG_PASSWORD | yes | β | HTTP Digest password for the AiSEG2 web UI |
AISEG_USER | no | aiseg | HTTP Digest user |
AISEG_TRANSPORT | no | stdio | stdio or streamable-http |
AISEG_HOST | no | 0.0.0.0 | Bind host (streamable-http only) |
AISEG_PORT | no | 8000 | Bind port (streamable-http only) |
AISEG_DISABLE_DNS_REBINDING_PROTECTION | no | false | Disable the SDK Host allowlist β only behind a trusted auth proxy |
AISEG_CACHE_DIR | no | <tempdir>/aiseg2-mcp-cache | Where the SD-card history export is cached |
AISEG_CACHE_TTL | no | 3600 | Seconds to reuse a cached history export before re-downloading |
LOG_LEVEL | no | info | Log level |
/action/, and read-only
annotation checks).streamable-http transport to untrusted networks without authentication.
This server carries no auth of its own; if you run it as a network service, put an authenticating
reverse proxy in front of it. AISEG_DISABLE_DNS_REBINDING_PROTECTION=true is only appropriate in
that proxied setup.The AiSEG2 web interface is undocumented; this project builds on the reverse-engineering knowledge shared by prior work:
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/aiseg2-mcp)<a href="https://allmcps.com/mcp/aiseg2-mcp"><img src="https://allmcps.com/api/badge/aiseg2-mcp?style=directory" alt="Aiseg2 MCP on AllMCPs" /></a>