# Aivy by Ivy Energy > Aivy runs residential solar + battery systems (Sungrow, Sigenergy, FoxESS, AlphaESS, SolaX and more) against live electricity prices in Australia. This site is the web app; the Developer API below lets a user's own AI agent or scripts read and control that user's own system. ## Developer API - Base URL: https://bridge.ivyenergy.com.au/v1 - Machine-readable guide: https://bridge.ivyenergy.com.au/v1/llms.txt - OpenAPI 3.1: https://bridge.ivyenergy.com.au/v1/openapi.json - Interactive docs: https://bridge.ivyenergy.com.au/v1/docs - Auth: personal API key from the Aivy app (menu, API keys), sent as `Authorization: Bearer aivy_sk_...` ## Clients - MCP server (Claude, ChatGPT, Codex, Cursor): aivy-mcp, https://github.com/IVYEnergy/aivy-mcp - Install page with per-client steps: https://bridge.ivyenergy.com.au/developers ## Install aivy-mcp - Any client, one line (installs uv if missing, configures Codex, Claude Code, Claude Desktop, Cursor): `curl -fsSL https://raw.githubusercontent.com/IVYEnergy/aivy-mcp/main/install.sh | sh` - Claude Desktop without a terminal: download `aivy-mcp-.mcpb` from https://github.com/IVYEnergy/aivy-mcp/releases/latest and open it - Codex (`~/.codex/config.toml`): `[mcp_servers.aivy]` with `command = "uvx"` and `args = ["aivy-mcp@latest"]`; restart, then `@aivy` - Claude Code: `claude mcp add aivy -- uvx aivy-mcp@latest` - Cursor or any MCP client: `{"mcpServers": {"aivy": {"command": "uvx", "args": ["aivy-mcp@latest"]}}}` - No API key needed to start: say "sign me up to Aivy" in the chat. Package: https://pypi.org/project/aivy-mcp/ - Updating: `@latest` means uv checks PyPI at every start, so restarting the client updates it. Older entries that run plain `uvx aivy-mcp` stay on their first version: rerun the one-line installer (it rewrites the entry, key kept). Claude Desktop: open the new .mcpb from the latest release. ChatGPT: nothing to do, the hosted server updates itself. ## App - Android: https://play.google.com/store/apps/details?id=com.ivyenergy.aivy