Skip to main content
Glama
ratoshniuk

Growatt MCP Server

by ratoshniuk

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
GROWATT_TOKENYesShinePhone API token
GROWATT_REGIONNoPicks the regional API host: global / eu (openapi.growatt.com), cn (openapi-cn.growatt.com), us (openapi-us.growatt.com)global
GROWATT_TIMEOUTNoHTTP timeout in seconds30
GROWATT_BASE_URLNoExplicit API host (https only); overrides GROWATT_REGION
GROWATT_READ_ONLYNoSet to 1 to register only the read tools; the ten state-changing tools are not exposed at all0

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

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

Tools

Functions exposed to the LLM to take actions

NameDescription
get_plantsA

List all plants (solar installations) visible to this Growatt account.

get_plant_detailsA

Get basic information about a plant: name, location, peak power, timezone.

get_plant_dataA

Get the current energy overview for a plant: today's, monthly, yearly and total energy, current power.

get_plant_energyA

Get historical energy generation for a plant.

get_user_plantsA

List the plants that belong to a specific end user (installer / distributor accounts).

add_plantA

Create a new plant for an end user. Changes state on Growatt's side.

modify_plantA

Rename a plant and/or change its currency. Changes state on Growatt's side.

get_devicesA

List devices with their type ("min", "sph", "max", ...), which the other tools need.

With a plant_id, returns every device of that plant (page is ignored). Without it, returns all devices on the account, paginated.

get_device_infoA

Get static information for a device: model, firmware, configured settings.

get_device_last_dataA

Get the latest real-time reading: PV power, load, grid import/export, battery SOC, temperatures, faults.

get_device_historyA

Get five-minute readings for a single device for one day.

The "calendar" field is an epoch built from the plant's local wall-clock interpreted as UTC+8; treat it as UTC and add 8 hours to get local time.

check_device_snA

Look up a serial number to learn its device type and whether it is already registered.

get_dataloggersA

List the dataloggers (ShineWiFi / ShineLAN sticks) attached to a plant.

add_dataloggerA

Attach a datalogger to a plant. Changes state on Growatt's side.

add_storage_deviceA

Attach a storage (battery) device to a plant. Changes state on Growatt's side.

set_device_on_offA

Turn a device on or off. Changes state on Growatt's side.

set_device_powerA

Set the active power limit of a device. Changes state on Growatt's side.

read_device_parameterB

Read a VPP (Virtual Power Plant) parameter from a device.

set_device_parameterB

Write a VPP (Virtual Power Plant) parameter on a device. Changes state on Growatt's side.

get_max_dataA

Get the latest data for one MAX-series inverter.

get_max_batch_dataA

Get the latest data for several MAX-series inverters in one call.

set_max_parameterB

Write a setting on a MAX-series inverter. Changes state on Growatt's side.

list_usersA

List end-user accounts managed by this Growatt account.

check_userB

Check whether a Growatt user name exists.

register_userA

Create an end-user account under this Growatt account. Changes state on Growatt's side.

modify_userA

Update an end-user's mobile number. Changes state on Growatt's side.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.4/5.0

Scored across 26 tools

Disambiguation4/5

Most tools have distinct targets: plant details, plant data, plant energy, device info, dataloggers, users, and MAX-series inverters are clearly separated. A few pairs like get_plant_details vs get_plant_data and get_device_last_data vs get_max_data could be confused, but the descriptions disambiguate them well enough.

Naming Consistency3/5

The dominant get_* pattern is clear, but there is a mix of list_users, check_user, read_device_parameter, add_*, set_*, modify_*, and register_user. The inconsistent use of list vs get for listing resources and get vs read vs check makes the naming readable but not fully predictable.

Tool Count2/5

At 26 tools, the server is beyond the 25-tool threshold for a heavy surface. It covers many subdomains, but the count is high enough that agents will need to filter through many similar-looking operations.

Completeness3/5

The server covers plant creation/modification, device monitoring and control, user management, and MAX-specific operations. Notable lifecycle gaps exist: there are no remove/delete operations for plants, users, dataloggers, or storage devices, and some user update coverage is minimal.

Maintenance

ActivityMaintained
ResponsivenessNo issues