Skip to main content
Glama
aydho

sigenergy-mcp

by aydho

read_raw_registers

Read-only

Read arbitrary Sigenergy Modbus registers by address when a value isn't in the built-in map, with options for count, device ID, register type, and optional decoding.

Instructions

Read arbitrary registers by address, for registers not in the built-in map.

Args: address: Start register address as given in the Sigenergy Modbus protocol (e.g. 30014). count: Number of 16-bit words to read (1-125). device_id: Modbus device id. Defaults to the plant id (247). register_type: "input" (function 0x04) or "holding" (0x03). Defaults to input for 3xxxx, holding otherwise. data_type: Optionally decode the words as this type.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
countNo
addressYes
data_typeNo
device_idNo
register_typeNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

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

With readOnlyHint already covering the safety profile, the description adds real operational context: valid count range (1-125), the device_id default (plant id 247), the function codes behind each register_type, and the default-selection rule tied to 3xxxx addresses. It does not mention rate limits or error behavior, but for a safe read this is substantial added value.

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

Conciseness4/5

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

Front-loaded one-line summary followed by an Args block per parameter; every line carries information. The only minor redundancy is per-parameter text that partially restates enum values already in the schema, but it is not wasted space.

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?

Output schema exists, so return values need not be described, and the description covers all five inputs including defaults and format examples. It is essentially complete for the task, with only minor gaps around error conditions or multi-register decoding behavior.

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

Parameters5/5

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

Schema description coverage is 0%, so the description carries the full burden and largely does: it explains address format with a concrete example (30014), count units and bounds, device_id default, the semantics of both register_type values with their Modbus function codes, and the purpose of data_type. This substantially exceeds what the bare schema conveys.

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?

States a specific verb and resource ('Read arbitrary registers by address') plus the scope that separates it from siblings ('registers not in the built-in map'), implicitly contrasting with read_registers/list_registers. An agent can pick it out without opening any schema.

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

Usage Guidelines4/5

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

'for registers not in the built-in map' gives a clear condition for choosing this tool over the mapped-register siblings. It stops short of naming the alternative tool or stating explicit exclusions, but the routing signal is unambiguous.

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