Skip to main content

aivy-mcp

An MCP server that lets your own AI assistant (Claude Code, Claude Desktop, ChatGPT, Codex, Cursor, ...) read and control your own solar + battery system through the Aivy Developer API by Ivy Energy.

Works with every brand Aivy runs: Sungrow, Sigenergy, FoxESS, AlphaESS, SolaX and more. The same tools, whatever the inverter.

1. Get a key

Open bridge.ivyenergy.com.au/developer, sign up or sign in, and create a key. Pick Read only to let an assistant look, or Read and control to let it change the energy mode, Ai+ settings and connect systems. The key sees exactly what your account sees, nothing more.

No hardware yet? Every key also lists demo sites (sandbox:..., replayed real data, read-only), so you can try everything first. Accounts and keys can also be created from the API itself; see the Quickstart.

2. Add the server

Claude Code:

claude mcp add aivy -e AIVY_API_KEY=aivy_sk_... -- uvx aivy-mcp

Claude Desktop / Cursor / any MCP client (mcpServers block):

{
  "mcpServers": {
    "aivy": {
      "command": "uvx",
      "args": ["aivy-mcp"],
      "env": { "AIVY_API_KEY": "aivy_sk_..." }
    }
  }
}

No uv? pipx run aivy-mcp or pip install aivy-mcp && aivy-mcp work too.

Assistants that cannot run local tools (ChatGPT in the browser) can use the HTTP API directly. Paste this into the chat:

Use the Aivy Developer API at https://bridge.ivyenergy.com.au/v1 with the header Authorization: Bearer aivy_sk_.... Read https://bridge.ivyenergy.com.au/v1/llms.txt first, then GET /sites.

3. Ask

  • "How's my battery doing?"
  • "Why did it charge at 3am?"
  • "What are prices doing tonight? Should I sell?"
  • "Plan the best time to sell tonight, keep 20%, then apply it."
  • "Charge at 5 kW to 90% for the next two hours." (control key)
  • "Make Ai+ a bit more aggressive on exports." (control key)
  • "Connect my Sungrow inverter, serial A2340000001, NMI 2001234567." (control key)

Tools

Tool Changes anything? What it does
whoami no Who the key is, read or control
list_sites no Your sites; ids look like sungrow:1445844
get_site no Capacity, limits, timezone, mode, live SOC
get_status no Live SOC and power flows
get_curve no 5-minute or daily history
get_earnings no A day's energy, priced at Amber's actual prices
get_operations no What the platform did and why
get_prices no Amber prices now and forecast
list_vendors no Supported brands and what connecting one needs
connect_site yes Link the user's system (serial + NMI, system id, or an OAuth link to open)
disconnect_site yes Remove a site from the account
get_energy_mode no Mode, windows, pending hand-back
set_energy_mode yes selfConsumption / amber_smart (Ai+) / forced (time-boxed)
get_ai_plus no Ai+ variant, settings and tunable ranges
update_ai_plus yes Change Ai+ levers or variant
plan_best_price_discharge no Propose a sell schedule from the forecast
plan_discharge_to_target no Propose a discharge that lands on a SOC at a time

What the server enforces, whatever the assistant does

  • A key sees only its owner's sites; writes need the control scope.
  • A forced (manual) mode set through the API always reverts to the previous mode after duration_minutes (default 4 h, max 24 h).
  • The SOC floor and grid export limits cannot be overridden.
  • Every call is recorded with the key id and client; keys can be revoked in the app at any time and stop working immediately.
  • Per-key rate limit (default 120/min). Readings refresh about once a minute.

Development

git clone https://github.com/IVYEnergy/aivy-mcp && cd aivy-mcp
uv run --with pytest pytest
uv run aivy-mcp            # needs AIVY_API_KEY

The package also lives in Ivy Energy's main repository under sdk/aivy-mcp; this public repository is where it is released from.

Point at another deployment with AIVY_API_URL=https://host/v1.

License

Apache License 2.0. See LICENSE.

Metadata

Release files for aivy-mcp 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for aivy-mcp 0.2.0
File Size Uploaded Provenance Actions
aivy_mcp-0.2.0.tar.gz 12.7 kB Without provenance Details for aivy_mcp-0.2.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for aivy-mcp 0.2.0
File Interpreter ABI Platform Actions
aivy_mcp-0.2.0-py3-none-any.whl Python 3 none any Details for aivy_mcp-0.2.0-py3-none-any.whl

Total release size: 26.3 kB

Release files / aivy_mcp-0.2.0.tar.gz

Download URL aivy_mcp-0.2.0.tar.gz
Size 12.7 kB
Tags Source
SHA-256 checksum
How to use checksums
33f76d7e2cf05fd357b3ccd833c0753d9345c3cb48390f2b4e2110c8b7cc8b76
BLAKE2b-256 checksum
How to use checksums
771c75fbc8f81c823796fb31db957d4e5907ea4a2635961438dafbe3d824de3b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.11

Release files / aivy_mcp-0.2.0-py3-none-any.whl

Download URL aivy_mcp-0.2.0-py3-none-any.whl
Size 13.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c5f5f906715de1e000de6ab04b4e05f09dfad60479b2f661e35cbc18c33f05f5
BLAKE2b-256 checksum
How to use checksums
2a4ebf9552036dc8e8eb85abbbad86b3fc76bcaa91d226bc846030fd0aca9f5c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.11

Security for aivy-mcp 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page