Skip to main content

MCP server for Fronius Symo GEN24 solar system

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

Follow the uv installation instructions for your platform. It's a single command and takes under a minute.

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

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 ask for the IP and, once you provide it, 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.0.tar.gz (14.3 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.0-py3-none-any.whl (17.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: fronius_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 14.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for fronius_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 2672bbc70ec69a1d3d81e396795bcd622bc2b019cda585c3a2f89b6fc52d920c
MD5 7554a850975fad372e5ac8a456abde0a
BLAKE2b-256 491a8a326e92aa7b93016e1e6da8cfaccaaad5a1d3d821679df334315b9c6f96

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for fronius_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 32bb731e4799c289c2cc841b522fb3bb350b57ad305a0fce50027834a94d7f8d
MD5 362254acfda16abe68e352b5cb81bf34
BLAKE2b-256 d0be4b3a10e6f1b51bddfc7040d24fe952589c659b5698160af5815d3007f587

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