viaris-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| VIARIS_CHARGERS | Yes | Comma-separated list of chargers as name=address, e.g. garage=192.168.1.100,outdoor=192.168.1.101 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_statusA | Charging status and instantaneous power of the chargers: how much the house is drawing, how much the car is drawing, and the active limits. Without "charger" it reports all chargers. |
| get_charging_historyA | Past charging sessions, most recent first: start, end, energy delivered in Wh, duration in minutes, and what started and stopped the charge. |
| get_configurationA | Full read-only configuration: device, power limits, SPL mode, solar, LEDs, and under "readOnly" OCPP, Modbus and MQTT, which can only be changed from the web interface. |
| get_charging_scheduleC | Scheduled charging time windows, with times in HH:MM format. |
| add_charging_scheduleA | Schedules a charging time window. Times are in HH:MM format; a window crossing midnight (e.g. 23:00-06:00) is handled automatically. |
| remove_charging_scheduleA | Removes a scheduled time window, given the id returned by get_charging_schedule. |
| set_charging_allowedA | Allows or blocks charging outside the scheduled windows. This governs whether a session may begin: it does NOT interrupt charging already in progress, and the charger offers no way to do so over the local network. Requires at least one scheduled window to exist, otherwise the charger refuses the change. |
| set_home_power_limitA | Sets the maximum power in watts that the household electrical supply can deliver. If the chargers are in an SPL master/slave setup the limit is written to the master and propagates; if they are independent, the response includes a warning about the risk of exceeding the contracted power. |
| set_charger_current_limitB | Sets the maximum current in amperes that the charger can deliver to the car. The allowed maximum is whatever the device declares. |
| set_solar_configA | Enables or disables solar charging and sets its priority. |
| set_led_brightnessA | Sets the charger LED intensity: 0 off, 50 reduced, 100 full. |
| set_device_timeA | Synchronizes the charger clock. Without parameters it sets the current time. The time zone requires timezone and timezoneCode together. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 12 tools
Each tool targets a distinct resource or action: status, history, configuration, schedules, and separate setters for charging, power limits, solar, LED, and time. The only potentially similar pair, set_home_power_limit and set_charger_current_limit, is clearly differentiated by household supply vs. car charger current.
The naming follows a consistent verb_noun pattern: get_* for reads, set_* for configuration changes, and add_/remove_ for schedule mutations. All tools use snake_case and the verbs accurately reflect their operations.
Twelve tools is well-scoped for an EV charger management server, covering status, history, configuration, scheduling, and control without redundancy. Each tool has a clear purpose and none feel superfluous.
The set covers the main charger lifecycle: observing status/history/config, managing schedules, and controlling charging, power limits, solar, LED, and time. The lack of a remote-stop tool is explicitly explained as unsupported by the hardware, and configuration changes outside the MCP are clearly scoped to the web interface.