Alpha Ess Solar Energy System Server

by michaelkrasa

320 downloads
Not rated
GitHub

About

Provide seamless access to Alpha ESS solar inverter and battery system data for AI assistants. Monitor real-time and historical energy statistics, configure battery charge and discharge schedules, and analyze energy trends with structured, enhanced data responses. Enable intellig

Details

Author
michaelkrasa
Downloads
320
Categories
Other

- Authenticate with Alpha ESS Open API credentials
- List all registered Alpha ESS systems
- Retrieve comprehensive energy statistics for all systems
- Get real-time and historical power data snapshots
- Configure battery charging and discharge schedules

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Alpha Ess Solar Energy System Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install with uv sync, create a .env file containing your Alpha ESS API credentials (AppID and AppSecret), then add the server to your MCP client configuration (e.g., Claude Desktop) using uv run python /path/to/main.py. Once configured, you can call the provided tools to retrieve live and historical energy data, list systems, and modify battery charge/discharge settings.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "alpha ess solar energy system server": {
            "alpha-ess": {
                "command": "uv",
                "args": [
                    "run",
                    "python",
                    "/path/to/alpha-ess-mcp-server/main.py"
                ],
                "env": {
                    "ALPHA_ESS_APP_ID": "your_app_id_here",
                    "ALPHA_ESS_APP_SECRET": "your_app_secret_here"
                }
            }
        }
    }
}

McpServers

{
    "alpha-ess": {
        "command": "uv",
        "args": [
            "run",
            "python",
            "/path/to/alpha-ess-mcp-server/main.py"
        ],
        "env": {
            "ALPHA_ESS_APP_ID": "your_app_id_here",
            "ALPHA_ESS_APP_SECRET": "your_app_secret_here"
        }
    }
}

Alpha ESS MCP Server

smithery badge

A Model Context Protocol (MCP) server that provides access to Alpha ESS solar inverter and battery system data through the official Alpha ESS Open API.

Installation

uv sync

Configuration

Create a .env file in the project root:

ALPHA_ESS_APP_ID=your_app_id_here
ALPHA_ESS_APP_SECRET=your_app_secret_here

To get your Alpha ESS API credentials:
1. Visit https://open.alphaess.com/
2. Create a developer account
3. Add your inverter system using the Serial Number (SN) and CheckCode
4. Obtain your AppID and AppSecret

Usage with Claude Desktop

Add to your Claude Desktop config file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "alpha-ess": {
      "command": "uv",
      "args": [
        "run",
        "python",
        "/path/to/alpha-ess-mcp-server/main.py"
      ],
      "env": {
        "ALPHA_ESS_APP_ID": "your_app_id_here",
        "ALPHA_ESS_APP_SECRET": "your_app_secret_here"
      }
    }
  }
}

Available Tools

Authentication & System Management

- authenticate_alphaess() - Validate API credentials - get_ess_list() - List all registered Alpha ESS systems

Data Retrieval

- get_alpha_ess_data() - Get comprehensive energy statistics for all systems - get_last_power_data(serial?) - Get real-time power data snapshot - get_one_day_power_data(query_date, serial?) - Get detailed power data for a specific date - get_one_date_energy_data(query_date, serial?) - Get energy summary for a specific date

Battery Configuration

- get_charge_config(serial?) - Get current battery charging configuration - get_discharge_config(serial?) - Get current battery discharge configuration - set_battery_charge(enabled, dp1_start, dp1_end, dp2_start, dp2_end, charge_cutoff_soc, serial?) - Configure battery charging schedule - set_battery_discharge(enabled, dp1_start, dp1_end, dp2_start, dp2_end, discharge_cutoff_soc, serial?) - Configure battery discharge schedule

Parameters

- serial (optional) - System serial number. If not provided, automatically selects the first system if only one exists - query_date - Date in YYYY-MM-DD format - enabled - Boolean to enable/disable the configuration - dp1_start/dp1_end, dp2_start/dp2_end - Time periods in HH:MM format (minutes must be :00, :15, :30, :45) - charge_cutoff_soc/discharge_cutoff_soc - SOC percentage (0-100)

Testing

uv run python test_methods.py

License

MIT License

References

- Alpha ESS Open API Documentation
- alphaess-openAPI Library
- Model Context Protocol

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.