### Get Installation Tags and Labels Source: https://context7.com/gimi-q/victron-vrm-mcp/llms.txt Retrieve tags and labels associated with a specific installation. Useful for organizing and filtering installations. ```typescript // MCP Tool Call { "name": "vrm_get_installation_tags", "arguments": { "siteId": 98765 } } ``` ```typescript // Example Response { "ok": true, "source": "vrm", "endpoint": "/installations/98765/tags", "data": [ { "idTag": 1, "name": "residential" }, { "idTag": 2, "name": "off-grid" }, { "idTag": 3, "name": "lithium" } ], "meta": { "status": 200, "durationMs": 100, "rateLimited": false } } ``` -------------------------------- ### Install and Build Project Source: https://github.com/gimi-q/victron-vrm-mcp/blob/master/README.md Install project dependencies and build the project. Run these commands in your terminal. ```bash npm install npm run build ``` -------------------------------- ### Start MCP Server using .env File Source: https://github.com/gimi-q/victron-vrm-mcp/blob/master/README.md Start the MCP server using npm after creating a .env file with the VRM_TOKEN. This is the recommended approach. ```bash echo "VRM_TOKEN=your-token-here" > .env npm start ``` -------------------------------- ### Start MCP Server with Inline Environment Variables Source: https://github.com/gimi-q/victron-vrm-mcp/blob/master/README.md Start the MCP server using npm, setting the VRM_TOKEN directly in the command line. ```bash VRM_TOKEN=your-token-here npm start ``` -------------------------------- ### VRM Get Diagnostics Example Response Source: https://context7.com/gimi-q/victron-vrm-mcp/llms.txt Example response for vrm_get_diagnostics, showing diagnostic attributes like battery voltage and state of charge with their values and timestamps. ```json { "ok": true, "source": "vrm", "endpoint": "/installations/98765/diagnostics", "data": [ { "idDataAttribute": 1, "code": "V", "description": "Battery voltage", "instance": 0, "value": 52.4, "formattedValue": "52.4V", "timestamp": 1705315200 }, { "idDataAttribute": 2, "code": "soc", "description": "State of charge", "instance": 0, "value": 85, "formattedValue": "85%", "timestamp": 1705315200 } ], "meta": { "status": 200, "durationMs": 300, "rateLimited": false } } ``` -------------------------------- ### Example Response for vrm_get_firmwares Source: https://context7.com/gimi-q/victron-vrm-mcp/llms.txt An example response for the vrm_get_firmwares tool call, detailing firmware versions, product names, release dates, and changelogs for various Victron devices. ```json // Example Response { "ok": true, "source": "vrm", "endpoint": "/firmwares", "data": [ { "productId": 1, "productName": "SmartSolar MPPT 150/35", "version": "v1.61", "feedChannel": "release", "releaseDate": "2024-01-10", "changelog": "Bug fixes and performance improvements" }, { "productId": 2, "productName": "Cerbo GX", "version": "v3.10", "feedChannel": "release", "releaseDate": "2024-01-15", "changelog": "New features and stability improvements" } ], "meta": { "status": 200, "durationMs": 220, "rateLimited": false } } ``` -------------------------------- ### Example Response for vrm_get_reset_forecasts Source: https://context7.com/gimi-q/victron-vrm-mcp/llms.txt An example response for the vrm_get_reset_forecasts tool call, indicating the last reset time, next scheduled reset, and the reset interval for energy forecasts. ```json // Example Response { "ok": true, "source": "vrm", "endpoint": "/installations/98765/reset-forecasts", "data": { "lastReset": 1705276800, "nextScheduledReset": 1705363200, "resetInterval": "daily" }, "meta": { "status": 200, "durationMs": 95, "rateLimited": false } } ``` -------------------------------- ### VRM Get Stats Example Response Source: https://context7.com/gimi-q/victron-vrm-mcp/llms.txt Example response structure for vrm_get_stats, showing total solar yield and a list of records with timestamps and yield values. ```json { "ok": true, "source": "vrm", "endpoint": "/installations/98765/stats", "data": { "totals": { "solar_yield": 18500 }, "records": [ { "timestamp": 1705228800, "solar_yield": 0 }, { "timestamp": 1705232400, "solar_yield": 250 }, { "timestamp": 1705236000, "solar_yield": 1200 }, { "timestamp": 1705239600, "solar_yield": 2800 }, { "timestamp": 1705243200, "solar_yield": 3500 } ] }, "meta": { "status": 200, "durationMs": 250, "rateLimited": false } } ``` -------------------------------- ### VRM Get Alarms Example Response Source: https://context7.com/gimi-q/victron-vrm-mcp/llms.txt Example response for vrm_get_alarms, detailing alarm ID, code, severity, timestamp, and active status. Includes clearedAt for historical alarms. ```json { "ok": true, "source": "vrm", "endpoint": "/installations/98765/alarms", "data": [ { "idAlarm": 54321, "alarmCode": "Low battery voltage", "severity": "warning", "timestamp": 1705200000, "active": true, "device": "Battery Monitor" }, { "idAlarm": 54320, "alarmCode": "Grid lost", "severity": "alarm", "timestamp": 1705196400, "active": false, "clearedAt": 1705197000, "device": "MultiPlus" } ], "meta": { "status": 200, "durationMs": 140, "rateLimited": false } } ``` -------------------------------- ### Download GPS Data for Mobile Installations Source: https://context7.com/gimi-q/victron-vrm-mcp/llms.txt Use this to retrieve GPS tracking data for mobile installations. Requires site ID, start, and end timestamps. ```typescript // MCP Tool Call { "name": "vrm_download_gps_data", "arguments": { "siteId": 98765, "start": 1705228800000, "end": 1705315200000 } } ``` ```typescript // Example Response { "ok": true, "source": "vrm", "endpoint": "/installations/98765/gps-download", "data": [ { "timestamp": 1705228800, "latitude": 37.7749, "longitude": -122.4194, "speed": 0, "course": 180 }, { "timestamp": 1705232400, "latitude": 37.7850, "longitude": -122.4094, "speed": 5.2, "course": 45 } ], "meta": { "status": 200, "durationMs": 180, "rateLimited": false } } ``` -------------------------------- ### Download Installation Data (TypeScript) Source: https://context7.com/gimi-q/victron-vrm-mcp/llms.txt Download installation data in CSV or Excel formats. Supports 'log', 'benchmark', and 'kwh' datatypes. The 'decode' option parses CSV data into a structured format. ```typescript // MCP Tool Call - Download and parse CSV data { "name": "vrm_download_installation_data", "arguments": { "siteId": 98765, "start": 1705228800000, "end": 1705315200000, "datatype": "log", "format": "csv", "decode": true } } ``` ```typescript // MCP Tool Call - Download as Excel (binary) { "name": "vrm_download_installation_data", "arguments": { "siteId": 98765, "datatype": "kwh", "format": "xlsx", "decode": false } } ``` ```typescript // Example Response (parsed CSV) { "ok": true, "source": "vrm", "endpoint": "/installations/98765/data-download", "data": { "format": "csv", "datatype": "log", "timeRange": { "start": 1705228800000, "end": 1705315200000, "startISO": "2024-01-14T08:00:00.000Z", "endISO": "2024-01-15T08:00:00.000Z" }, "records": [ { "timestamp": 1705228800, "battery_voltage": 52.4, "soc": 85, "solar_power": 3500 }, { "timestamp": 1705232400, "battery_voltage": 53.1, "soc": 90, "solar_power": 3200 } ], "summary": { "totalRecords": 96, "columns": ["timestamp", "battery_voltage", "soc", "solar_power"] } }, "meta": { "status": 200, "durationMs": 500, "rateLimited": false, "note": "CSV data parsed into structured format for easier analysis" } } ``` -------------------------------- ### vrm_get_installation_tags Source: https://context7.com/gimi-q/victron-vrm-mcp/llms.txt Retrieves tags and labels associated with a specific installation. ```APIDOC ## GET /api/v1/installations/{siteId}/tags ### Description Get tags and labels associated with an installation for organization and filtering. ### Method GET ### Endpoint /installations/{siteId}/tags ### Parameters #### Path Parameters - **siteId** (integer) - Required - The ID of the installation. ### Request Example ```json { "siteId": 98765 } ``` ### Response #### Success Response (200) - **ok** (boolean) - Indicates if the request was successful. - **source** (string) - The data source (e.g., "vrm"). - **endpoint** (string) - The API endpoint used. - **data** (array) - An array of tag objects. - **idTag** (integer) - The unique identifier for the tag. - **name** (string) - The name of the tag. - **meta** (object) - Metadata about the response. - **status** (integer) - HTTP status code. - **durationMs** (integer) - Duration of the request in milliseconds. - **rateLimited** (boolean) - Indicates if the request was rate-limited. #### Response Example ```json { "ok": true, "source": "vrm", "endpoint": "/installations/98765/tags", "data": [ { "idTag": 1, "name": "residential" }, { "idTag": 2, "name": "off-grid" }, { "idTag": 3, "name": "lithium" } ], "meta": { "status": 200, "durationMs": 100, "rateLimited": false } } ``` ``` -------------------------------- ### VRM Get Overall Stats Example Response Source: https://context7.com/gimi-q/victron-vrm-mcp/llms.txt Example response for vrm_get_overall_stats, displaying aggregated energy values for specified attributes. Note that time periods may be relative to server or UTC timezone. ```json { "ok": true, "source": "vrm", "endpoint": "/installations/98765/overallstats", "data": { "Pb": 15600, "Pc": 12400, "kwh": 18.5 }, "meta": { "status": 200, "durationMs": 120, "rateLimited": false, "note": "Time periods like 'today' may be calculated relative to UTC or server timezone, not the installation's local timezone." } } ``` -------------------------------- ### Example Response for vrm_get_data_attributes Source: https://context7.com/gimi-q/victron-vrm-mcp/llms.txt An example response structure for the vrm_get_data_attributes tool call, showing available data attributes with their codes, descriptions, units, and categories. ```json // Example Response { "ok": true, "source": "vrm", "endpoint": "/data-attributes", "data": [ { "idDataAttribute": 1, "code": "V", "description": "Voltage", "unit": "V", "category": "battery" }, { "idDataAttribute": 2, "code": "soc", "description": "State of charge", "unit": "%", "category": "battery" }, { "idDataAttribute": 3, "code": "Pdc", "description": "DC Power", "unit": "W", "category": "solar" } ], "meta": { "status": 200, "durationMs": 180, "rateLimited": false } } ``` -------------------------------- ### Search User Installations (TypeScript) Source: https://context7.com/gimi-q/victron-vrm-mcp/llms.txt Find installations associated with a user, optionally filtering by a query string and limiting the number of results. Requires user ID. ```typescript // MCP Tool Call { "name": "vrm_search_user_installations", "arguments": { "idUser": 12345, "query": "solar", "limit": 10 } } ``` ```typescript // Example Response { "ok": true, "source": "vrm", "endpoint": "/users/12345/search", "data": [ { "idSite": 98765, "name": "Home Solar System", "identifier": "abc123def456" }, { "idSite": 98766, "name": "Cabin Solar Setup", "identifier": "def456ghi789" } ], "meta": { "status": 200, "durationMs": 150, "rateLimited": false } } ``` -------------------------------- ### vrm_get_system_overview Source: https://context7.com/gimi-q/victron-vrm-mcp/llms.txt Retrieves the current status overview of a specific Victron energy installation. ```APIDOC ## vrm_get_system_overview ### Description Get current status of your energy system including battery level, solar production, consumption, and grid usage for a specific site. ### Method GET ### Endpoint /installations/{siteId}/system-overview ### Parameters #### Path Parameters - **siteId** (integer) - Required - The ID of the installation site to get the overview for. ### Request Example ```json { "name": "vrm_get_system_overview", "arguments": { "siteId": 98765 } } ``` ### Response #### Success Response (200) - **battery** (object) - Battery status details. - **soc** (number) - State of Charge percentage. - **voltage** (number) - Battery voltage. - **current** (number) - Battery current. - **power** (number) - Battery power. - **state** (string) - Current battery state (e.g., "charging", "discharging", "idle"). - **solar** (object) - Solar production details. - **power** (number) - Current solar power production. - **yield_today** (number) - Total solar yield for the current day. - **consumption** (object) - Energy consumption details. - **power** (number) - Current energy consumption power. - **grid** (object) - Grid connection status. - **power** (number) - Current power flow from/to the grid. - **importing** (boolean) - True if importing power from the grid, false otherwise. #### Response Example ```json { "ok": true, "source": "vrm", "endpoint": "/installations/98765/system-overview", "data": { "battery": { "soc": 85, "voltage": 52.4, "current": 15.2, "power": 796, "state": "charging" }, "solar": { "power": 3500, "yield_today": 18.5 }, "consumption": { "power": 2704 }, "grid": { "power": 0, "importing": false } }, "meta": { "status": 200, "durationMs": 180, "rateLimited": false } } ``` ``` -------------------------------- ### Get Solar Charger Summary Source: https://context7.com/gimi-q/victron-vrm-mcp/llms.txt Retrieve MPPT performance, power output, and daily yield for a solar charger. Requires siteId and instance. ```typescript // MCP Tool Call { "name": "vrm_get_solar_charger_summary", "arguments": { "siteId": 98765, "instance": 0 } } ``` ```typescript // Example Response { "ok": true, "source": "vrm", "endpoint": "/installations/98765/widgets/SolarChargerSummary", "data": { "pvVoltage": 145.6, "pvCurrent": 24.5, "pvPower": 3567, "batteryVoltage": 52.4, "chargeCurrent": 68.0, "state": "bulk", "yieldToday": 18.5, "yieldYesterday": 22.3, "maxPowerToday": 4200 }, "meta": { "status": 200, "durationMs": 125, "rateLimited": false } } ``` -------------------------------- ### Call vrm_list_installations Tool Source: https://context7.com/gimi-q/victron-vrm-mcp/llms.txt Lists all your Victron energy installations. You can optionally request extended information and specify a user ID. ```typescript // MCP Tool Call - Basic listing { "name": "vrm_list_installations", "arguments": {} } ``` ```typescript // MCP Tool Call - With extended information and specific user { "name": "vrm_list_installations", "arguments": { "idUser": 12345, "extended": true } } ``` ```typescript // Example Response { "ok": true, "source": "vrm", "endpoint": "/users/12345/installations", "data": [ { "idSite": 98765, "name": "Home Solar System", "identifier": "abc123def456", "timezone": "America/New_York", "isOwner": true, "syscreated": 1609459200, "hasMains": true, "hasSolar": true, "hasBattery": true } ], "meta": { "status": 200, "durationMs": 200, "rateLimited": false } } ``` -------------------------------- ### Get System Status Widget Source: https://context7.com/gimi-q/victron-vrm-mcp/llms.txt Fetches general system status information and operational state overview. Requires siteId. ```typescript // MCP Tool Call { "name": "vrm_get_status_widget", "arguments": { "siteId": 98765 } } ``` ```json // Example Response { "ok": true, "source": "vrm", "endpoint": "/installations/98765/widgets/Status", "data": { "systemState": "running", "lastConnection": 1705315200, "firmwareVersion": "v3.10", "uptime": 864000, "alerts": 0, "warnings": 1 }, "meta": { "status": 200, "durationMs": 105, "rateLimited": false } } ``` -------------------------------- ### Data Export & Download Tools Source: https://github.com/gimi-q/victron-vrm-mcp/blob/master/README.md Tools for downloading installation data and GPS tracking information. ```APIDOC ## vrm_download_installation_data ### Description Download installation data in CSV or Excel formats. ### Method GET ### Endpoint /vrm_download_installation_data ### Parameters #### Query Parameters - **installation_id** (integer) - Required - The ID of the installation. - **format** (string) - Optional - The desired format (`csv` or `excel`). Defaults to `csv`. - **start_time** (string) - Optional - Start time in ISO 8601 format. - **end_time** (string) - Optional - End time in ISO 8601 format. ### Response #### Success Response (200) - **data** (string) - The downloaded data in the specified format. #### Response Example ``` "Timestamp,Battery Voltage,Battery Current" "2023-10-27T10:00:00Z,51.0,10.0" "2023-10-27T11:00:00Z,51.2,10.5" ``` ``` ```APIDOC ## vrm_download_gps_data ### Description Download GPS tracking data for a mobile installation. ### Method GET ### Endpoint /vrm_download_gps_data ### Parameters #### Query Parameters - **installation_id** (integer) - Required - The ID of the installation. - **start_time** (string) - Optional - Start time in ISO 8601 format. - **end_time** (string) - Optional - End time in ISO 8601 format. ### Response #### Success Response (200) - **gps_data** (array) - A list of GPS data points. #### Response Example ```json [ {"timestamp": "2023-10-27T10:00:00Z", "latitude": 48.8566, "longitude": 2.3522}, {"timestamp": "2023-10-27T11:00:00Z", "latitude": 48.8570, "longitude": 2.3530} ] ``` ``` ```APIDOC ## vrm_get_installation_tags ### Description Get installation tags and labels. ### Method GET ### Endpoint /vrm_get_installation_tags ### Parameters #### Query Parameters - **installation_id** (integer) - Required - The ID of the installation. ### Response #### Success Response (200) - **tags** (object) - An object containing installation tags. #### Response Example ```json { "tags": { "site_name": "My RV", "region": "Europe" } } ``` ``` ```APIDOC ## vrm_get_custom_widget ### Description Get custom widget configuration for an installation. ### Method GET ### Endpoint /vrm_get_custom_widget ### Parameters #### Query Parameters - **installation_id** (integer) - Required - The ID of the installation. - **widget_id** (string) - Required - The ID of the custom widget. ### Response #### Success Response (200) - **widget_config** (object) - The configuration of the custom widget. #### Response Example ```json { "widget_config": { "title": "Custom Battery Gauge", "type": "gauge", "options": {"min": 0, "max": 100} } } ``` ``` ```APIDOC ## vrm_get_dynamic_ess_settings ### Description Get Dynamic ESS (Energy Storage System) configuration settings. ### Method GET ### Endpoint /vrm_get_dynamic_ess_settings ### Parameters #### Query Parameters - **installation_id** (integer) - Required - The ID of the installation. ### Response #### Success Response (200) - **ess_settings** (object) - The Dynamic ESS configuration settings. #### Response Example ```json { "ess_settings": { "mode": "auto", "charge_limit": 80, "discharge_limit": 90 } } ``` ``` -------------------------------- ### Get EV Charger Summary Source: https://context7.com/gimi-q/victron-vrm-mcp/llms.txt Fetch charging status, power delivery, and session details for an EV charger. Requires siteId and instance. ```typescript // MCP Tool Call { "name": "vrm_get_ev_charger_summary", "arguments": { "siteId": 98765, "instance": 0 } } ``` ```typescript // Example Response { "ok": true, "source": "vrm", "endpoint": "/installations/98765/widgets/EvChargerSummary", "data": { "status": "charging", "mode": "auto", "power": 7400, "current": 32, "energy": 15.6, "sessionTime": 7200, "maxCurrent": 32 }, "meta": { "status": 200, "durationMs": 110, "rateLimited": false } } ``` -------------------------------- ### vrm_list_installations Source: https://context7.com/gimi-q/victron-vrm-mcp/llms.txt Lists all accessible Victron energy installations for the authenticated user, with an option to include extended details. ```APIDOC ## vrm_list_installations ### Description List all your Victron energy installations/sites (solar systems, batteries, etc.). Optionally includes extended information about each installation. ### Method GET ### Endpoint /users/{idUser}/installations ### Parameters #### Query Parameters - **idUser** (integer) - Optional - The ID of the user whose installations to list. Defaults to the authenticated user. - **extended** (boolean) - Optional - If true, includes extended information for each installation. ### Request Example ```json // Basic listing { "name": "vrm_list_installations", "arguments": {} } // With extended information and specific user { "name": "vrm_list_installations", "arguments": { "idUser": 12345, "extended": true } } ``` ### Response #### Success Response (200) - **idSite** (integer) - The unique identifier for the installation. - **name** (string) - The name of the installation. - **identifier** (string) - A unique identifier for the installation. - **timezone** (string) - The timezone of the installation. - **isOwner** (boolean) - Indicates if the authenticated user is the owner of the installation. - **syscreated** (integer) - Timestamp when the system was created. - **hasMains** (boolean) - Indicates if the installation has a mains connection. - **hasSolar** (boolean) - Indicates if the installation has solar components. - **hasBattery** (boolean) - Indicates if the installation has battery components. #### Response Example ```json { "ok": true, "source": "vrm", "endpoint": "/users/12345/installations", "data": [ { "idSite": 98765, "name": "Home Solar System", "identifier": "abc123def456", "timezone": "America/New_York", "isOwner": true, "syscreated": 1609459200, "hasMains": true, "hasSolar": true, "hasBattery": true } ], "meta": { "status": 200, "durationMs": 200, "rateLimited": false } } ``` ``` -------------------------------- ### Get Tank Summary Source: https://context7.com/gimi-q/victron-vrm-mcp/llms.txt Fetch summary data for tank sensors, including fluid levels, capacity, and type. Requires siteId and instance. ```typescript // MCP Tool Call { "name": "vrm_get_tank_summary", "arguments": { "siteId": 98765, "instance": 0 } } ``` ```typescript // Example Response { "ok": true, "source": "vrm", "endpoint": "/installations/98765/widgets/TankSummary", "data": { "tanks": [ { "id": 0, "type": "fresh_water", "level": 85, "capacity": 200, "remaining": 170, "unit": "liters" }, { "id": 1, "type": "fuel", "level": 60, "capacity": 150, "remaining": 90, "unit": "liters" } ] }, "meta": { "status": 200, "durationMs": 115, "rateLimited": false } } ``` -------------------------------- ### Get Forecast Reset Timestamp Source: https://context7.com/gimi-q/victron-vrm-mcp/llms.txt Retrieve forecast reset timestamp information for an installation's energy predictions. Requires the 'siteId' of the installation. ```typescript // MCP Tool Call { "name": "vrm_get_reset_forecasts", "arguments": { "siteId": 98765 } } ``` -------------------------------- ### Login as Demo User (TypeScript) Source: https://context7.com/gimi-q/victron-vrm-mcp/llms.txt Initiate a session as a demo user to explore VRM features without requiring a real account. This call does not require any arguments. ```typescript // MCP Tool Call { "name": "vrm_auth_login_as_demo", "arguments": {} } ``` ```typescript // Example Response { "ok": true, "source": "vrm", "endpoint": "/auth/loginAsDemo", "data": { "idUser": 99999, "token": "demo-session-token" }, "meta": { "status": 200, "durationMs": 100, "rateLimited": false } } ``` -------------------------------- ### Get Custom Widget Configuration Source: https://context7.com/gimi-q/victron-vrm-mcp/llms.txt Fetch custom widget configurations for an installation's dashboard. Allows for dashboard customization. ```typescript // MCP Tool Call { "name": "vrm_get_custom_widget", "arguments": { "siteId": 98765 } } ``` ```typescript // Example Response { "ok": true, "source": "vrm", "endpoint": "/installations/98765/custom-widget", "data": { "widgets": [ { "id": 1, "type": "gauge", "attribute": "soc", "title": "Battery Level" }, { "id": 2, "type": "graph", "attributes": ["Pdc", "Pac"], "title": "Power Flow" } ] }, "meta": { "status": 200, "durationMs": 120, "rateLimited": false } } ``` -------------------------------- ### Get Solar Yield Stats Source: https://context7.com/gimi-q/victron-vrm-mcp/llms.txt Retrieve time-series solar yield data for a specified period. Requires site ID, type, interval, start, and end timestamps. ```typescript // MCP Tool Call - Get solar yield stats for the last 24 hours { "name": "vrm_get_stats", "arguments": { "siteId": 98765, "type": "solar_yield", "interval": "hours", "start": 1705228800000, "end": 1705315200000 } } ``` -------------------------------- ### Call vrm_get_system_overview Tool Source: https://context7.com/gimi-q/victron-vrm-mcp/llms.txt Retrieves the current status of your energy system for a specific site. Includes details on battery, solar, consumption, and grid power. ```typescript // MCP Tool Call { "name": "vrm_get_system_overview", "arguments": { "siteId": 98765 } } ``` ```typescript // Example Response { "ok": true, "source": "vrm", "endpoint": "/installations/98765/system-overview", "data": { "battery": { "soc": 85, "voltage": 52.4, "current": 15.2, "power": 796, "state": "charging" }, "solar": { "power": 3500, "yield_today": 18.5 }, "consumption": { "power": 2704 }, "grid": { "power": 0, "importing": false } }, "meta": { "status": 200, "durationMs": 180, "rateLimited": false } } ``` -------------------------------- ### Get VE.Bus Warnings and Alarms Source: https://context7.com/gimi-q/victron-vrm-mcp/llms.txt Retrieves VE.Bus system warnings and alarms for troubleshooting. Supports current status or historical time ranges with siteId and instance, or siteId, start, and end timestamps. ```typescript // MCP Tool Call - Current warnings { "name": "vrm_get_vebus_warnings_alarms", "arguments": { "siteId": 98765, "instance": 0 } } ``` ```typescript // MCP Tool Call - Historical warnings { "name": "vrm_get_vebus_warnings_alarms", "arguments": { "siteId": 98765, "start": 1704067200000, "end": 1705276800000 } } ``` ```json // Example Response { "ok": true, "source": "vrm", "endpoint": "/installations/98765/widgets/VeBusWarningsAndAlarms", "data": { "alarms": [ { "code": "Low battery", "active": false, "count": 2 }, { "code": "Overload", "active": false, "count": 1 } ], "warnings": [ { "code": "High temperature", "active": true, "timestamp": 1705315200 } ] }, "meta": { "status": 200, "durationMs": 140, "rateLimited": false } } ``` -------------------------------- ### Run development mode with watch Source: https://github.com/gimi-q/victron-vrm-mcp/blob/master/README.md Start the project in development mode with watch enabled. This command automatically recompiles and restarts the server on file changes, facilitating rapid development. ```bash npm run dev ``` -------------------------------- ### Run npm tests Source: https://github.com/gimi-q/victron-vrm-mcp/blob/master/README.md Execute the project's unit tests. This command is used for verifying the functionality of the schema validation, VRM client, MCP server integration, and error handling. ```bash npm test ``` -------------------------------- ### vrm_get_custom_widget Source: https://context7.com/gimi-q/victron-vrm-mcp/llms.txt Retrieves custom widget configurations for an installation's dashboard. ```APIDOC ## GET /api/v1/installations/{siteId}/custom-widget ### Description Get custom widget configuration for an installation's dashboard customization. ### Method GET ### Endpoint /installations/{siteId}/custom-widget ### Parameters #### Path Parameters - **siteId** (integer) - Required - The ID of the installation. ### Request Example ```json { "siteId": 98765 } ``` ### Response #### Success Response (200) - **ok** (boolean) - Indicates if the request was successful. - **source** (string) - The data source (e.g., "vrm"). - **endpoint** (string) - The API endpoint used. - **data** (object) - Contains the list of custom widgets. - **widgets** (array) - An array of widget configuration objects. - **id** (integer) - The unique identifier for the widget. - **type** (string) - The type of the widget (e.g., "gauge", "graph"). - **attribute** (string) - The primary attribute displayed by the widget (for gauge). - **attributes** (array) - An array of attributes displayed by the widget (for graph). - **title** (string) - The title of the widget. - **meta** (object) - Metadata about the response. - **status** (integer) - HTTP status code. - **durationMs** (integer) - Duration of the request in milliseconds. - **rateLimited** (boolean) - Indicates if the request was rate-limited. #### Response Example ```json { "ok": true, "source": "vrm", "endpoint": "/installations/98765/custom-widget", "data": { "widgets": [ { "id": 1, "type": "gauge", "attribute": "soc", "title": "Battery Level" }, { "id": 2, "type": "graph", "attributes": ["Pdc", "Pac"], "title": "Power Flow" } ] }, "meta": { "status": 200, "durationMs": 120, "rateLimited": false } } ``` ``` -------------------------------- ### Run npm tests with UI Source: https://github.com/gimi-q/victron-vrm-mcp/blob/master/README.md Execute the project's unit tests with a user interface. This is useful for interactive debugging and visualization of test results. ```bash npm run test:ui ``` -------------------------------- ### Configure Claude Desktop MCP Server Source: https://github.com/gimi-q/victron-vrm-mcp/blob/master/README.md Add the Victron VRM MCP server configuration to your Claude Desktop settings. Ensure the path to the script is correct. ```json { "mcpServers": { "vrm": { "command": "node", "args": ["/path/to/victron_vrm_mcp/dist/index.js"], "env": { "VRM_TOKEN": "your-token-here" // or omit if using .env alongside the binary } } } } ``` -------------------------------- ### Authentication & User Management Tools Source: https://github.com/gimi-q/victron-vrm-mcp/blob/master/README.md Tools for managing user authentication and searching installations. ```APIDOC ## vrm_auth_login_as_demo ### Description Login as a demo account. ### Method POST ### Endpoint /vrm_auth_login_as_demo ### Response #### Success Response (200) - **session_id** (string) - The session ID for the demo account. #### Response Example ```json { "session_id": "demo-session-12345" } ``` ``` ```APIDOC ## vrm_auth_logout ### Description Logout from the current session. ### Method POST ### Endpoint /vrm_auth_logout ### Response #### Success Response (200) - **message** (string) - Confirmation message of logout. #### Response Example ```json { "message": "Successfully logged out." } ``` ``` ```APIDOC ## vrm_search_user_installations ### Description Search through user's installations based on a query. ### Method GET ### Endpoint /vrm_search_user_installations ### Parameters #### Query Parameters - **query** (string) - Required - The search query string. ### Response #### Success Response (200) - **installations** (array) - A list of installation objects matching the query. #### Response Example ```json { "installations": [ { "id": 67890, "name": "My Boat" } ] } ``` ``` -------------------------------- ### vrm_download_gps_data Source: https://context7.com/gimi-q/victron-vrm-mcp/llms.txt Downloads GPS tracking data for mobile installations within a specified time range. ```APIDOC ## POST /api/v1/installations/{siteId}/gps-download ### Description Downloads GPS tracking data for mobile installations like boats, RVs, or vehicles. ### Method POST ### Endpoint /installations/{siteId}/gps-download ### Parameters #### Path Parameters - **siteId** (integer) - Required - The ID of the installation. #### Query Parameters - **start** (integer) - Required - Unix timestamp in milliseconds for the start of the data range. - **end** (integer) - Required - Unix timestamp in milliseconds for the end of the data range. ### Request Example ```json { "siteId": 98765, "start": 1705228800000, "end": 1705315200000 } ``` ### Response #### Success Response (200) - **ok** (boolean) - Indicates if the request was successful. - **source** (string) - The data source (e.g., "vrm"). - **endpoint** (string) - The API endpoint used. - **data** (array) - An array of GPS data objects. - **timestamp** (integer) - Unix timestamp of the GPS reading. - **latitude** (number) - Latitude coordinate. - **longitude** (number) - Longitude coordinate. - **speed** (number) - Speed in knots or km/h (unit depends on VRM settings). - **course** (integer) - Course in degrees. - **meta** (object) - Metadata about the response. - **status** (integer) - HTTP status code. - **durationMs** (integer) - Duration of the request in milliseconds. - **rateLimited** (boolean) - Indicates if the request was rate-limited. #### Response Example ```json { "ok": true, "source": "vrm", "endpoint": "/installations/98765/gps-download", "data": [ { "timestamp": 1705228800, "latitude": 37.7749, "longitude": -122.4194, "speed": 0, "course": 180 }, { "timestamp": 1705232400, "latitude": 37.7850, "longitude": -122.4094, "speed": 5.2, "course": 45 } ], "meta": { "status": 200, "durationMs": 180, "rateLimited": false } } ``` ``` -------------------------------- ### Get Device Performance Graphs (TypeScript) Source: https://context7.com/gimi-q/victron-vrm-mcp/llms.txt Retrieve specific device performance data like battery voltage, inverter output, or solar panel information. Requires site ID, attribute codes, and device instance. ```typescript // MCP Tool Call { "name": "vrm_get_widget_graph", "arguments": { "siteId": 98765, "attributeCodes": ["V", "I", "P"], "instance": 0 } } ``` ```typescript // Example Response { "ok": true, "source": "vrm", "endpoint": "/installations/98765/widgets/Graph", "data": { "V": [ { "timestamp": 1705228800, "value": 51.2 }, { "timestamp": 1705232400, "value": 52.4 }, { "timestamp": 1705236000, "value": 53.1 } ], "I": [ { "timestamp": 1705228800, "value": 10.5 }, { "timestamp": 1705232400, "value": 15.2 }, { "timestamp": 1705236000, "value": 18.0 } ], "P": [ { "timestamp": 1705228800, "value": 538 }, { "timestamp": 1705232400, "value": 796 }, { "timestamp": 1705236000, "value": 956 } ] }, "meta": { "status": 200, "durationMs": 220, "rateLimited": false } } ``` -------------------------------- ### Get Inverter/Charger Warnings and Alarms Source: https://context7.com/gimi-q/victron-vrm-mcp/llms.txt Fetches inverter/charger specific warnings and alarms for troubleshooting. Requires siteId and instance. ```typescript // MCP Tool Call { "name": "vrm_get_inverter_charger_warnings_alarms", "arguments": { "siteId": 98765, "instance": 0 } } ``` ```json // Example Response { "ok": true, "source": "vrm", "endpoint": "/installations/98765/widgets/InverterChargerWarningsAndAlarms", "data": { "alarms": [], "warnings": [ { "code": "AC input voltage too low", "active": false, "lastOccurrence": 1705200000 } ] }, "meta": { "status": 200, "durationMs": 115, "rateLimited": false } } ``` -------------------------------- ### Configure Environment Variables Source: https://github.com/gimi-q/victron-vrm-mcp/blob/master/README.md Set environment variables for VRM token, base URL, and token kind. These can be set via shell or a local .env file. ```bash VRM_TOKEN=your-token-here VRM_BASE_URL=https://vrmapi.victronenergy.com/v2 VRM_TOKEN_KIND=Token ```