mcp-venus-os
This server provides monitoring and control of Victron Venus OS energy systems (e.g., Cerbo GX) via D-Bus and MQTT, with built-in safety mechanisms.
Read / Monitor
Get battery status (
get_battery_soc): Retrieve state of charge, voltage, current, power, and temperatureGet solar/PV power (
get_pv_power): Retrieve PV power, voltage, current, and daily/total yieldGet grid status (
get_grid_status): Retrieve AC/grid power, voltage, current, frequency, and connection statusGet inverter status (
get_inverter_status): Retrieve inverter mode, state, AC/DC power, and temperatureList devices (
list_devices): Enumerate all Victron devices available on the D-Bus
Control / Write (require explicit confirmation)
Set inverter mode (
set_inverter_mode): Switch the inverter between modes:on,off,charger_only,inverter_only, orecoSet charge current limit (
set_charge_current_limit): Define the maximum charge current in AmpsSet SoC limit (
set_soc_limit): Define the battery state-of-charge limit as a percentage
Real-Time MQTT Streaming
Connect to MQTT broker (
mqtt_connect): Establish a connection to the Venus OS MQTT brokerDisconnect from MQTT broker (
mqtt_disconnect): Close the MQTT connectionSubscribe to topics (
mqtt_subscribe): Subscribe to MQTT topic patterns for real-time data streaming
Safety
All write operations are gated behind a
confirmed=trueparameter to prevent accidental dangerous commandsConfigurable safety limits for charge current, SoC boundaries, and allowed inverter modes
Provides real-time data streaming from Venus OS via MQTT, including tools to connect, disconnect, and subscribe to MQTT topics for device data.
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., "@mcp-venus-oswhat's the current battery SoC and PV power?"
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.
MCP Venus OS
MCP (Model Context Protocol) server for Victron Venus OS management. Provides tools for reading and controlling Venus OS devices via D-Bus and MQTT.
Features
D-Bus Read Tools: Battery SoC, PV power, grid status, inverter state
Write Tools: Set inverter mode, charge limits, SoC limits (with safety confirmation)
MQTT Subscription: Real-time data streaming from Venus OS
Safety Constraints: Refuses dangerous commands without explicit confirmation
Claude Desktop Integration: Ready-to-use MCP server configuration
Related MCP server: Victron VRM MCP Server
Quick Start
Installation
Not yet on PyPI. Install from GitHub:
pip install git+https://github.com/4alvit/mcp-venus-osOr for development:
git clone https://github.com/4alvit/mcp-venus-os
cd mcp-venus-os
uv syncConfiguration
Create a .env file or set environment variables:
# D-Bus configuration
DBUS_BUS_TYPE=system
DBUS_SERVICE_NAME=com.victronenergy
# MQTT configuration
MQTT_HOST=localhost
MQTT_PORT=1883
MQTT_BASE_TOPIC=N/venus-os
# Safety configuration
SAFETY_REQUIRE_CONFIRMATION=true
SAFETY_MAX_CHARGE_CURRENT=100
SAFETY_MAX_DISCHARGE_CURRENT=100
SAFETY_MIN_SOC_LIMIT=10
SAFETY_MAX_SOC_LIMIT=100
SAFETY_ALLOWED_MODES=on,off,charger_only,inverter_only,ecoRunning the Server
mcp-venus-osOr with uv:
uv run mcp-venus-osClaude Desktop Integration
Add to your claude_desktop_config.json:
{
"mcpServers": {
"venus-os": {
"command": "uv",
"args": ["--directory", "/path/to/mcp-venus-os", "run", "mcp-venus-os"],
"env": {
"DBUS_BUS_TYPE": "system",
"MQTT_HOST": "localhost",
"MQTT_PORT": "1883"
}
}
}
}Available Tools
Read Tools
Tool | Description |
| Get battery state of charge, voltage, current, power, temperature |
| Get PV/solar charger power, voltage, current, daily/total yield |
| Get grid/AC power, voltage, current, frequency, status |
| Get inverter mode, state, AC/DC power, temperature |
| List all Victron devices on D-Bus |
Write Tools (Requires Confirmation)
Tool | Description |
| Set inverter mode: |
| Set maximum charge current in Amps |
| Set battery SoC limit percentage |
MQTT Tools
Tool | Description |
| Connect to MQTT broker |
| Disconnect from MQTT broker |
| Subscribe to MQTT topic pattern |
Safety System
All write operations require explicit confirmation by default. Set confirmed=true in the tool call to bypass the confirmation prompt.
Configuration options:
SAFETY_REQUIRE_CONFIRMATION- Require confirmation for write operations (default: true)SAFETY_MAX_CHARGE_CURRENT- Maximum allowed charge current in Amps (default: 100)SAFETY_MAX_DISCHARGE_CURRENT- Maximum allowed discharge current in Amps (default: 100)SAFETY_MIN_SOC_LIMIT- Minimum allowed SoC limit % (default: 10)SAFETY_MAX_SOC_LIMIT- Maximum allowed SoC limit % (default: 100)SAFETY_ALLOWED_MODES- Comma-separated list of allowed inverter modes
Architecture
graph TD
subgraph "Venus OS Hardware"
VOS[Venus OS / Cerbo GX]
DBUS[(D-Bus System Bus)]
MQTT_BROKER[(MQTT Broker)]
end
subgraph "MCP Server (mcp-venus-os)"
MCP[FastMCP Server]
DBUS_CLIENT[D-Bus Client]
MQTT_CLIENT[MQTT Client]
SAFETY[Safety Validator]
TOOLS[MCP Tools]
end
subgraph "Clients"
CLAUDE[Claude Desktop]
OTHER[Other MCP Clients]
end
VOS --> DBUS
VOS --> MQTT_BROKER
DBUS --> DBUS_CLIENT
MQTT_BROKER --> MQTT_CLIENT
DBUS_CLIENT --> TOOLS
MQTT_CLIENT --> TOOLS
SAFETY --> TOOLS
TOOLS --> MCP
MCP -.->|stdio/JSON-RPC| CLAUDE
MCP -.->|stdio/JSON-RPC| OTHERDevelopment
# Install dev dependencies
uv sync --dev
# Run linter
uv run ruff check src/
# Run type checker
uv run mypy src/
# Run tests
uv run pytestLicense
MIT License - see LICENSE file for details.
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 Servers
- AlicenseAqualityAmaintenanceConnect AI assistants to Victron Energy systems to read real-time solar, battery, grid, and inverter data from your local network via Modbus TCP or MQTT.Last updated32502MIT
- AlicenseBqualityDmaintenanceRead-only MCP server integrating with the Victron VRM API to monitor solar systems, batteries, alarms, and more.Last updated4144MIT
- Alicense-qualityBmaintenanceA powerful MCP server that enables AI assistants like Claude to access, analyze, and optimize solar energy data from FoxESS inverters.Last updated2MIT
- Flicense-qualityCmaintenanceMCP server for Solplanet ASW5-T inverter, enabling natural language queries about solar energy system status and control.Last updated
Related MCP Connectors
MCP server wrapping the Tesla Fleet API and TeslaMate API
An MCP server giving access to Grafana dashboards, data and more.
MCP server exposing the Backtest360 engine API as tools for AI agents.
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/4alvit/mcp-venus-os'
If you have feedback or need assistance with the MCP directory API, please join our Discord server