Verified

Enphase MCP Server

Enphase Developer API v4 data and hardware control for AI assistants.

Data last scanned today · Reviewed today

Overview

This MCP server provides an interface to the Enphase Enlighten ecosystem, allowing AI models to retrieve real-time solar production, battery telemetry, and consumption metrics. It leverages OAuth 2.0 to access your system data without requiring password scraping, ensuring a standard authentication flow for your connected home hardware. The server features over 30 read-only tools that summarize lifetime production, system health, and EV charger status. Users can optionally enable write capabilities for battery settings and EV charging control, providing direct LLM-driven management of physical solar equipment.

Our verdict

This server carries a high risk rating of 24/100, primarily because it is community-maintained rather than official Enphase software and lacks an independent editorial review. While it implements OAuth 2.0 to avoid credential exposure, users should exercise caution given the potential for the server to modify physical equipment settings when the opt-in write functionality is enabled. It is recommended for users comfortable auditing Python code and managing their own API keys who strictly require local automation of their solar arrays.

  • Supports OAuth 2.0 for secure account data access
  • Offers granular read-only access to over 30 metrics
  • Requires zero direct dependencies for simplified maintenance
  • Community-maintained software lacking official vendor support
  • High risk score due to lack of independent editorial review
  • Last commit was over four months ago

Tools

ToolDescriptionRisk
get_systemsReturns a list of systems.low
get_system_summaryReturns a summary of the system.low
get_latest_telemetryReturns the latest telemetry data.low
get_live_dataReturns live system data.low
get_devicesReturns a list of devices.low
get_lifetime_productionReturns lifetime production data.low
get_lifetime_consumptionReturns lifetime consumption data.low
get_lifetime_batteryReturns lifetime battery data.low
get_lifetime_grid_importReturns lifetime grid import data.low
get_lifetime_grid_exportReturns lifetime grid export data.low

Compatibility

ClientLocalDockerRemoteRead-only
ChatGPT
Claude Desktop
Cursor
VS Code
Windsurf

Frequently asked questions

Are the write tools enabled by default?

No, write tools are disabled by default to prevent accidental hardware changes. You must set the ENPHASE_ENABLE_WRITES=1 environment variable to enable battery management and EV charger control.

What should I do if I receive a 401 error code?

A 401 error typically indicates a subscription plan limitation on the Enphase Developer API. While the free Watt plan supports most read tools, features like per-device telemetry or storm guard may require an upgrade to the Kilowatt plan or higher.

Why am I getting a 404 error when trying to use battery or EV charger tools?

A 404 error indicates that your specific system configuration lacks the required hardware. Battery tools require an Enphase IQ Battery, and EV charger tools require an Enphase IQ EV charger.

How often do I need to perform the authentication flow?

The server uses tokens that auto-refresh, provided you make an API call at least once per week. If the refresh token expires due to inactivity, you will need to re-run the auth_setup.py script.

Can I automate the token keepalive process?

Yes, you can run the provided keepalive.py script on a schedule to perform a minor API call every few days. This prevents the one-week refresh token inactivity window from expiring.

What information is needed to configure the server?

You need your Enphase API Key, Client ID, Client Secret, and System ID. If you do not have your System ID, you can leave it blank in the .env file and discover it using the get_systems tool after starting the server.

Alternatives

Badge

Enphase MCP Server security score, rated on RepoAI

Maintain this server? Add the live badge to your README.