mcp-venus-os
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MQTT_HOST | No | MQTT broker host | |
| MQTT_PORT | No | MQTT broker port | |
| DBUS_BUS_TYPE | No | D-Bus bus type (e.g., system) | |
| MQTT_BASE_TOPIC | No | Base topic for MQTT subscriptions | |
| DBUS_SERVICE_NAME | No | D-Bus service name (e.g., com.victronenergy) | |
| SAFETY_ALLOWED_MODES | No | Comma-separated list of allowed inverter modes (default: on,off,charger_only,inverter_only,eco) | on,off,charger_only,inverter_only,eco |
| SAFETY_MAX_SOC_LIMIT | No | Maximum allowed SoC limit % (default: 100) | 100 |
| SAFETY_MIN_SOC_LIMIT | No | Minimum allowed SoC limit % (default: 10) | 10 |
| SAFETY_MAX_CHARGE_CURRENT | No | Maximum allowed charge current in Amps (default: 100) | 100 |
| SAFETY_REQUIRE_CONFIRMATION | No | Require confirmation for write operations (default: true) | true |
| SAFETY_MAX_DISCHARGE_CURRENT | No | Maximum 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
| Capability | Details |
|---|---|
| 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
| Name | Description |
|---|---|
| get_battery_socA | Get battery state of charge. instance=0 returns every discovered battery as |
| get_pv_powerA | Get PV/solar charger power data. instance=0 returns every discovered solarcharger/pvinverter as
|
| get_grid_statusA | Get grid/AC status. instance=0 returns every discovered grid meter as |
| get_inverter_statusA | Get inverter mode and state. instance=0 returns every discovered vebus unit as |
| list_devicesA | List all Victron devices visible to the server. |
| set_inverter_modeB | Set VE.Bus inverter mode (on, off, charger_only, inverter_only). 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
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| capabilities_resource | Live capability map: which tool groups are active on this install. |
TDQS
Scored across 11 tools
Each tool has a clearly distinct purpose: setting inverter mode, charge current, SoC limit, MQTT operations, and device-specific data retrieval. No overlapping functionality that could cause confusion.
Consistent verb_noun pattern: set_inverter_mode, list_devices, get_battery_soc, mqtt_connect, etc. All names follow snake_case with clear action prefixes.
11 tools for a Venus OS MQTT server is well-scoped, covering the key operations (device listing, data retrieval, setpoints, MQTT management) without bloat.
Core read/write functionality is covered, but mqtt_subscribe is marked as not yet implemented, and there is no explicit tool to read real-time data from the broker despite MQTT tools. Minor gap: no tool for general MQTT publish or unsubscribe.