Skip to main content
Glama
marcinn2

GoodWe MCP Server

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
GOODWE_HOSTNoInverter IP/hostname for auto-connect on startup
GOODWE_PORTNoInverter UDP/TCP port8899
MCP_BASE_URLNoPublic base URL of the serverhttp://<host>:<port>
GOODWE_FAMILYNoInverter family override (ET, EH, BT, BH, ES, EM, BP, DT, MS, NS, XS)auto-detect
MCP_AUTH_TOKENNoBearer token required on all HTTP requests (auth disabled if empty)

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
connect_inverterA

Connect to a GoodWe inverter over the local network.

Args: host: IP address or hostname of the inverter (e.g. "192.168.1.100"). port: UDP port — default 8899. Use 502 for Modbus/TCP. family: Optional inverter family override: ET, EH, BT, BH, ES, EM, BP, DT, MS, NS, XS. Leave blank for auto-detection. timeout: Per-attempt timeout in seconds. retries: Number of retry attempts on failure.

get_connection_statusB

Return the current connection status and basic device info.

get_device_infoA

Get model name, serial number and firmware version of the connected inverter.

get_runtime_dataA

Read current live data from all inverter sensors.

Args: sensor_kind: Optional filter — one of PV, AC, UPS, BAT, GRID, BMS. Omit to return all sensors.

Returns power, voltage, current, energy, battery state, grid status and more.

list_sensorsA

List all sensor IDs and names available on the connected inverter.

Args: sensor_kind: Optional filter — one of PV, AC, UPS, BAT, GRID, BMS.

read_sensorA

Read the current value of a single sensor by its ID.

Args: sensor_id: Sensor identifier, e.g. "pv1_voltage", "battery_soc", "grid_power". Use list_sensors to discover available IDs.

get_settings_dataA

Read all configurable inverter settings and their current values.

read_settingA

Read the current value of a single configurable setting.

Args: setting_id: Setting identifier. Use get_settings_data to see all IDs.

write_settingA

Write a new value to a configurable inverter setting.

Args: setting_id: Setting identifier. Use get_settings_data to see available IDs. value: New value as a string (converted to int/float automatically when possible).

Warning: Incorrect values can affect inverter operation. Verify the value before writing.

get_operation_modeA

Get the current operation mode and the list of modes supported by this inverter.

set_operation_modeB

Set the inverter operation mode.

Args: mode: One of: general, off_grid, backup, eco, peak_shaving, eco_charge, eco_discharge. eco_mode_power: Power level % for eco modes (0–100, default 100). eco_mode_soc: Battery SOC % threshold for eco modes (0–100, default 100).

get_grid_export_limitA

Get the current grid export power limit in watts.

set_grid_export_limitA

Set the maximum power the inverter may export to the grid.

Args: limit_watts: Power limit in watts (0–10000). Use 0 to disable export.

get_battery_dodA

Get the battery depth-of-discharge setting (percentage of capacity that may be used).

set_battery_dodA

Set the battery depth-of-discharge limit.

Args: depth_percent: How much of the battery capacity may be discharged (0–99). Higher values allow deeper cycling but can reduce battery lifespan.

Prompts

Interactive templates invoked by user choice

NameDescription
status_overviewGet a full status report: connection, live power flow, battery state, and grid metrics.
battery_optimisationReview battery settings and suggest depth-of-discharge and operation mode adjustments.
grid_export_configCheck and adjust the grid export power limit.
operation_mode_changeExplain available operation modes and help pick the right one.
diagnose_issueCollect full diagnostics and help identify problems with the inverter.
daily_energy_summaryPull today's energy counters and produce a human-readable daily summary.

Resources

Contextual data attached and managed by the client

NameDescription
resource_statusConnection status and device info for the GoodWe inverter.
resource_runtimeLive runtime data from the inverter — all sensor values as JSON.
resource_settingsCurrent configurable settings of the inverter as JSON.
resource_power_nowReal-time power flow: PV, battery, grid and load — watts only.
resource_energy_todayToday's energy counters: production, load, grid buy/sell, battery charge/discharge (kWh).
resource_batteryBattery state: SOC, power, temperature, BMS data, depth-of-discharge and operation mode.
resource_sensorsStatic sensor catalog: id, name, unit and kind for every sensor (no live values).

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/marcinn2/goodwe-inverter-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server