Skip to main content
Glama
4alvit

mcp-venus-os

by 4alvit

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MQTT_HOSTNoMQTT broker host
MQTT_PORTNoMQTT broker port
DBUS_BUS_TYPENoD-Bus bus type (e.g., system)
MQTT_BASE_TOPICNoBase topic for MQTT subscriptions
DBUS_SERVICE_NAMENoD-Bus service name (e.g., com.victronenergy)
SAFETY_ALLOWED_MODESNoComma-separated list of allowed inverter modes (default: on,off,charger_only,inverter_only,eco)on,off,charger_only,inverter_only,eco
SAFETY_MAX_SOC_LIMITNoMaximum allowed SoC limit % (default: 100)100
SAFETY_MIN_SOC_LIMITNoMinimum allowed SoC limit % (default: 10)10
SAFETY_MAX_CHARGE_CURRENTNoMaximum allowed charge current in Amps (default: 100)100
SAFETY_REQUIRE_CONFIRMATIONNoRequire confirmation for write operations (default: true)true
SAFETY_MAX_DISCHARGE_CURRENTNoMaximum allowed discharge current in Amps (default: 100)100

Instructions

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

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

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
extensions
{
  "io.modelcontextprotocol/ui": {}
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_battery_socA

Get battery state of charge.

instance=0 returns every discovered battery as readings; instance=N a single device dict.

get_pv_powerA

Get PV/solar charger power data.

instance=0 returns every discovered solarcharger/pvinverter as readings plus total_power; instance=N a single device dict.

get_grid_statusA

Get grid/AC status.

instance=0 returns every discovered grid meter as readings; instance=N a single device dict.

get_inverter_statusA

Get inverter mode and state.

instance=0 returns every discovered vebus unit as readings; instance=N a single device dict.

list_devicesA

List all Victron devices visible to the server.

set_inverter_modeB

Set inverter mode (on, off, charger_only, inverter_only, eco).

Requires confirmation for write operations.

set_charge_current_limitA

Set maximum charge current limit in Amps.

Requires confirmation for write operations.

set_soc_limitB

Set battery SoC limit percentage.

Requires confirmation for write operations.

mqtt_connectB

Connect to MQTT broker for real-time data.

mqtt_disconnectA

Disconnect from MQTT broker.

mqtt_subscribeA

Subscribe to MQTT topic pattern.

Not yet implemented - returns an error.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
capabilities_resourceLive capability map: which tool groups are active on this install.

TDQS

A3.7/5.0

Scored across 11 tools

Disambiguation5/5

Each tool targets a distinct device metric, setting, or MQTT lifecycle action. Read, write, and connection verbs create clear boundaries, and no two tools appear to perform the same operation.

Naming Consistency5/5

Tool names follow a consistent snake_case verb_noun pattern: get_* for reads, set_* for writes, and mqtt_* for connection controls. list_devices is the only slight deviation but remains conventional and predictable.

Tool Count5/5

With 11 tools, the server is well-scoped for a Victron monitoring and control interface. The count is substantial enough to cover core operations without feeling bloated or redundant.

Completeness3/5

The main monitoring and control surface is solid, but there is no direct load/consumption tool, which is a notable gap for energy management. Additionally, mqtt_subscribe is explicitly unimplemented, creating a dead end for real-time streaming workflows.

Maintenance

ActivityNo data
ResponsivenessNo issues