idm-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| IDM_HOST | No | IP-Adresse der IDM Wärmepumpe | 10.10.10.188 |
| IDM_PORT | No | Modbus-TCP-Port | 502 |
| IDM_UNIT | No | Modbus Unit-ID | 1 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| idm_get_system_statusA | Liest den allgemeinen Systemstatus der IDM Wärmepumpe. Liefert: Betriebsart System, Betriebsart Wärmepumpe, Außen- & gemittelte Außentemperatur, aktuelle Störungsnummer, Summenstörung, Smart-Grid-Status sowie den aktuell kommunizierten PV-Überschuss und die aktuelle Leistungsaufnahme der Wärmepumpe. Returns: str: JSON-Objekt mit allen Statusfeldern. |
| idm_get_temperaturesA | Liest alle Temperatursensoren der IDM Wärmepumpe. Liefert: WP-Vorlauf (B33), WP-Rücklauf (B34), HGL-Vorlauf (B35), Wärmequelleneintritt (B43), Wärmequellenaustritt (B36), Luftansaugtemperatur (B37/B46), Luftwärmetauscher (B72), Wärme- und Kältespeicher (B38/B40) sowie Momentanleistung. Returns: str: JSON-Objekt mit allen Temperaturen in °C. |
| idm_get_hot_water_statusA | Liest den Warmwasser- und Trinkwasserstatus der IDM Wärmepumpe. Liefert: Trinkwassererwärmer oben (B48) und unten (B41), Warmwasserzapftemperatur (B42), Warmwasser-Solltemperatur sowie die Einschalt- und Ausschalttemperatur der Warmwasserladung. Außerdem Status Anforderung Warmwasserladung und Ladepumpe (M73). Returns: str: JSON-Objekt mit Warmwasser-Zustandsdaten. |
| idm_get_heat_circuitsA | Liest den Status aller Heizkreise (A–G) der IDM Wärmepumpe. Liefert für jeden Heizkreis: Ist-Vorlauftemperatur, Soll-Vorlauftemperatur, Raumtemperatur sowie die aktive Betriebsart (Aus / Zeitprogramm / Normal / ECO / Manuell Heizen / Manuell Kühlen). Returns: str: JSON-Objekt mit Heizkreisdaten für HK A bis HK G. |
| idm_get_compressor_statusA | Liest den Status von Verdichtern, Pumpen und Umschaltventilen. Liefert: Status Verdichter 1–4, laufende Verdichterstufen (Heizen/ Kühlen/WW), Sole/ZK-Pumpe (M16), Wärmequellen/GW-Pumpe (M15), ISC-Pumpen (M84/M17) sowie alle Umschaltventile (M61–M99). Returns: str: JSON-Objekt mit Verdichter- und Pumpenstatus. |
| idm_get_energy_dataA | Liest Energiezähler und Momentanleistungen der IDM Wärmepumpe. Liefert: Momentanleistung, Leistungsaufnahme WP, sowie kumulierte Wärmemengen für Heizen, Kühlen, Warmwasser, Abtauung, Passive Kühlung, Solar und Elektroheizeinsatz. Returns: str: JSON-Objekt mit Leistungs- und Energiedaten in kW / kWh. |
| idm_get_solar_statusA | Liest den Solarstatus der IDM Wärmepumpe (thermische Solaranlage). Liefert: Kollektortemperatur (B73), Kollektorrücklauftemperatur (B75), Ladetemperatur (B74), Solar-Pool-Temperatur (B76), Betriebsart Solar sowie Momentanleistung Solar. Returns: str: JSON-Objekt mit Solardaten. |
| idm_health_checkA | Prüft die Modbus-TCP-Verbindung zur IDM Wärmepumpe. Liest Außentemperatur, Betriebsart und Summenstörung als Verbindungstest. Returns: str: JSON-Objekt mit Verbindungsstatus und Basiswerten. |
| idm_set_system_modeA | Setzt die Betriebsart des IDM-Gesamtsystems (Register 1005, EEPROM!). ⚠ EEPROM-Register: Begrenzte Schreibzyklen. Nicht permanent/zyklisch schreiben! Gültige Werte: 0 = Standby 1 = Automatik (Normalbetrieb) 2 = Abwesend 4 = Nur Warmwasser 5 = Nur Heizung/Kühlung Args: params.modus (int): Gewünschte Betriebsart (0/1/2/4/5). Returns: str: JSON-Bestätigung mit geschriebenem Wert und Bezeichnung. |
| idm_set_smart_gridA | Setzt den Smart Grid Status der IDM Wärmepumpe (Register 1006). Ermöglicht externe Steuerung über Energiemarkt-Signale oder E3DC/Victron: 0 = EVU-Sperre & kein PV-Ertrag (gesperrter Betrieb) 1 = EVU-Bezug & kein PV-Ertrag (Normalbetrieb) 2 = Kein EVU-Bezug & PV-Ertrag (PV-Überschuss → WP läuft extra) 4 = EVU-Sperre & PV-Ertrag (PV-Betrieb trotz Sperrsignal) Hinweis für zukünftige Strommarktsteuerung (viertelstündlich): Modus 0 bei Hochpreisphasen (06–08 Uhr, 17–20 Uhr) → WP sperren Modus 2 bei Niedrigpreisphasen → maximale PV-/Netz-Nutzung Args: params.status (int): Smart Grid Status (0/1/2/4). Returns: str: JSON-Bestätigung mit geschriebenem Wert. |
| idm_set_pv_surplusA | Schreibt den aktuellen PV-Überschuss an die IDM Wärmepumpe (Register 74). ⚠ WICHTIG: Im laufenden Betrieb schreibt das E3DC Hauskraftwerk diesen Wert automatisch und zyklisch. Direktes Schreiben durch diesen Server überschreibt die E3DC-Vorgabe TEMPORÄR bis zum nächsten E3DC-Zyklus! Die WP startet zusätzliche Wärmeproduktion (Fußbodenheizung, Pufferspeicher), sobald der PV-Überschuss die Leistungsaufnahme der WP übersteigt. Dieser Wert muss ZYKLISCH geschrieben werden – nicht einmalig! Args: params.pv_ueberschuss_kw (float): PV-Überschuss in kW (0 bis 100 kW). Returns: str: JSON-Bestätigung mit geschriebenem Wert. |
| idm_set_hot_water_setpointsA | Setzt Warmwasser-Solltemperatur, Ein- und/oder Ausschalttemperatur. ⚠ EEPROM-Register (mit * markiert): Begrenzte Schreibzyklen! NICHT permanent oder zyklisch schreiben – nur bei Bedarf ändern. Mindestens einen der drei Parameter angeben: solltemperatur_c – Warmwasser-Solltemperatur (Register 1032) einschalttemperatur_c – Einschalttemperatur Ladung (Register 1033) ausschalttemperatur_c – Ausschalttemperatur Ladung (Register 1034) Args: params (SetHotWaterSetpointInput): Warmwasser-Sollwerte. Returns: str: JSON-Bestätigung mit allen gesetzten Werten. |
| idm_set_demandA | Setzt externe Heiz-, Kühl- und/oder Warmwasseranforderungen. ⚠ Diese Register MÜSSEN ZYKLISCH geschrieben werden (z. B. alle 30 s), damit die Anforderung nach einem Neustart der WP wieder anliegt! Verwendung: heizen → Register 1710: Puffer-Bewirtschaftung Heizen kuehlen → Register 1711: Puffer-Bewirtschaftung Kühlen / Passivkühlung warmwasser → Register 1712: Warmwasserladung forcieren Args: params (SetDemandInput): Anforderungsflags (True=Ein, False=Aus). Returns: str: JSON-Bestätigung der gesetzten Anforderungen. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/2000teddy/idm-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server