Victron ModBus TCP
Server that connects to Victron Energy GX devices on local network.
Victron TCP — MCP Server
An MCP (Model Context Protocol) server that connects to Victron Energy GX devices on your local network via MQTT (recommended) or Modbus TCP. Get direct, low-latency access to real-time solar, battery, grid, and inverter data — no cloud required.
900+ registers across 33 device categories, built from the official CCGX Modbus TCP register list (Rev 50). MQTT transport uses the Venus OS built-in broker for zero-config auto-discovery.
Features
- 30 specialized tools for reading Victron device data
- Dual transport — MQTT (port 1883, zero-config) or Modbus TCP (port 502, raw register access)
- 900+ registers across 33 device categories
- Network discovery — scan the local network to find GX devices, no IP needed
- One-shot setup —
victron_setupprobes both transports, discovers everything, generates ready-to-use config - Read-only and safe — all tools annotated with
readOnlyHint: true
Prerequisites
- A Victron GX device on your local network (Ekrano, Cerbo, Venus GX, etc.)
- MQTT (enabled by default) or Modbus TCP (Settings → Services → Modbus TCP)
- Node.js 18+
Quick Start
Claude Code (recommended)
claude mcp add --transport stdio victron-tcp -- npx victron-tcp
With environment variables pre-configured:
claude mcp add --transport stdio \
-e VICTRON_HOST=192.168.1.50 \
-e VICTRON_TRANSPORT=mqtt \
-e VICTRON_PORTAL_ID=ca0f0e2e2261 \
victron-tcp -- npx victron-tcp
Claude Desktop / Cursor / Windsurf
{
"mcpServers": {
"victron-tcp": {
"command": "npx",
"args": ["-y", "victron-tcp"],
"env": {
"VICTRON_HOST": "192.168.1.50",
"VICTRON_TRANSPORT": "mqtt",
"VICTRON_PORTAL_ID": "your-portal-id"
}
}
}
}
See docs/setup.md for per-client config paths, project/user scopes, and building from source.
Don't know your GX device IP?
Ask the AI:
Find my Victron GX device on the network and set it up.
The AI will use victron_network_scan to find it, then victron_setup to configure everything.
Available Tools
Core Monitoring
| Tool | Description |
|---|---|
victron_system_overview | Battery SOC, PV power, grid power, AC consumption, ESS status |
victron_battery_status | SOC, voltage, current, power, temperature, cell data, time-to-go |
victron_solar_status | PV power, yield today/yesterday/total, charger state, tracker data |
victron_grid_status | Grid power per phase (L1/L2/L3), voltage, current, frequency |
victron_vebus_status | Multi/Quattro: AC in/out, current limit, mode, state, alarms |
victron_tank_levels | Tank level, capacity, remaining, fluid type |
victron_temperature | Temperature, sensor type, humidity, pressure |
victron_inverter_status | Standalone inverter: AC output, state, alarms |
victron_evcs_status | EV Charging Station (direct connection): power, status, session energy |
Extended Devices
| Tool | Description |
|---|---|
victron_multi_status | Multi RS inverter/charger |
victron_pvinverter_status | AC-coupled PV inverters (Fronius, SolarEdge, ABB) |
victron_genset_status | AC genset controllers |
victron_dcgenset_status | DC generators |
victron_alternator_status | NMEA 2000 alternators |
victron_charger_status | AC chargers (Skylla, Blue Smart) |
victron_dcdc_status | Orion XS DC-DC converter |
victron_acload_status | AC load / current sensors |
victron_dcenergy_status | DC energy meters (SmartShunts in DC meter mode) |
victron_gx_info | GX device identity, relay states |
victron_digital_inputs | Digital input state and type |
victron_gps_status | GPS position, altitude, speed |
victron_meteo_status | Solar irradiance, wind speed, temperatures |
victron_generator_status | Generator auto start/stop, runtime, alarms |
Discovery & Setup
| Tool | Description |
|---|---|
victron_network_scan | Scan local network to find GX devices by probing Modbus TCP and MQTT ports |
victron_setup | Full system setup: test transports, discover devices, generate MCP config |
victron_mqtt_discover | Auto-discover MQTT portal ID, services, and device instances |
victron_discover | Scan Modbus unit IDs to find all connected devices |
Utility
| Tool | Description |
|---|---|
victron_read_category | Read all registers for any device category by service name |
victron_read_register | Read raw register(s) by address (Modbus only) |
victron_list_registers | List available registers for a device category |
Environment Variables
Set these to skip repetitive parameters:
| Variable | Description | Example |
|---|---|---|
VICTRON_HOST | GX device IP or hostname | 192.168.1.50 |
VICTRON_TRANSPORT | modbus or mqtt | mqtt |
VICTRON_PORTAL_ID | Portal ID for MQTT | ca0f0e2e2261 |
VICTRON_MODBUS_PORT | Modbus TCP port | 502 |
VICTRON_MQTT_PORT | MQTT broker port | 1883 |
VICTRON_UNIT_ID | Default Modbus unit ID | 100 |
Documentation
| Guide | Content |
|---|---|
| Setup | Client configuration, transport comparison, finding unit IDs, supported devices |
| Examples | 15 real-world prompts with step-by-step AI behavior |
| Troubleshooting | Common errors and debugging |
| FAQ | Frequently asked questions |
| Architecture | Code structure, how it works, register map |
Roadmap
- Phase 2: Write support — ESS mode control, grid setpoint, charge current limits, relay control
- Phase 3: Resources — expose live device data as MCP resources with subscription notifications for real-time updates
- Claude Desktop Extension packaging (
.mcpb) - NPM package publishing (
npx victron-tcp)
References
- Victron Modbus TCP FAQ
- CCGX Modbus TCP Register List (Excel)
- Venus OS on GitHub
- MCP Protocol Specification
- Venus OS MQTT documentation
License
MIT
관련 서버
Scout Monitoring MCP
스폰서Put performance and error data directly in the hands of your AI assistant.
Alpha Vantage MCP Server
스폰서Access financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
SVGR
A MCP server that exposes SVGR functionality to convert SVG content into React components
Terraform MCP Server
Integrates with Terraform Registry APIs for Infrastructure as Code development, supporting provider and module discovery.
Kafka Schema Registry
A comprehensive Message Control Protocol (MCP) server for Kafka Schema Registry.
MCPSwift
A Swift framework for building Model Context Protocol (MCP) servers with a simplified API.
MCP Hangar
Kubernetes-native registry for managing multiple MCP servers with lazy loading, health monitoring, and RBAC
POX MCP Server
An MCP server for the POX SDN controller, enabling network control, management, and analysis using Python and OpenFlow.
TMUX
Lets agents create sessions, split panes, run commands, and capture output with TMUX
Chrome Debug MCP
This MCP allows you to record browser interactions with a chrome extension that include screenshots and console logs. The data is then saved to a local database that feeds the data to an AI system like claude code to search.
Windows CLI
MCP server for secure command-line interactions on Windows systems, enabling controlled access to PowerShell, CMD, and Git Bash shells.
Deepseek Thinking & Claude 3.5 Sonnet
Combines DeepSeek's reasoning capabilities with Claude 3.5 Sonnet's response generation through OpenRouter.