EcoFlow MCP Server
# 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
TDQS
Scored across 9 tools
Each tool has a clearly distinct purpose targeting specific aspects of EcoFlow device management. For example, ecoflow_get_device_status provides comprehensive status, while ecoflow_get_solar_input focuses specifically on solar data, and ecoflow_set_ac_output controls AC output settings. No tools appear to overlap in functionality.
All tools follow a perfect ecoflow_verb_noun pattern with consistent snake_case throughout. The naming convention clearly indicates the action (get/set/list) and the target resource (device_status, charging_settings, solar_input, etc.), making the tool set highly predictable and readable.
With 9 tools, this server is well-scoped for managing EcoFlow devices. The count is appropriate for covering key operations like listing devices, getting various statuses (device, charging, solar, raw data), and configuring outputs (AC, DC, charging, standby) without being overwhelming or insufficient.
The tool set provides excellent coverage for monitoring and controlling EcoFlow devices, including CRUD-like operations (list, get, set) for key parameters. A minor gap exists in not having tools for firmware updates or advanced diagnostics, but core workflows for status retrieval and configuration are well-covered.