mcp-venus-os
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
┌─────────────┐ D-Bus ┌──────────────┐
│ Venus OS │ ◄─────────────► │ mcp-venus-os │
│ (Cerbo GX) │ │ MCP Server │
└─────────────┘ └──────┬───────┘
│
┌─────────┴─────────┐
│ │
┌──────▼──────┐ ┌──────▼──────┐
│ D-Bus │ │ MQTT │
│ Client │ │ Client │
└─────────────┘ └─────────────┘
│
┌─────────▼─────────┐
│ FastMCP Tools │
└─────────┬─────────┘
│
┌─────────▼─────────┐
│ Claude Desktop │
└───────────────────┘Development
# 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