Victron VRM MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Victron VRM MCP Servershow me my current solar production"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Victron VRM MCP Server
A Model Context Protocol (MCP) server that provides read-only access to Victron VRM data.
Features
Read-only access to Victron VRM API v2
Complete implementation of all 41 GET endpoints
Supports comprehensive VRM monitoring:
User & authentication management
Installation discovery and search
Real-time system overview
Time-series statistics and forecasts
Aggregated energy totals
Alarms and warnings
Detailed diagnostics
20+ widget endpoints for specific device data
Data export in CSV/Excel formats
GPS tracking for mobile installations
Full input validation and error handling
Rate limiting awareness (200 requests rolling window)
Comprehensive test coverage
Related MCP server: unofficial-solaredge-mcp
Installation
npm install
npm run buildConfiguration
Set the following environment variables:
VRM_TOKEN(required): Your VRM personal access tokenVRM_BASE_URL(optional): Default ishttps://vrmapi.victronenergy.com/v2VRM_TOKEN_KIND(optional): EitherToken(default) orBearer
You can set these via shell env or a local .env file (auto‑loaded via dotenv). Example .env:
VRM_TOKEN=your-token-here
VRM_BASE_URL=https://vrmapi.victronenergy.com/v2
VRM_TOKEN_KIND=TokenGetting a VRM Token
Log into VRM Portal
Go to Preferences → Integrations → Access tokens
Create a new personal access token
Copy the token and set it as
VRM_TOKEN
Usage
As MCP Server (stdio)
# Option A: env inline
VRM_TOKEN=your-token-here npm start
# Option B: use .env (recommended)
echo "VRM_TOKEN=your-token-here" > .env
npm startClaude Desktop Configuration
Add to your Claude Desktop config:
{
"mcpServers": {
"vrm": {
"command": "node",
"args": ["/path/to/victron_vrm_mcp/dist/index.js"],
"env": {
"VRM_TOKEN": "your-token-here" // or omit if using .env alongside the binary
}
}
}
}Available Tools (41 Total)
Core Monitoring (8 tools)
vrm_get_user_me- Get current user information including user IDvrm_list_installations- List all installations accessible to the uservrm_get_system_overview- Get high-level system overview for a sitevrm_get_stats- Time-series statistics (venus, live_feed, consumption, kwh, solar_yield, forecast)vrm_get_overall_stats- Aggregated totals for attribute codes over a periodvrm_get_alarms- Retrieve alarms for a sitevrm_get_diagnostics- Get most recent diagnostic datapointsvrm_get_widget_graph- Widget graph data for specific device instances
Authentication & User Management (4 tools)
vrm_auth_login_as_demo- Login as demo accountvrm_auth_logout- Logout from current sessionvrm_search_user_installations- Search through user's installations
Data Export & Downloads (5 tools)
vrm_download_installation_data- Download data in CSV/Excel formats with optional parsingvrm_download_gps_data- Download GPS tracking datavrm_get_installation_tags- Get installation tags and labelsvrm_get_custom_widget- Get custom widget configurationvrm_get_dynamic_ess_settings- Get Dynamic ESS configuration
Widget State Monitoring (7 tools)
vrm_get_vebus_state- VE.Bus system statevrm_get_inverter_charger_state- Inverter/charger operational statevrm_get_charger_relay_state- Charger relay switching statusvrm_get_solar_charger_relay_state- Solar charger relay statevrm_get_gateway_relay_state- Gateway relay statevrm_get_gateway_relay_two_state- Secondary gateway relay statevrm_get_status_widget- General system status
Warnings & Alarms (2 tools)
vrm_get_vebus_warnings_alarms- VE.Bus system warnings and alarmsvrm_get_inverter_charger_warnings_alarms- Inverter/charger warnings
Device Summaries (9 tools)
vrm_get_battery_summary- Battery voltage, current, SoC, healthvrm_get_solar_charger_summary- MPPT performance and yieldvrm_get_ev_charger_summary- EV charging status and powervrm_get_global_link_summary- GlobalLink device summaryvrm_get_motor_summary- Motor drive RPM and powervrm_get_pv_inverter_status- PV inverter AC output statusvrm_get_tank_summary- Tank levels and capacityvrm_get_temp_summary_graph- Temperature sensors and graphsvrm_get_dc_meter- DC power meter readings
Advanced Diagnostics (4 tools)
vrm_get_bms_diagnostics- BMS cell voltages and balancingvrm_get_lithium_bms- Lithium battery BMS datavrm_get_historic_data- Historic data trendsvrm_get_io_extender- IO extender digital/analog signals
System-Wide Information (3 tools)
vrm_get_data_attributes- System-wide data attributesvrm_get_firmwares- Available firmware versionsvrm_get_reset_forecasts- Forecast reset timestamps
Example Usage in Claude
Once configured, you can ask Claude to:
"Show me my solar system's current status"
"What's my battery state of charge?"
"Download today's energy data as CSV"
"Check for any system alarms"
"Show me solar production for the last week"
"Get battery voltage trends"
"Export monthly energy totals"
Claude will use the appropriate VRM tools to fetch and analyze your Victron system data.
Development
# Run tests
npm test
# Run tests with UI
npm run test:ui
# Type checking
npm run typecheck
# Development mode with watch
npm run devTesting
The project includes comprehensive unit tests for:
Schema validation
VRM client functionality
MCP server integration
Error handling
Edge cases
Run tests with:
npm testSecurity
Never logs tokens or sensitive data
Strict path allowlisting
Input validation on all tools
Read-only operations only
License
ISC
Available Tools
41 toolsvrm_auth_login_as_demoB
Login as a demo account to explore VRM functionality.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must cover behavioral traits. It only mentions login but does not disclose session handling, expiration, or that it replaces current auth state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence is concise and front-loaded, but could include more helpful details without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations or output schema, the description is insufficient. It does not explain what 'explore VRM functionality' entails or the consequences of login (e.g., session creation).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so schema coverage is 100%. Description has no need to add parameter info; baseline of 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the action (login) and resource (demo account), and it distinctively separates from sibling tools like vrm_auth_logout.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, nor any prerequisites or context about its applicability (e.g., only for demo environments).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vrm_auth_logoutA
Logout from the current VRM session.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so description carries full burden. It clearly states the core action (logout from current session), implying session termination. However, it does not detail side effects like token invalidation or re-login requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no filler, directly states purpose. Excellent conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, no-output-schema tool, the description is nearly complete. It could mention that the session ends and authentication is cleared, but the current text is sufficient for an agent to understand basic function.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters, so schema coverage is 100%. According to the baseline rule for 0 params, score is 4. Description adds no param info but none needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Logout') and resource ('current VRM session'), clearly distinguishing it from the sibling vrm_auth_login_as_demo and other tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool (e.g., after login, before ending a session) or when not to use alternatives. No prerequisites or exclusions mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vrm_download_gps_dataC
Download GPS tracking data for mobile installations.
| Name | Required | Description | Default |
|---|---|---|---|
| siteId | Yes | Installation/site ID | |
| start | No | Start timestamp (epoch milliseconds) | |
| end | No | End timestamp (epoch milliseconds) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description bears full responsibility for behavioral disclosure. It only says 'download', which is ambiguous regarding side effects, authentication needs, or output format. No mention of rate limits, data retention, or file handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no redundancy. However, it could be slightly more informative without becoming lengthy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema, the description should clarify the return format (e.g., CSV, JSON, URL) and any constraints like date ranges or file size. It fails to do so, leaving the agent uncertain about the tool's output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers all parameters with descriptions (100% coverage). The description adds no new information beyond the schema, so 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (download) and resource (GPS tracking data) with context (mobile installations). It distinguishes from sibling tools which are mostly 'get' operations that return data, while this implies a download action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like vrm_get_historic_data which might also retrieve GPS data. No context on prerequisites or limitations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vrm_download_installation_dataC
Download installation data in various formats (CSV, Excel) with optional parsing for CSV.
| Name | Required | Description | Default |
|---|---|---|---|
| siteId | Yes | Installation/site ID | |
| start | No | Start timestamp (epoch milliseconds) | |
| end | No | End timestamp (epoch milliseconds) | |
| datatype | No | Type of data to download | log |
| format | No | File format | csv |
| decode | No | Whether to decode and parse CSV data |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must fully disclose behavioral traits. It mentions 'Download' and 'optional parsing' but omits whether the action is safe (read-only), requires authentication, has rate limits, or what happens to existing data. The lack of any behavioral caveats is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the core action. It avoids unnecessary words. However, it could be slightly expanded to include the required parameter (siteId) without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 6 parameters, no output schema, and no annotations, the description is insufficient. It does not explain what the download returns (e.g., file content, URL), error scenarios, or how parameters like date range affect output. A more complete description would cover these aspects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds no parameter-level information beyond what the schema already provides. It alludes to 'various formats' and 'optional parsing' but does not link these to specific parameters (format, decode). No added semantic value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Download') and resource ('installation data') and specifies formats (CSV, Excel) and optional parsing, distinguishing it from sibling download tools like vrm_download_gps_data which download a different data type. However, it could more explicitly differentiate from non-download data retrieval tools like vrm_get_historic_data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives (e.g., vrm_get_historic_data for non-file output). No prerequisites or context are mentioned, leaving the agent without contextual selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vrm_get_alarmsB
Check for any system alarms or alerts from your solar/battery installation. Supports historical time ranges to retrieve past alarms and warnings.
| Name | Required | Description | Default |
|---|---|---|---|
| siteId | Yes | Installation/site ID | |
| activeOnly | No | Show only active alarms | |
| page | No | Page number for pagination | |
| pageSize | No | Number of alarms per page | |
| start | No | Start time as epoch milliseconds for historical alarms | |
| end | No | End time as epoch milliseconds for historical alarms | |
| from | No | Alternative start time parameter | |
| to | No | Alternative end time parameter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions historical time range support but does not clarify safety (read-only assumed), pagination behavior, or how activeOnly interacts with time ranges. The description adds some context beyond the schema but lacks completeness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loading the main purpose ('Check for any system alarms or alerts') and adding the key feature of historical support. Every word is functional, with no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 8 parameters and no output schema, the description is too minimal. It fails to explain output format, pagination, parameter interactions (e.g., activeOnly vs time ranges), or how to handle the duplicate time parameters. An agent would lack essential context to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, so the baseline is 3. The description adds the context that start/end/from/to are for historical retrieval, but does not explain the redundancy between start/end and from/to or how activeOnly works with historical queries. It provides modest added meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks for system alarms/alerts from solar/battery installations and supports historical time ranges. However, it does not explicitly differentiate from sibling tools like vrm_get_inverter_charger_warnings_alarms, which could cause confusion for an AI agent selecting the correct tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool should be used for retrieving system alarms and historical data, but it provides no explicit guidance on when to use this tool versus alternatives (e.g., device-specific alarm tools). No exclusions or alternative recommendations are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vrm_get_battery_summaryB
Get comprehensive battery summary including voltage, current, SoC, and health status.
| Name | Required | Description | Default |
|---|---|---|---|
| siteId | Yes | Installation/site ID | |
| instance | No | Device instance ID (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must disclose behavioral traits. It only lists fields and does not mention read-only nature, authentication needs, rate limits, or potential data volume. The agent lacks critical context for a safe invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no redundancy. Every word serves a purpose, and it efficiently conveys the core function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema and annotations, the description is minimal. It adequately covers the purpose but omits return format, possible states (e.g., empty data), and any prerequisite. It is barely sufficient for a simple read tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and both parameters are already described in the schema with meanings (siteId as installation ID, instance as optional device ID). The description adds no additional semantic value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and resource ('battery summary'), listing key included attributes (voltage, current, SoC, health status). This clearly differentiates it from sibling tools like vrm_get_bms_diagnostics or vrm_get_lithium_bms.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. With many sibling battery-related tools, the description fails to indicate scenarios or exclusions, requiring the agent to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vrm_get_bms_diagnosticsB
Get Battery Management System diagnostics with cell voltages and balancing data.
| Name | Required | Description | Default |
|---|---|---|---|
| siteId | Yes | Installation/site ID | |
| instance | No | Device instance ID (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose more traits. It only states the basic purpose (get diagnostics) without mentioning if it's read-only, authorization needs, or any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no wasted words, directly states the tool's function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate but not complete: lacking output schema and doesn't describe return format or error conditions. Mentions cell voltages and balancing data which helps, but could be more thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters have descriptions. The tool description adds no extra meaning beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verb 'Get' and resource 'Battery Management System diagnostics', clearly distinguishing it from sibling tools like vrm_get_diagnostics and vrm_get_lithium_bms by specifying cell voltages and balancing data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. Sibling tools exist but not mentioned, and no prerequisites or exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vrm_get_charger_relay_stateC
Get charger relay state and switching status.
| Name | Required | Description | Default |
|---|---|---|---|
| siteId | Yes | Installation/site ID | |
| instance | No | Device instance ID (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior. It implies a read operation but does not explicitly state that it is read-only, mention authentication needs, or describe side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no superfluous words. It is well-structured and front-loaded with the core action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is too brief for a tool with no output schema and no annotations. It does not explain return values, behavior nuances, or how it differs from similar relay state tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, so the schema already documents both parameters. The description adds no additional context beyond the schema, meeting the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get charger relay state and switching status', specifying a verb and resource. However, it does not differentiate from sibling tools like `vrm_get_solar_charger_relay_state`, which could cause confusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of context, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vrm_get_custom_widgetC
Get custom widget configuration for an installation.
| Name | Required | Description | Default |
|---|---|---|---|
| siteId | Yes | Installation/site ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral disclosure. It only states a read operation ('Get') but does not mention any behavioral traits such as authentication requirements, read-only guarantee, rate limits, or potential side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words. It is efficient and front-loaded with the action and resource. However, it could include a bit more context without being verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one required parameter, no output schema), the description is minimally adequate. It identifies the input and action but does not describe the return value or configuration structure, which would help the agent understand what is retrieved.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (the single parameter is described as 'Installation/site ID'), so the baseline is 3. The tool description does not add additional meaning beyond restating 'installation', missing opportunities like explaining how to obtain the siteId.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'custom widget configuration for an installation', distinguishing it from sibling tools like vrm_get_status_widget and vrm_get_widget_graph by specifying 'custom'. However, it does not elaborate on what a custom widget is, which could cause ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. With 39 sibling tools, including multiple widget-related tools, the absence of usage context or exclusions makes it harder for an agent to select the correct tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vrm_get_data_attributesC
Get system-wide data attributes with filtering and sorting options.
| Name | Required | Description | Default |
|---|---|---|---|
| filter | No | Filter string for attributes | |
| sort | No | Sort field for results | |
| limit | No | Maximum number of results | |
| offset | No | Offset for pagination |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions filtering and sorting (parameter behavior) but does not disclose whether the operation is read-only, any performance implications, or side effects. Given sibling tools are mostly 'get' operations, it's likely read-only, but this is not explicitly stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that immediately conveys the tool's purpose. It is concise but could be slightly more informative about return type or usage context without losing efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema and annotations, the description is minimally adequate. It covers the core purpose and parameter intent but lacks behavioral transparency and usage guidelines, which are needed for completeness in a tool with four parameters and many siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all four parameters. The description adds 'filtering and sorting options', confirming the parameters' purpose, but does not provide syntax or format details beyond the schema. This meets the baseline for well-documented parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves system-wide data attributes, with a specific verb ('Get') and resource ('data attributes'). 'System-wide' distinguishes it from sibling tools that retrieve specific entities (e.g., alarms, battery summary). However, 'data attributes' is somewhat vague compared to more specific names.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. The description does not specify that this tool is for generic attribute retrieval, leaving the agent to infer from the name alone. No exclusion criteria or sibling comparisons.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vrm_get_dc_meterB
Get DC power meter readings with voltage, current, and power measurements.
| Name | Required | Description | Default |
|---|---|---|---|
| siteId | Yes | Installation/site ID | |
| instance | No | Device instance ID (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It only states it 'gets readings' without disclosing read-only nature, side effects, authentication needs, or rate limits. The behavior is minimally described.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the purpose with no extraneous words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description is minimal. It covers the basic purpose but lacks details on response format, pagination, or temporal scope. Adequate for a simple tool but could be more informative.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds 'voltage, current, and power' which imply what the response contains, but does not enhance parameter meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves DC power meter readings including voltage, current, and power. This specific verb+resource combination distinguishes it from sibling tools like vrm_get_battery_summary or vrm_get_pv_inverter_status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, context, or exclusions, leaving the agent without decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vrm_get_diagnosticsC
Get detailed diagnostic data and technical readings from your energy system devices.
| Name | Required | Description | Default |
|---|---|---|---|
| siteId | Yes | Installation/site ID | |
| count | No | Number of diagnostic records to retrieve | |
| offset | No | Offset for pagination |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description must disclose all behavioral traits. It only states it gets diagnostic data but does not explain data scope (e.g., current vs. historical), authentication requirements, rate limits, or any side effects. The description is insufficient for safe agent invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently states the purpose with no unnecessary words. It is front-loaded and easy to parse, though it could be slightly more precise about the type of diagnostic data.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and the complexity of the data (diagnostic readings with pagination), the description fails to explain the return format or what constitutes a diagnostic record. This leaves the agent uncertain about how to interpret results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with each parameter having a clear description in the input schema. The tool description adds no additional meaning beyond what the schema already provides, meeting the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves diagnostic data and technical readings, using a specific verb and resource. It is distinct from many sibling tools that target specific subsystems (e.g., battery, alarms), but does not explicitly differentiate itself, relying on the name 'diagnostics' to imply breadth.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like vrm_get_alarms, vrm_get_battery_summary, or other diagnostic tools. The description lacks context on appropriate scenarios, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vrm_get_dynamic_ess_settingsB
Get Dynamic ESS (Energy Storage System) configuration settings.
| Name | Required | Description | Default |
|---|---|---|---|
| siteId | Yes | Installation/site ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only states it 'gets' settings, implying a read operation. However, it does not disclose any side effects, authentication requirements, or data scope (e.g., what exactly is returned), leaving behavioral aspects opaque.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with zero wasted words. Every part earns its place, precisely stating the tool's action and target resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple getter with one parameter and no output schema, the description is minimally viable. But it lacks details on the response format or any special conditions, which could aid an agent. Given the tool's simplicity, it's adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a well-described parameter ('siteId'). The description adds no extra meaning beyond the schema, which is adequate for a simple parameter. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and resource ('Dynamic ESS configuration settings'), clearly distinguishing it from sibling tools that retrieve other specific data (e.g., battery sumary, alarms). No ambiguity exists.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. No when-not-to-use or mention of prerequisites, making it difficult for an agent to choose correctly among many similar getter tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vrm_get_ev_charger_summaryA
Get EV charger summary with charging status and power delivery.
| Name | Required | Description | Default |
|---|---|---|---|
| siteId | Yes | Installation/site ID | |
| instance | No | Device instance ID (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey behavioral traits. It only says 'Get...' implying a read operation but does not disclose permissions, rate limits, side effects, or data freshness. The minimal description leaves significant behavioral aspects unspecified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no unnecessary words. It is front-loaded and concise, effectively communicating the tool's purpose without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool with two parameters and no output schema, the description is adequate but incomplete. It mentions the return includes 'charging status and power delivery' but lacks details on response format, time range, or prerequisites. It is sufficient for basic understanding but leaves some context gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes both parameters (siteId and instance) with 100% coverage. The description adds no additional semantic meaning beyond what the schema provides, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves an EV charger summary, specifying 'charging status and power delivery.' This provides a specific verb and resource, and it distinguishes from sibling tools like vrm_get_solar_charger_summary which targets solar chargers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when an EV charger summary is needed, but it lacks explicit guidance on when not to use this tool or alternatives among the many sibling tools. No when-to-use or when-not-to-use context is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vrm_get_firmwaresC
Get available firmware versions and information.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Firmware type filter | |
| version | No | Specific version filter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavioral traits. It only states that it retrieves firmware versions, implying a read operation, but fails to mention any side effects, authentication needs, rate limits, or data freshness. The word 'get' is suggestive but insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, short sentence that is easy to parse and front-loads the action. However, it could be slightly more informative without losing conciseness. Every word earns its place, but it lacks nuance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema, the description should clarify what the response contains (e.g., a list of version objects with details). Mentioning 'information' is vague. The tool has low complexity with two optional parameters, but the description leaves the return value entirely unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides descriptions for both parameters ('Firmware type filter' and 'Specific version filter'), resulting in 100% schema coverage. The tool description does not add any additional meaning beyond what the schema states, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and the resource ('available firmware versions and information'). It is specific enough to distinguish it from the many vrm_get_* sibling tools, which focus on other data like alarms, battery, or stats. However, it could be more precise by specifying that it lists or retrieves firmware versions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, nor does it mention any prerequisites or context. Among many get tools, it only names the resource but does not explain, for example, that it is useful for checking available firmware before an update. This is a significant gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vrm_get_gateway_relay_stateC
Get gateway relay state for remote switching control.
| Name | Required | Description | Default |
|---|---|---|---|
| siteId | Yes | Installation/site ID | |
| instance | No | Device instance ID (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It only indicates a read operation ('Get') but does not mention permissions, side effects, or response behavior. This is minimal transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that is front-loaded with the core action. However, it is very brief and could benefit from slightly more detail without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description should compensate with return value or behavior details. It does not, leaving the agent to guess what the response contains or whether additional context is needed. The tool is simple but still incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are already documented in the schema with descriptions. The tool description adds no extra meaning beyond that; it merely reiterates the tool's purpose without clarifying how the parameters relate to the relay state retrieval.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it gets the gateway relay state for remote switching control, identifying the action and resource. However, it doesn't differentiate from sibling tool vrm_get_gateway_relay_two_state, leaving ambiguity about which relay state is being retrieved.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for remote switching control' implies a use case, but no explicit guidance on when to use this tool versus alternatives like vrm_get_gateway_relay_two_state. No exclusions or preconditions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vrm_get_gateway_relay_two_stateA
Get secondary gateway relay state for dual relay control.
| Name | Required | Description | Default |
|---|---|---|---|
| siteId | Yes | Installation/site ID | |
| instance | No | Device instance ID (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden for behavioral disclosure. It only states 'Get', indicating a read operation, but omits any details about authorization, side effects, or response characteristics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that efficiently conveys the purpose without any extraneous words or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with no output schema and 2 well-documented parameters, but the description fails to mention the return value format or any additional context needed for proper invocation, leaving a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds no additional meaning beyond the parameter descriptions in the input schema, thus it does not enhance parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and the specific resource ('secondary gateway relay state') with context ('for dual relay control'), effectively distinguishing it from the sibling tool 'vrm_get_gateway_relay_state'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The context 'secondary...for dual relay control' implies it is used when the secondary relay state is needed, but no explicit when-to-use or when-not-to-use guidance is provided, leaving the agent to infer from the sibling tool names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vrm_get_global_link_summaryB
Get GlobalLink device summary for generator and tank monitoring.
| Name | Required | Description | Default |
|---|---|---|---|
| siteId | Yes | Installation/site ID | |
| instance | No | Device instance ID (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must provide behavioral context. It states a read operation but does not mention any constraints, authentication needs, rate limits, or side effects. The description is insufficient for understanding the tool's behavior beyond the obvious.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that captures the essence of the tool. No redundant information, and the key action and resource are front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, so the description should provide some indication of what the summary contains. It does not, leaving the agent to guess. However, for a simple summary retrieval, the description is adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema provides clear descriptions for both parameters. The description does not add extra meaning beyond what is already in the schema. Per guidelines, baseline is 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the action ('Get'), the resource ('GlobalLink device summary'), and the context ('generator and tank monitoring'). The name and description together specify exactly what this tool does, distinguishing it from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidelines are provided. There is no indication of when to use this tool versus other get_* tools (e.g., vrm_get_tank_summary, vrm_get_battery_summary). The agent must infer from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vrm_get_historic_dataC
Get historic data widget with time-series information and trends.
| Name | Required | Description | Default |
|---|---|---|---|
| siteId | Yes | Installation/site ID | |
| instance | No | Device instance ID (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits. It implies a read operation ('Get historic data'), but does not explicitly state any side effects, authentication requirements, rate limits, or data scope.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no wasted words. However, it is too minimal; it could be expanded with key detail without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is insufficient for a data retrieval tool. It does not explain the return format, time range, or what kind of 'trends' are included. Given the simple schema, more context is expected.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with clear parameter descriptions (siteId, instance). The tool description adds no additional meaning beyond what the schema already provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource ('historic data widget') and action ('get'), and mentions time-series information and trends, but it is vague about what a 'widget' means and does not clearly differentiate from many sibling tools that also retrieve data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like vrm_get_stats or vrm_get_overall_stats. No conditions or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vrm_get_installation_tagsB
Get tags and labels associated with an installation.
| Name | Required | Description | Default |
|---|---|---|---|
| siteId | Yes | Installation/site ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full burden. It only states the action without disclosing behavioral traits like read-only nature, error handling, or side effects. For a get tool, it should at minimum imply idempotence.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is efficient and front-loaded. It is not verbose, but could be slightly more informative without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema and annotations, the description should provide more context about the returned data or behavior. It is too minimal for a complete understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with the parameter 'siteId' having a description. The tool description adds no extra meaning beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the specific resource 'tags and labels' associated with an installation. It distinguishes itself from many sibling 'vrm_get_*' tools that retrieve different data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, context, or when not to use, leaving the agent without decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vrm_get_inverter_charger_stateB
Get inverter/charger state and operational status.
| Name | Required | Description | Default |
|---|---|---|---|
| siteId | Yes | Installation/site ID | |
| instance | No | Device instance ID (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only states it 'gets' state, implying a read operation but without explicit assurance. It does not disclose safety, authentication requirements, or side effects, leaving the agent with minimal behavioral understanding.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence of 5 words. It is well-structured and front-loaded. While it could be slightly expanded, it efficiently conveys the core purpose without verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and lack of output schema, the description is too minimal. It does not inform the agent about the return format, differentiate from similar tools, or provide usage context needed for correct invocation among many siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds no extra meaning beyond the schema, which already describes siteId and instance. No improvement or detriment.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'inverter/charger state and operational status'. It is specific and distinguishes from siblings like vrm_get_vebus_state and vrm_get_battery_summary, which target different subsystems.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With many sibling get_* tools, the agent lacks context to choose correctly. No prerequisites or context hints are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vrm_get_inverter_charger_warnings_alarmsB
Get inverter/charger specific warnings and alarms.
| Name | Required | Description | Default |
|---|---|---|---|
| siteId | Yes | Installation/site ID | |
| instance | No | Device instance ID (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden of behavioral disclosure. It only states what the tool does (get warnings/alarms) but does not disclose behavioral traits such as read-only nature, authentication requirements, or side effects. Given the 'get' verb, it is likely safe, but this is not explicitly stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, consisting of a single sentence that conveys the core purpose without any unnecessary words. It is front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple retrieval tool with two well-documented parameters and no output schema, the description is adequately complete. It tells the user what data is retrieved (warnings and alarms for inverter/charger). However, it could mention the optional instance parameter's role or the return format for completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with both parameters having descriptions in the schema. The tool description does not add any additional meaning beyond what the schema already provides. The baseline score of 3 is appropriate as the schema already fully describes the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'inverter/charger specific warnings and alarms,' providing a clear purpose. However, it does not differentiate from sibling tools like vrm_get_vebus_warnings_alarms or vrm_get_alarms, which could lead to confusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidelines are provided. The description does not indicate when to use this tool versus other similar tools (e.g., vrm_get_alarms, vrm_get_vebus_warnings_alarms), nor does it mention any prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vrm_get_io_extenderC
Get IO extender input/output status for digital and analog signals.
| Name | Required | Description | Default |
|---|---|---|---|
| siteId | Yes | Installation/site ID | |
| instance | No | Device instance ID (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, and the description does not disclose whether the tool is read-only, destructive, requires authentication, or has side effects. The agent is left guessing about behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that immediately conveys the tool's purpose. It is front-loaded and waste-free, though it could benefit from slightly more detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool lacks an output schema and annotations. The description does not explain what the status output looks like, how digital and analog signals are represented, or any additional context needed for successful invocation. This leaves significant gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters. The description adds no extra meaning beyond 'siteId' and 'instance', meeting the baseline but not exceeding it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves IO extender input/output status for digital and analog signals. It specifies the resource and action, but does not contrast with sibling tools like vrm_get_battery_summary or vrm_get_pv_inverter_status, leaving subtle ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. With many sibling tools for different devices, the agent must rely solely on the tool name and context to decide, which is insufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vrm_get_lithium_bmsB
Get Lithium battery BMS data with advanced cell monitoring and safety information.
| Name | Required | Description | Default |
|---|---|---|---|
| siteId | Yes | Installation/site ID | |
| instance | No | Device instance ID (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It does not explicitly state that the tool is read-only or safe, nor does it mention authentication requirements. While the name implies a get operation, the description fails to add transparency beyond that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently conveys the tool's purpose without any wasted words. It is appropriately front-loaded and every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema, the description should provide more detail about the return data. It only says 'advanced cell monitoring and safety information', which is vague. The tool has moderate complexity with two parameters, but the description lacks completeness for an agent to fully understand what data to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both parameters ('siteId' and 'instance'), so the schema already provides clear descriptions. The tool description does not add any additional meaning or context to the parameters, thus it meets the baseline without exceeding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get Lithium battery BMS data', which is a specific verb and resource. Among siblings like vrm_get_battery_summary and vrm_get_bms_diagnostics, it distinguishes itself by mentioning 'advanced cell monitoring and safety information', indicating a more specialized focus.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as vrm_get_battery_summary or vrm_get_bms_diagnostics. It lacks explicit when/when-not conditions and does not mention any alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vrm_get_motor_summaryB
Get motor drive summary with RPM, power, and operational status.
| Name | Required | Description | Default |
|---|---|---|---|
| siteId | Yes | Installation/site ID | |
| instance | No | Device instance ID (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It implies a read operation but does not state safety, permissions, or potential side effects. For a data retrieval tool, this is minimal and adds little beyond the obvious.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is front-loaded and efficient with no wasted words. While very concise, it conveys the essential purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema, the description does not explain the return format or structure of the summary. For a tool with two parameters and no nested objects, this is insufficient for the agent to anticipate the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with siteId and instance described. The description adds no additional meaning to these parameters beyond their descriptions in the schema, so baseline score is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves a motor drive summary with specific metrics (RPM, power, operational status). The verb 'Get' and resource 'motor summary' are specific, and it effectively distinguishes from sibling summary tools like battery or solar charger summaries.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description does not specify context, prerequisites, or exclusions, leaving the agent without direction for selection among many sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vrm_get_overall_statsA
Get aggregated energy totals (daily, monthly, yearly) for solar yield, consumption, battery performance, etc.
| Name | Required | Description | Default |
|---|---|---|---|
| siteId | Yes | Installation/site ID | |
| type | No | Time period type | custom |
| attributeCodes | Yes | Array of attribute codes to get totals for (e.g., ['Pb', 'Pc', 'kwh']) | |
| start | No | Start time as epoch milliseconds (for custom type) | |
| end | No | End time as epoch milliseconds (for custom type) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It states what the tool returns but does not disclose behavioral traits such as read-only nature, authentication requirements, rate limits, or error handling. For a tool with untagged safety profile, more detail is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with front-loaded key information: what the tool does and its scope. No unnecessary words or repetition. Efficient and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Description is adequate for a simple aggregate retrieval tool, but given complex time period logic and no output schema, it lacks guidance on return format or how to use type parameter effectively. Could be more complete for a tool with 5 parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline 3. The description adds no additional meaning beyond the schema; it does not explain parameter relationships (e.g., type vs start/end). The schema already documents each parameter adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Get aggregated energy totals' with specific resources (solar yield, consumption, battery performance) and time scopes (daily, monthly, yearly), effectively distinguishing from sibling tools like vrm_get_stats for non-aggregated data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description implies usage for aggregated totals but provides no explicit guidance on when to use this tool versus alternatives like vrm_get_stats or vrm_get_data_attributes. No when-not or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vrm_get_pv_inverter_statusA
Get PV inverter status with AC output and grid-tie information.
| Name | Required | Description | Default |
|---|---|---|---|
| siteId | Yes | Installation/site ID | |
| instance | No | Device instance ID (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states 'Get' which implies a read-only operation, but does not disclose any behavioral traits like permissions, rate limits, or side effects. It is adequate for a simple query but could be more informative.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of 12 words, front-loading the purpose and key details. Every word serves a purpose with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description should provide insight into the return structure. It mentions 'AC output and grid-tie information' but gives no details on fields or format. Given the tool's simplicity and context from siblings, it is minimally adequate but could be more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both parameters (siteId, instance), so the description adds no extra meaning beyond what the schema already provides. The description mentions AC output and grid-tie info but does not elaborate on how parameters affect output.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'PV inverter status', and specifies the information included (AC output and grid-tie info). It distinguishes itself from sibling tools like vrm_get_solar_charger_summary or vrm_get_inverter_charger_state.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool should be used when you need PV inverter status, but it provides no guidance on when to avoid it or mention of alternative tools. It lacks explicit when-to-use/when-not-to-use information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vrm_get_reset_forecastsB
Get forecast reset timestamp for an installation.
| Name | Required | Description | Default |
|---|---|---|---|
| siteId | Yes | Installation/site ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations and minimal description. The tool is a read operation but not explicitly labeled, and no side effects, auth requirements, or rate limits are mentioned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence that is front-loaded with the key verb and noun. It is concise but could benefit from adding context without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is adequate for a simple tool with one parameter and no output schema, but it does not explain what the 'reset forecast timestamp' is or how it should be interpreted.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents the parameter. The description adds no further meaning beyond the tool's purpose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and the specific resource ('forecast reset timestamp for an installation'). It is distinct from sibling tools that retrieve other data types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. With many similar 'vrm_get_*' siblings, users need explicit usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vrm_get_solar_charger_relay_stateC
Get solar charger relay state and MPPT switching status.
| Name | Required | Description | Default |
|---|---|---|---|
| siteId | Yes | Installation/site ID | |
| instance | No | Device instance ID (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as authentication requirements, error handling, or side effects. For a read-only operation, basic transparency is missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently conveys the tool's purpose. It is front-loaded and concise, though it could include more detail without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema and annotations, the description should provide more context about return values, potential errors, or prerequisite conditions. It is insufficient for a fully informed decision.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers both parameters with descriptions (siteId and instance), achieving 100% coverage. The description adds no additional meaning beyond the schema, meeting the baseline but not exceeding it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get solar charger relay state and MPPT switching status,' specifying the verb and resource. It distinguishes from sibling tools like vrm_get_charger_relay_state by focusing on solar charger relay state, but could elaborate on MPPT switching status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as vrm_get_charger_relay_state or vrm_get_gateway_relay_state. The description provides no context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vrm_get_solar_charger_summaryB
Get solar charger summary with MPPT performance and yield data.
| Name | Required | Description | Default |
|---|---|---|---|
| siteId | Yes | Installation/site ID | |
| instance | No | Device instance ID (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It implies a read operation but does not explicitly state it is safe, idempotent, or any required permissions. The mention of 'summary' hints at a read but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no wasted words. It front-loads the action and includes specific data types (MPPT, yield). Highly concise and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with two parameters and no output schema, the description gives a reasonable idea of the return content (MPPT performance, yield) but lacks details on structure, pagination, or other fields. Adequate but not exhaustive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both parameters (siteId and instance), so the description need not add parameter info. It does not add any additional meaning beyond what the schema provides, scoring baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves a solar charger summary with MPPT performance and yield data, using a specific verb and resource. It differentiates well from sibling tools like vrm_get_battery_summary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, such as when to use vrm_get_battery_summary or vrm_get_pv_inverter_status. No exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vrm_get_statsC
Get time-series data for solar production, battery usage, consumption, energy yield, and forecasts over time.
| Name | Required | Description | Default |
|---|---|---|---|
| siteId | Yes | Installation/site ID | |
| type | Yes | Type of stats to retrieve | |
| interval | No | Time interval (e.g., '15mins', 'hours', 'days') | 15mins |
| start | No | Start time as epoch milliseconds | |
| end | No | End time as epoch milliseconds | |
| attributeCodes | No | Array of attribute codes to filter specific data points | |
| show_instance | No | Whether to show device instance information in response |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description bears full burden. It describes a read operation but lacks details on side effects, rate limits, auth, or time range constraints. Minimal disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence of 17 words directly states the tool's purpose. No redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 7 parameters and no output schema, the description is too brief. It fails to explain how parameters like 'interval', 'start', 'end' interact, or describe the return format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description does not add extra meaning beyond listing data types in 'type', which aligns with the enum. No deeper parameter interplay explained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves time-series data for solar production, battery usage, consumption, etc. It distinguishes from many sibling tools which are summary/state tools, though 'vrm_get_historic_data' may overlap.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives like 'vrm_get_historic_data' or 'vrm_get_system_overview'. No when-not or context provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vrm_get_status_widgetB
Get general system status information and operational state.
| Name | Required | Description | Default |
|---|---|---|---|
| siteId | Yes | Installation/site ID | |
| instance | No | Device instance ID (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description does not disclose behavioral traits such as read-only nature, authentication requirements, or error handling. The description only restates the basic purpose, lacking essential transparency for safe invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no waste. However, it is too brief and could include more useful information without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with two parameters and no output schema, the description provides the basic purpose but omits behavioral context. Given the absence of annotations, the description could be more complete by noting read-only nature or typical use case.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear descriptions. The tool description adds no additional semantics beyond what is already in the schema. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'get' and the target 'general system status information and operational state'. This distinguishes it from sibling tools that target specific subsystems (e.g., vrm_get_solar_charger_summary, vrm_get_battery_summary).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. No mention of prerequisites, expected context, or exclusions. The agent receives no help in deciding between this and other 'get' tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vrm_get_system_overviewB
Get current status of your energy system including battery level, solar production, consumption, and grid usage.
| Name | Required | Description | Default |
|---|---|---|---|
| siteId | Yes | Installation/site ID to get overview for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It only states 'get current status', implying a read operation, but does not disclose authentication needs, error handling, or real-time nature. More transparency is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that immediately conveys the action and key components. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema, the description lists the main output fields (battery, solar, consumption, grid usage). This provides reasonable expectation of the response, though could be more exhaustive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter siteId is fully described in the input schema (100% coverage). The description adds no additional meaning beyond the schema. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves current status including battery, solar, consumption, and grid usage. It implies an overview scope, but does not explicitly distinguish from siblings like vrm_get_battery_summary or vrm_get_overall_stats.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for a high-level overview, but lacks explicit guidance on when to use this vs. specific tools. No alternatives or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vrm_get_tank_summaryB
Get tank sensor summary with fluid levels and capacity information.
| Name | Required | Description | Default |
|---|---|---|---|
| siteId | Yes | Installation/site ID | |
| instance | No | Device instance ID (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure, but it only states the basic purpose. It does not mention whether the tool is read-only, requires authentication, handles errors, or has any side effects. The description is insufficient for an agent to anticipate behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence (10 words) with no wasted words. However, it is somewhat too brief, lacking detail that could be included without harming conciseness. Still, it earns a 4 for efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema and the presence of many sibling tools, the description is minimally complete: it states the output includes fluid levels and capacity, but does not clarify behavior with optional parameters, multiple tanks, or error conditions. It is adequate but not rich.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters have descriptions in the schema (100% coverage), so the description adds no additional meaning beyond that. The description does not elaborate on how siteId and instance affect the summary. Baseline is 3, and no extra value is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves a tank sensor summary including fluid levels and capacity information. It uses a specific verb ('Get') and resource ('tank sensor summary'), distinguishing it from sibling tools that retrieve other summaries (e.g., battery, solar charger).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like vrm_get_battery_summary or vrm_get_motor_summary. The description does not mention prerequisites, contexts, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vrm_get_temp_summary_graphB
Get temperature sensor summary and historical graph data.
| Name | Required | Description | Default |
|---|---|---|---|
| siteId | Yes | Installation/site ID | |
| instance | No | Device instance ID (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It does not disclose that the tool is read-only, whether authentication is required (likely via vrm_auth_login_as_demo), or any other behavioral traits beyond the basic action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words. However, it is under-informative given the tool's context and sibling count.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description does not explain the format or content of the returned summary or graph data. For a tool with many siblings, more context is needed to help the agent understand what exactly is returned.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters (siteId and instance). The description adds no extra semantics beyond what the schema already provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Get' and the resource 'temperature sensor summary and historical graph data'. It distinguishes from sibling tools like vrm_get_battery_summary or vrm_get_solar_charger_summary, which handle different sensor types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus the many sibling tools (e.g., vrm_get_historic_data, vrm_get_widget_graph). No prerequisites, context, or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vrm_get_user_meA
Get your VRM account information and user profile.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must convey behavior. It indicates a read operation ('get'), but does not disclose authentication requirements, rate limits, or side effects. The lack of detail is acceptable for a simple retrieval, but more context would be beneficial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It efficiently conveys the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, no output schema, no annotations), the description is largely sufficient. However, it could be improved by briefly noting the type of information returned (e.g., name, email, settings) to provide complete context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters and schema coverage is 100%. The baseline for zero params is 4, and the description adds no parameter-specific detail, which is appropriate since none are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('get') and the resource ('VRM account information and user profile'). It is specific and distinguishes itself from sibling tools like 'vrm_get_stats' or 'vrm_get_system_overview' by targeting the user's own account.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving personal account info, but lacks explicit guidance on when to use this tool versus alternatives (e.g., vrm_get_data_attributes). No exclusions or context are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vrm_get_vebus_stateA
Get VE.Bus system state information including inverter and charger status.
| Name | Required | Description | Default |
|---|---|---|---|
| siteId | Yes | Installation/site ID | |
| instance | No | Device instance ID (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description implies read-only operation but does not explicitly state it or disclose any behavioral traits. Minimal but not misleading.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence clearly communicates purpose without unnecessary words. Front-loaded with key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and many sibling tools, description lacks details on return fields beyond inverter/charger status. Optional parameter 'instance' not explained in context. Adequate but incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters with descriptions. The tool description adds no additional semantic meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb ('Get'), resource ('VE.Bus system state'), and scope ('including inverter and charger status'), distinguishing it from siblings that focus on specific aspects like alarms or warnings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as vrm_get_inverter_charger_state or vrm_get_vebus_warnings_alarms. Agent left to infer without context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vrm_get_vebus_warnings_alarmsB
Get VE.Bus system warnings and alarms for troubleshooting. Supports historical time ranges to retrieve past warnings like overload events.
| Name | Required | Description | Default |
|---|---|---|---|
| siteId | Yes | Installation/site ID | |
| instance | No | Device instance ID (optional) | |
| start | No | Start time as epoch milliseconds for historical warnings | |
| end | No | End time as epoch milliseconds for historical warnings |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for disclosing behavioral traits. It states the tool retrieves warnings/alarms but does not clarify whether it is read-only, what permissions are needed, or any side effects. This is insufficient for a tool that could be used for diagnostics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two sentences. The first sentence clearly states the purpose, and the second adds a key feature with an example. There is no extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema, the description should explain what the tool returns (e.g., a list of warnings/alarms). It does not. Additionally, it does not elaborate on prerequisites or the relationship between parameters, leaving gaps for a tool with 4 parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for each parameter. The description adds minimal extra meaning beyond mentioning 'historical time ranges', which is already implied by the start and end parameter descriptions. No enhancement for the siteId or instance parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as retrieving VE.Bus system warnings and alarms for troubleshooting, specifying the resource and purpose. However, it does not differentiate from sibling tools like vrm_get_inverter_charger_warnings_alarms, which may have overlapping functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions 'for troubleshooting' and 'supports historical time ranges', providing context on when to use the tool. However, it does not give explicit guidance on when not to use it or suggest alternative tools for similar tasks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vrm_get_widget_graphC
Get specific device performance graphs (battery voltage, inverter output, solar panel data, etc.).
| Name | Required | Description | Default |
|---|---|---|---|
| siteId | Yes | Installation/site ID | |
| attributeCodes | Yes | Array of attribute codes for the graph data | |
| instance | Yes | Device instance ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must disclose behavioral traits. It only states that graphs are retrieved, without mentioning authentication requirements, rate limits, what happens on invalid site IDs, or that it's a read operation. The name implies reading, but the description adds no safety context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence that is easy to parse. It avoids redundancy but may be too terse; it does not waste words, but could include additional context (like data format) without harming conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with three required parameters and no output schema, the description lacks information about the return format, pagination, error handling, or how to interpret the 'graphs'. Without annotations, the agent has insufficient context to reliably use this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, so the baseline is 3. The description adds examples of graph types but provides no additional meaning for parameters like siteId, attributeCodes, or instance beyond what the schema already says. The agent gains no new understanding of parameter usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Get' and the resource 'specific device performance graphs', with examples like battery voltage and inverter output. However, it does not differentiate this tool from many sibling tools such as vrm_get_data_attributes or vrm_get_historic_data, which may also retrieve graph-like data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The sibling list contains many similar 'get' tools, but no criteria (e.g., 'use this for high-level graph data, use vrm_get_historic_data for raw time series') are given, leaving the agent to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vrm_list_installationsB
List all your Victron energy installations/sites (solar systems, batteries, etc.).
| Name | Required | Description | Default |
|---|---|---|---|
| idUser | No | User ID (optional - will auto-detect if not provided) | |
| extended | No | Include extended information about installations |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure. It only states the basic action, omitting details about authentication requirements, side effects, or output format, leaving the agent with minimal understanding of behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the purpose. No extraneous information is present, making it efficient for an agent to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with low complexity and no output schema, the description is adequate but does not specify the return format (e.g., what fields are returned), which could help the agent use the output with sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both parameters (idUser, extended) having descriptions. The tool description adds no additional meaning, but per guidelines baseline is 3 when schema coverage is high.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists all Victron energy installations/sites, using specific verb and resource. It implicitly distinguishes from vrm_search_user_installations by emphasizing 'all', making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool vs alternatives like vrm_search_user_installations, nor does it mention prerequisites such as authentication.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vrm_search_user_installationsC
Search through user's installations with optional filters.
| Name | Required | Description | Default |
|---|---|---|---|
| idUser | Yes | User ID to search installations for | |
| query | No | Search query string | |
| limit | No | Maximum number of results |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must bear the full burden. It implies a read/search operation but does not disclose any side effects, authentication requirements, rate limits, or the nature of results (e.g., pagination). This is insufficient for safe agentic use.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loading the core purpose. It contains no redundant information and is concise enough for quick comprehension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, and the description does not explain what the search returns (e.g., a list of installation objects, pagination info). Given the tool's complexity (3 parameters, required idUser), the description is too brief to fully prepare an agent for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with each parameter (idUser, query, limit) adequately described. The main description adds no additional parameter context, so it meets the baseline but does not exceed it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches through user's installations with filters, which distinguishes it from list tools like vrm_list_installations. However, it does not specify what is being searched (e.g., by name or location), leaving minor ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as vrm_list_installations or other get tools. It only mentions 'optional filters' but does not explain the context or preconditions for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Most tools target distinct subsystems (battery, solar charger, inverter, etc.), but a few like vrm_get_overall_stats, vrm_get_stats, vrm_get_system_overview, and vrm_get_status_widget have overlapping purposes that could cause confusion.
All tools follow a consistent vrm_verb_noun pattern (e.g., vrm_get_battery_summary, vrm_list_installations, vrm_auth_login_as_demo), making the naming predictable and clear.
With 41 tools, the server is on the heavy side for an MCP server, but the domain of energy system management justifies a larger surface. The count is borderline but still reasonable.
The tools are almost entirely read-only (get, list, search, download) with no write/control capabilities (e.g., update settings, control relays). This is a significant gap for a management server.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server wrapping the Tesla Fleet API and TeslaMate API
MCP server for Withings health data — sleep, activity, heart, and body metrics.
An MCP server that provides read access to your cloud storage providers, bank accounts and more.
Read-only MCP server for AIStatusDashboard status, incidents, metrics, and fallback recommendations.
Related MCP Servers
- AlicenseCqualityDmaintenanceAn MCP server that enables natural language interaction with the MeteoControl VCOM API v2 for monitoring solar array installations. It allows users to retrieve real-time and historical energy data, system alerts, and detailed asset configuration metrics.4Apache 2.0
- AlicenseAqualityCmaintenanceA lean Model Context Protocol (MCP) server that gives AI assistants like Claude structured access to a SolarEdge PV installation via the official SolarEdge Monitoring API.4MIT
- AlicenseAqualityAmaintenanceMCP server that connects to Felicity Solar cloud battery data, allowing natural language queries about battery status, cell voltages, and charge state.1722MIT
- AlicenseNot gradedqualityBmaintenanceA read-only MCP server that monitors a Nerdaxe Gamma solo miner over its local REST API, providing tools for miner status, pool and shares, hardware health, and device info.MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/gimi-q/victron-vrm-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server