Skip to main content

MCP server for Fronius solar inverters — real-time PV, battery, and grid data in Claude

Project description

fronius-mcp

Real-time solar data from your Fronius inverter, directly in Claude.

Ask things like:

"How much solar power am I generating right now?"

"What's my battery charge level?"

"Am I currently importing or exporting to the grid?"

"How much energy did I produce this year?"

"What can you do with my solar system?"

"Analyse my photovoltaics for me."

Connects to the Fronius Solar API v1 directly on your local network — no cloud account, no subscription, no data leaving your home.


How it works

fronius-mcp is a Model Context Protocol (MCP) server. MCP is an open standard that lets AI assistants like Claude connect to external tools and data sources. Once configured, Claude can call your inverter's local API in real time — whenever you ask a question about your solar system, Claude fetches live data and answers based on what's actually happening right now.


Requirements

  • A Fronius inverter on your local network with the Solar API (JSON API) enabled
  • Claude Desktop
  • uv — a fast Python package manager (one-line install)

Setup

1. Install uv

uv is a fast Python package manager used to run fronius-mcp without a permanent install.

macOS / Linux:

curl -LsSf https://astral.sh/uv/install.sh | sh

Windows (PowerShell):

irm https://astral.sh/uv/install.ps1 | iex

Restart your terminal after installing.

2. Add to Claude Desktop

Open your claude_desktop_config.json and add the fronius block inside mcpServers:

{
  "mcpServers": {
    "fronius": {
      "command": "uvx",
      "args": ["fronius-mcp"]
    }
  }
}

Config file location:

Platform Path
macOS ~/Library/Application Support/Claude/claude_desktop_config.json
Windows %APPDATA%\Claude\claude_desktop_config.json
Windows (Store app) %LOCALAPPDATA%\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\claude_desktop_config.json

Tip: If the mcpServers key already exists, just add the fronius block inside it — don't create a second mcpServers.

3. Restart Claude Desktop

Close and reopen Claude Desktop so it picks up the new server config.

4. Configure your inverter

In a new Claude conversation, say:

"Configure my Fronius inverter at 192.168.178.35"

Claude will save your inverter's IP and confirm the connection. This is a one-time step — the address is stored in ~/.fronius-mcp.json and persists across restarts.

Don't know your inverter's IP? Tell Claude: "I want to configure my Fronius inverter but I don't know the IP." Claude will walk you through finding it via your router, Fronius Solar.web, or the inverter's touch display — and how to enable the Solar API in the inverter's web interface if you haven't done that yet.


What you can ask

Once set up, just talk to Claude naturally. Some examples:

  • "What's my current solar output?" — live PV generation in watts
  • "How self-sufficient am I right now?" — autonomy and self-consumption percentages
  • "Is my battery charging or discharging?" — battery power flow and state of charge
  • "How much have I fed into the grid today?" — energy totals from the smart meter
  • "What devices are connected to my inverter?" — full system topology
  • "Give me a full overview of my solar system." — Claude combines all data sources into a summary

Tools

Tool What it does
configure_inverter Set your inverter's IP address — run this once on first setup
solar_power_flow PV generation, grid exchange, house load, battery power, autonomy, energy totals
solar_meter Grid power per phase, cumulative energy in/out, voltage, current, frequency
solar_battery State of charge, voltage, current, temperature, capacity, status
solar_devices All connected devices with type, bus index, and serial number

Compatible Hardware

Developed and tested on:

  • Fronius Symo GEN24 10.0 Plus
  • BYD Battery-Box Premium HV (13.824 kWh)
  • Fronius Smart Meter (grid feed-in point, 3-phase)

Other Fronius inverters with Solar API v1 support should work. Some API endpoints behave differently across models — if something doesn't work on your hardware, open an issue.


License

Apache 2.0 — see LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fronius_mcp-0.1.2.tar.gz (15.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fronius_mcp-0.1.2-py3-none-any.whl (17.5 kB view details)

Uploaded Python 3

File details

Details for the file fronius_mcp-0.1.2.tar.gz.

File metadata

  • Download URL: fronius_mcp-0.1.2.tar.gz
  • Upload date:
  • Size: 15.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for fronius_mcp-0.1.2.tar.gz
Algorithm Hash digest
SHA256 523980da1e9a111f4a3382c614601c9afacf0784f752da5c76ffc352324f4192
MD5 7e5d05c364e0cc99aa08d68ea78890d8
BLAKE2b-256 a03aa482df255c3f70fd35cdd2e617be8d8ab3b3adaef86f102ac92d3fa24e56

See more details on using hashes here.

File details

Details for the file fronius_mcp-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: fronius_mcp-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 17.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for fronius_mcp-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 05db483e1925d667e3893c251efa17241088b72e90093f4722118df6cd476208
MD5 a74debd7c1592ba3e9d793e4c81fed4b
BLAKE2b-256 18508e864e54a90b435bb8e0c65fde19713890d2def809283c5216dfc567a9ae

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page