Skip to main content
Glama
ratoshniuk

Growatt MCP Server

by ratoshniuk

modify_plant

Destructive

Change a plant's name or currency in Growatt. Specify plant ID and user ID, then set the new name or currency code.

Instructions

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

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoNew plant name. Empty keeps the current one.
currencyNoCurrency code as used by Growatt. Empty keeps the current one.
plant_idYesPlant ID, as returned by get_plants.
c_user_idYesEnd-user ID (c_user_id) as returned by list_users.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and readOnlyHint=false, so the agent knows this is a write operation. The description adds 'Changes state on Growatt's side,' which is a minor clarification that the mutation affects a remote system. However, it does not disclose further side effects, reversibility, or prerequisites beyond what annotations and schema already convey. Given the annotation coverage, the description's extra contribution is modest.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short sentences with no redundant phrases. It leads with the primary action and follows with a clarifying side-effect note. Every word earns its place, and it is front-loaded for quick comprehension.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has a relatively simple function (rename/change currency), and both the input schema and an output schema exist. The description covers the core action and side effect, while the schema provides parameter details and references. There is no missing critical information for an agent to invoke the tool correctly, though it could have briefly noted that empty values keep current settings (already in the schema). Overall, it is complete for the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% coverage with descriptions for every parameter, including cross-references like 'as returned by get_plants' and 'as returned by list_users.' The description's mention of 'Rename a plant and/or change its currency' aligns with the name and currency parameters but adds no additional semantic detail beyond what the schema provides. Since the schema does the heavy lifting, a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb ('Rename') and resource ('plant') plus the optional secondary action ('change its currency'). It immediately distinguishes itself from sibling tools like get_plants, add_plant, and modify_user by specifying exactly what it modifies. The phrase 'Changes state on Growatt's side' further clarifies the side effect, leaving no doubt about the tool's purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies that this tool is for modifying an existing plant's name or currency, which is clear from the wording. However, it does not explicitly state when to use this tool versus alternatives (e.g., 'Use add_plant to create a new plant, use modify_user for user changes'). No exclusions or alternative routing is provided, so the guidance is implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.