# EcoFlow MCP Server
MCP (Model Context Protocol) server for controlling and monitoring EcoFlow Power Stations.
## Features
- **List Devices** - View all EcoFlow devices linked to your account
- **Device Status** - Get comprehensive status including battery level, power flow, temperatures
- **Solar Input** - Monitor solar panel power generation
- **AC Output Control** - Enable/disable AC output with X-Boost and voltage settings
- **DC Output Control** - Enable/disable DC (12V car port) output
- **Charging Settings** - Configure max/min charge levels and charging power
- **Standby Timeouts** - Set auto-off timers for device, AC, DC, and LCD
- **Raw Quota Access** - Access all device parameters for debugging
## Supported Devices
- DELTA series (Delta, Delta Max, Delta Pro, Delta 2, Delta 2 Max, Delta Pro 3)
- RIVER series (River, River Max, River Pro, River 2, River 2 Max, River 2 Pro)
- PowerStream micro-inverter
- Smart Plug
- And other EcoFlow devices with API support
## Setup
### 1. Get API Credentials
1. Register at [EcoFlow Developer Platform](https://developer.ecoflow.com)
2. Wait for approval (can take up to a week)
3. Go to your profile and generate Access Key and Secret Key
### 2. Install Dependencies
```bash
cd /Users/timothy.schwarz/Scripts/mcp-servers/ecoflow-mcp
npm install
npm run build
```
### 3. Configure MCP
Add to your `~/.claude/user-mcps.json`:
```json
{
"ecoflow": {
"type": "stdio",
"command": "node",
"args": ["/Users/timothy.schwarz/Scripts/mcp-servers/ecoflow-mcp/dist/index.js"],
"env": {
"ECOFLOW_ACCESS_KEY": "your_access_key_here",
"ECOFLOW_SECRET_KEY": "your_secret_key_here"
}
}
}
```
### Regional API
By default, the server uses `https://api.ecoflow.com` (US/Americas). For Europe, set:
```json
"env": {
"ECOFLOW_ACCESS_KEY": "...",
"ECOFLOW_SECRET_KEY": "...",
"ECOFLOW_BASE_URL": "https://api-e.ecoflow.com"
}
```
## Available Tools
### ecoflow_list_devices
List all EcoFlow devices linked to your account.
### ecoflow_get_device_status
Get comprehensive status for a device including battery level, power input/output, and more.
- `serial_number` (required): Device serial number
### ecoflow_get_solar_input
Get solar panel input data including power, voltage, and current.
- `serial_number` (required): Device serial number
### ecoflow_set_ac_output
Enable or disable AC output on a power station.
- `serial_number` (required): Device serial number
- `enabled` (required): true to enable, false to disable
- `xboost` (optional): Enable X-Boost mode
- `voltage` (optional): Output voltage (110 or 220)
- `frequency` (optional): Output frequency (50 or 60 Hz)
### ecoflow_set_dc_output
Enable or disable DC output (12V car port).
- `serial_number` (required): Device serial number
- `enabled` (required): true to enable, false to disable
### ecoflow_get_charging_settings
Get current charging configuration.
- `serial_number` (required): Device serial number
### ecoflow_set_charging_settings
Configure charging parameters.
- `serial_number` (required): Device serial number
- `max_charge_soc` (optional): Maximum charge level (0-100%)
- `min_discharge_soc` (optional): Minimum discharge level (0-100%)
- `charging_watts` (optional): AC charging power in watts
### ecoflow_set_standby
Configure auto-standby timeouts.
- `serial_number` (required): Device serial number
- `device_timeout` (optional): Device standby timeout in minutes (0 = never)
- `ac_timeout` (optional): AC output timeout in minutes
- `dc_timeout` (optional): DC output timeout in minutes
- `lcd_timeout` (optional): LCD screen timeout in seconds
### ecoflow_get_raw_quota
Get all raw device parameters (for debugging).
- `serial_number` (required): Device serial number
- `filter` (optional): Filter parameters by keyword
## Example Usage
```
> List my EcoFlow devices
> Show battery status for DELTA Pro (serial: R351...)
> Enable AC output on my DELTA 2
> Set charging limit to 80% on my power station
> Get solar panel input data
```
## API Documentation
- [EcoFlow Developer Platform](https://developer.ecoflow.com)
- [API Introduction](https://developer.ecoflow.com/us/document/introduction)
## License
MIT