PLENTICORE MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PLENTICORE_URL | Yes | Base URL of the KOSTAL PLENTICORE inverter without /api/v1, e.g. http://plenticore.example | |
| PLENTICORE_TIMEOUT | No | Timeout in seconds for inverter API requests. | |
| PLENTICORE_PASSWORD | Yes | Plant owner password from the inverter's local web interface. | |
| PLENTICORE_READ_ONLY | No | When true, blocks settings writes while allowing previews. If omitted, the code default is false. | false |
| PLENTICORE_VERIFY_SSL | No | Whether to verify SSL certificates for HTTPS connections. |
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": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| plenticore_batteryA | Read available battery measurements, including SoC and power. |
| plenticore_energyB | Read inverter-native energy counters for Day, Month, Year or Total. Preserve units. |
| plenticore_eventsA | Read the latest 1–100 inverter events; active events may have end_time=null. |
| plenticore_list_modulesA | Discover the modules actually offered by this inverter and current user. |
| plenticore_list_process_dataB | Discover measurement IDs. Search module/ID; follow next_offset for more. |
| plenticore_list_settingsB | Discover setting types, units, access rights and min/max. Secrets are omitted. |
| plenticore_overviewB | Read power flow, AC, PV strings, battery and meter measurements that exist. |
| plenticore_read_process_dataA | Read explicit {moduleid: [IDs]} (max 200), returning native values and units. |
| plenticore_read_settingsA | Read explicit {moduleid: [setting IDs]}. Discover IDs first; secrets are excluded. |
| plenticore_statusA | Read API/firmware version and plant owner session status. |
| plenticore_update_settingsA | Preview settings changes; dry_run=false writes and reads back. Values are strings. Uses actual owner-accessible IDs, types and min/max. No installer login. Read list_settings and the current values first. Multi-setting writes are not atomic; no automatic rollback. A connection error after submission can leave a change applied: read back before retrying. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| usage | Measurement interpretation and settings workflow. |
TDQS
Scored across 11 tools
The list_* discovery tools are clearly separated from the read_* tools by description (discover IDs vs read explicit IDs), and battery/energy/events/status each target distinct data. The only soft overlap is plenticore_overview, which aggregates battery, PV, meter and AC readings that plenticore_battery and plenticore_energy also expose, so an agent may occasionally choose overview redundantly.
All names use a consistent plenticore_ prefix with snake_case, and the list_/read_/update_ verb pattern is applied predictably to processes and settings. The single-word resource reads (battery, energy, events, overview, status) deviate from the verb_noun pattern but remain unambiguous.
Eleven tools is well within the ideal range for an inverter integration and each earns its place: discovery, targeted reads, an aggregate overview, and a single guarded write path. Nothing appears padded or redundant enough to be dropped.
The surface covers discovery, reads of measurements/energy/events/status, and settings read plus a dry-run-first write, which is a full lifecycle for this domain. Minor gaps exist: no process-data write, no setting pagination noted, and no explicit way to acknowledge or clear events, though these may be limitations of the inverter API.