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
Máy chủ liên quan
Scout Monitoring MCP
nhà tài trợPut performance and error data directly in the hands of your AI assistant.
Alpha Vantage MCP Server
nhà tài trợAccess financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
Kafka Schema Registry
A comprehensive Message Control Protocol (MCP) server for Kafka Schema Registry.
Figma MCP Server
Provides read-only access to Figma files and projects using the Figma API.
Deepseek Thinker
Provides Deepseek's reasoning capabilities to AI clients, supporting both the Deepseek API and local Ollama server modes.
TestRail MCP Server
Interact with TestRail to manage test cases, projects, suites, and runs directly from your AI chat client.
TypeScript MCP
A TypeScript-specialized server providing advanced code manipulation and analysis capabilities.
Debugger MCP Server
A development tool for real-time debugging, code quality monitoring, and AI insights for React/Next.js applications.
Prover MCP
Integrates with the Succinct Prover Network to monitor, calibrate, and optimize prover operations.
RunwayML + Luma AI
Interact with the RunwayML and Luma AI APIs for video and image generation tasks.
Hyperliquid
Interact with the Hyperliquid decentralized exchange by integrating its SDK.
Azure DevOps
Interact with Azure DevOps Work Items using the Azure DevOps REST API.