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 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

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.9/5.0

Scored across 11 tools

Disambiguation5/5

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.

Naming Consistency5/5

Consistent verb_noun pattern: set_inverter_mode, list_devices, get_battery_soc, mqtt_connect, etc. All names follow snake_case with clear action prefixes.

Tool Count5/5

11 tools for a Venus OS MQTT server is well-scoped, covering the key operations (device listing, data retrieval, setpoints, MQTT management) without bloat.

Completeness4/5

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.

Maintenance

ActivityActive
ResponsivenessNo issues