Sponsored by Deepsite.site

Victron TCP

Created By
lubosstrejceka month ago
An MCP (Model Context Protocol) server that connects to Victron Energy GX devices via Modbus TCP or MQTT on your local network. Get direct, low-latency access to real-time solar, battery, grid, and inverter data — no cloud required. Built from the official CCGX Modbus TCP register list (Rev 50, 900+ registers across 33 device categories). Features 30 specialized tools for reading Victron device data Dual transport — Modbus TCP (port 502) or MQTT (port 1883) 900+ registers across 33 device categories Network discovery — scan the local network to find GX devices, no IP needed One-shot setup — victron_setup probes both transports, discovers everything, generates ready-to-use config Read-only and safe — all tools annotated with readOnlyHint: true
Overview

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 setupvictron_setup probes both transports, discovers everything, generates ready-to-use config
  • Read-only and safe — all tools annotated with readOnlyHint: true

Prerequisites

  1. A Victron GX device on your local network (Ekrano, Cerbo, Venus GX, etc.)
  2. MQTT (enabled by default) or Modbus TCP (Settings → Services → Modbus TCP)
  3. Node.js 18+

Quick Start

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

ToolDescription
victron_system_overviewBattery SOC, PV power, grid power, AC consumption, ESS status
victron_battery_statusSOC, voltage, current, power, temperature, cell data, time-to-go
victron_solar_statusPV power, yield today/yesterday/total, charger state, tracker data
victron_grid_statusGrid power per phase (L1/L2/L3), voltage, current, frequency
victron_vebus_statusMulti/Quattro: AC in/out, current limit, mode, state, alarms
victron_tank_levelsTank level, capacity, remaining, fluid type
victron_temperatureTemperature, sensor type, humidity, pressure
victron_inverter_statusStandalone inverter: AC output, state, alarms
victron_evcs_statusEV Charging Station (direct connection): power, status, session energy

Extended Devices

ToolDescription
victron_multi_statusMulti RS inverter/charger
victron_pvinverter_statusAC-coupled PV inverters (Fronius, SolarEdge, ABB)
victron_genset_statusAC genset controllers
victron_dcgenset_statusDC generators
victron_alternator_statusNMEA 2000 alternators
victron_charger_statusAC chargers (Skylla, Blue Smart)
victron_dcdc_statusOrion XS DC-DC converter
victron_acload_statusAC load / current sensors
victron_dcenergy_statusDC energy meters (SmartShunts in DC meter mode)
victron_gx_infoGX device identity, relay states
victron_digital_inputsDigital input state and type
victron_gps_statusGPS position, altitude, speed
victron_meteo_statusSolar irradiance, wind speed, temperatures
victron_generator_statusGenerator auto start/stop, runtime, alarms

Discovery & Setup

ToolDescription
victron_network_scanScan local network to find GX devices by probing Modbus TCP and MQTT ports
victron_setupFull system setup: test transports, discover devices, generate MCP config
victron_mqtt_discoverAuto-discover MQTT portal ID, services, and device instances
victron_discoverScan Modbus unit IDs to find all connected devices

Utility

ToolDescription
victron_read_categoryRead all registers for any device category by service name
victron_read_registerRead raw register(s) by address (Modbus only)
victron_list_registersList available registers for a device category

Environment Variables

Set these to skip repetitive parameters:

VariableDescriptionExample
VICTRON_HOSTGX device IP or hostname192.168.1.50
VICTRON_TRANSPORTmodbus or mqttmqtt
VICTRON_PORTAL_IDPortal ID for MQTTca0f0e2e2261
VICTRON_MODBUS_PORTModbus TCP port502
VICTRON_MQTT_PORTMQTT broker port1883
VICTRON_UNIT_IDDefault Modbus unit ID100

Documentation

GuideContent
SetupClient configuration, transport comparison, finding unit IDs, supported devices
Examples15 real-world prompts with step-by-step AI behavior
TroubleshootingCommon errors and debugging
FAQFrequently asked questions
ArchitectureCode 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

License

MIT

Server Config

{
  "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"
      }
    }
  }
}
Recommend Servers
TraeBuild with Free GPT-4.1 & Claude 3.7. Fully MCP-Ready.
MCP AdvisorMCP Advisor & Installation - Use the right MCP server for your needs
Amap Maps高德地图官方 MCP Server
WindsurfThe new purpose-built IDE to harness magic
Serper MCP ServerA Serper MCP Server
DeepChatYour AI Partner on Desktop
Visual Studio Code - Open Source ("Code - OSS")Visual Studio Code
BlenderBlenderMCP connects Blender to Claude AI through the Model Context Protocol (MCP), allowing Claude to directly interact with and control Blender. This integration enables prompt assisted 3D modeling, scene creation, and manipulation.
MiniMax MCPOfficial MiniMax Model Context Protocol (MCP) server that enables interaction with powerful Text to Speech, image generation and video generation APIs.
Y GuiA web-based graphical interface for AI chat interactions with support for multiple AI models and MCP (Model Context Protocol) servers.
EdgeOne Pages MCPAn MCP service designed for deploying HTML content to EdgeOne Pages and obtaining an accessible public URL.
Howtocook Mcp基于Anduin2017 / HowToCook (程序员在家做饭指南)的mcp server,帮你推荐菜谱、规划膳食,解决“今天吃什么“的世纪难题; Based on Anduin2017/HowToCook (Programmer's Guide to Cooking at Home), MCP Server helps you recommend recipes, plan meals, and solve the century old problem of "what to eat today"
RedisA Model Context Protocol server that provides access to Redis databases. This server enables LLMs to interact with Redis key-value stores through a set of standardized tools.
Playwright McpPlaywright MCP server
Jina AI MCP ToolsA Model Context Protocol (MCP) server that integrates with Jina AI Search Foundation APIs.
CursorThe AI Code Editor
AiimagemultistyleA Model Context Protocol (MCP) server for image generation and manipulation using fal.ai's Stable Diffusion model.
ChatWiseThe second fastest AI chatbot™
Tavily Mcp
Zhipu Web SearchZhipu Web Search MCP Server is a search engine specifically designed for large models. It integrates four search engines, allowing users to flexibly compare and switch between them. Building upon the web crawling and ranking capabilities of traditional search engines, it enhances intent recognition capabilities, returning results more suitable for large model processing (such as webpage titles, URLs, summaries, site names, site icons, etc.). This helps AI applications achieve "dynamic knowledge acquisition" and "precise scenario adaptation" capabilities.
Baidu Map百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。