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 |
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
} |
| 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