ips-automation-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ips-automation-mcp List all my scripts"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
IPS Automation MCP Server
Ein Model Context Protocol (MCP) Server, der Claude (oder andere MCP-Clients) direkten Zugriff auf die JSON-RPC API von IP-Symcon gibt. Damit kann Claude deine PHP-Skripte lesen, analysieren, optimieren, neu erstellen und ausführen – die Automatisierungs-Entwicklung wird dadurch zum Dialog.
⚠️ Dieser Server greift direkt über die native JSON-RPC API (Port 3777) auf IP-Symcon zu. Es muss kein zusätzliches PHP-Modul in IP-Symcon installiert werden – nur der Fernzugriff muss aktiviert sein.
Was kann der Server?
Claude bekommt 13 Tools, mit denen es eigenständig in deinem IPS-System arbeiten kann:
Skript-Tools (Kernfunktion)
Tool | Beschreibung |
| Alle Skripte auflisten (Name, ID, Status, letzter Lauf), optional mit Suchfilter |
| PHP-Quellcode eines Skripts lesen + Metadaten |
| Code überschreiben (mit Typ-Prüfung als Sicherheitsnetz) |
| Neues Skript anlegen + Code setzen (mit Rollback bei Fehler) |
| Skript ausführen + Ergebnis/Laufzeit zurückgeben |
| Skript löschen |
| PHP-Code direkt testen (über temporäres Skript, wird automatisch aufgeräumt) |
| Verwaiste Temp-Skripte aufräumen (mit Vorschau-Modus) |
Kontext-Tools
Tool | Beschreibung |
| Objekte/Variablen nach Name suchen → liefert IDs für neue Skripte |
| Variable lesen (Wert + Metadaten) |
| Variable setzen / Aktion auslösen (RequestAction oder SetValue) |
| Objektbaum navigieren |
System-Tools
Tool | Beschreibung |
| IPS Version + Laufzeit |
| Fehlerlog lesen – ideal zur Diagnose nach einem Skript-Fehler |
Related MCP server: Homey MCP Server
Architektur
┌─────────────────┐ stdio ┌──────────────────┐ JSON-RPC ┌──────────────┐
│ Claude Desktop │ ─────────► │ MCP Server │ ────────────► │ IP-Symcon │
│ (dein PC) │ │ (Node.js) │ Port 3777 │ │
└─────────────────┘ └──────────────────┘ └──────────────┘Der MCP-Server läuft auf demselben PC wie Claude Desktop und verbindet sich übers
Netzwerk mit IP-Symcon. Geschrieben in TypeScript mit dem offiziellen
@modelcontextprotocol/sdk.
Voraussetzungen
Node.js 18+ (nodejs.org, LTS-Version)
IP-Symcon mit aktiviertem Fernzugriff
Claude Desktop (oder ein anderer MCP-Client)
Installation
1. Fernzugriff in IP-Symcon aktivieren
Die JSON-RPC API ist durch den Fernzugriff abgesichert.
IP-Symcon Verwaltungskonsole öffnen
Einstellungen → Fernzugriff
Ein Passwort vergeben und speichern
Notiere dir drei Werte:
Host/IP deines IP-Symcon Servers (z.B.
192.168.1.100)Benutzer = deine Lizenz-E-Mail-Adresse (nicht der Account-Name!)
Passwort = das eben gesetzte Fernzugriff-Passwort
2. Repository klonen & bauen
git clone https://github.com/badfrog18/ips-automation-mcp.git
cd ips-automation-mcp
npm install
npm run buildWindows / PowerShell: Falls
npm installmit einem Fehler "die Ausführung von Skripts ist deaktiviert" abbricht, nutze stattdessennpm.cmd installundnpm.cmd run build– oder gib einmalig die Execution Policy frei:Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned
3. Verbindung testen (empfohlen)
Bevor du Claude konfigurierst, prüfe ob die Verbindung steht:
Windows (CMD):
set IPS_HOST=192.168.1.100 && set IPS_USER=deine@email.de && set IPS_PASS=deinPasswort && node test-connection.mjsWindows (PowerShell):
$env:IPS_HOST="192.168.1.100"; $env:IPS_USER="deine@email.de"; $env:IPS_PASS="deinPasswort"; node test-connection.mjsmacOS/Linux:
IPS_HOST=192.168.1.100 IPS_USER=deine@email.de IPS_PASS=deinPasswort node test-connection.mjsBei Erfolg zeigt das Skript deine IP-Symcon-Version und die Anzahl deiner Skripte/Objekte.
4. Claude Desktop konfigurieren
Öffne in Claude Desktop: Einstellungen → Entwickler → Konfiguration bearbeiten.
Das öffnet (bzw. erstellt) die Datei claude_desktop_config.json.
Füge den mcpServers-Block hinzu (Pfad und Zugangsdaten anpassen):
{
"mcpServers": {
"ips-automation": {
"command": "node",
"args": ["C:/Tools/ips-automation-mcp/dist/server.js"],
"env": {
"IPS_HOST": "192.168.1.100",
"IPS_PORT": "3777",
"IPS_USER": "deine@email.de",
"IPS_PASS": "deinPasswort"
}
}
}
}Windows-Pfade: Im JSON entweder Schrägstriche
/oder doppelte Backslashes\\verwenden – einfache Backslashes brechen die Datei.
Bestehende Config: Falls schon andere MCP-Server eingetragen sind, füge nur den
"ips-automation"-Block innerhalb von"mcpServers"hinzu, statt die Datei zu ersetzen.
5. Claude Desktop neu starten
Komplett beenden (Windows: Rechtsklick aufs Tray-Icon → Beenden) und neu öffnen. Ein einfaches Schließen des Fensters reicht nicht.
6. Testen
Frag Claude:
„Zeige mir alle meine IP-Symcon Skripte"
Claude ruft dann script_list auf und listet deine Skripte.
Umgebungsvariablen
Variable | Standard | Beschreibung |
|
| IP-Symcon Hostname/IP |
|
| JSON-RPC Port |
| – | Lizenz-E-Mail (Pflicht) |
| – | Fernzugriff-Passwort (Pflicht) |
|
| HTTPS statt HTTP |
|
| Timeout pro Anfrage in ms – auf langsamen/großen Systemen (Raspi, große DB) höher setzen |
Beispiel-Workflows
"Zeig alle Skripte mit 'Pool' im Namen"
→ script_list (gefiltert)
"Lies das Poolpumpen-Skript und erkläre, was es macht"
→ script_read + Analyse
"Optimiere das Skript und schreib die verbesserte Version zurück"
→ script_read → script_write
"Erstelle eine Automation, die bei PV-Überschuss die Poolpumpe einschaltet"
→ object_search (IDs finden) → script_create → script_execute
"Das Skript wirft einen Fehler – finde und behebe ihn"
→ script_execute → system_log → script_writeSicherheitshinweis
Der Server hat vollen Lese- und Schreibzugriff (inkl. Löschen und Ausführen) auf deine
IPS-Skripte. Die claude_desktop_config.json enthält dein Fernzugriff-Passwort im Klartext –
behandle sie entsprechend vertraulich und committe sie niemals in ein öffentliches Repo
(sie ist in der .gitignore ausgeschlossen).
Changelog
v2.2.0
Performance:
object_search,script_listundobject_childrenlaufen jetzt vollständig serverseitig in IP-Symcon (ein einziger RPC-Call statt tausender Einzelanfragen). Damit funktionieren sie auch auf großen Systemen (>10.000 Objekte) zuverlässig, ohne Timeout. Behebt „Failed to call tool object_search" / „MCP-Server reagiert nicht".Konfigurierbarer Timeout über
IPS_TIMEOUT(Standard jetzt 30s statt 15s) – für langsame Hosts wie Raspberry PiInterne
evalPhp-Hilfsfunktion für zuverlässige serverseitige Ausführung mit echtem JSON-Rückgabewert
v2.1.0
Fix: Temporäre
php_eval-Skripte werden jetzt zuverlässig gelöscht (inkl. PHP-Datei auf der Platte). Ursache war der fehlende zweite Parameterdelete_filebeiIPS_DeleteScript.Automatisches Aufräumen verwaister
__claude_eval_-Skripte beim ServerstartNeues Tool
cleanup_eval_scripts(mit Vorschau-Modus) zum manuellen Aufräumenscript_deletenutzt jetzt ebenfalls robustes Löschen + Typprüfung
v2.0.0
Erste Veröffentlichung mit 13 Tools für Skript-Automatisierung
Lizenz
MIT – siehe LICENSE.
Haftungsausschluss
Dieses Projekt steht in keiner Verbindung zur Symcon GmbH.
Die Nutzung erfolgt vollständig auf eigene Gefahr und eigene Verantwortung. Der Autor übernimmt keinerlei Haftung für direkte oder indirekte Schäden, Datenverluste, Fehlfunktionen, Ausfälle oder sonstige Folgen, die aus der Installation, Konfiguration oder Nutzung dieser Software entstehen – gleich aus welchem Rechtsgrund.
Zu beachten ist insbesondere, dass Claude eigenständig Skripte ändern, ausführen und löschen kann. Vor dem produktiven Einsatz wird dringend ein vollständiges Backup des IP-Symcon Systems empfohlen. Jeder Nutzer ist selbst dafür verantwortlich, Änderungen vor dem Übernehmen zu prüfen.
Die Software wird „wie besehen" („as is") ohne jegliche Gewährleistung bereitgestellt, wie in der MIT-Lizenz ausgeführt.
Available Tools
13 toolsobject_childrenA
Listet alle Kind-Objekte eines IPS-Objekts auf (ID=0 für Root). Zeigt die Baumstruktur.
Inputs: parent_id.
object_searchA
Sucht IP-Symcon Objekte nach Name (Teilmatch). Gibt ID, Typ, aktuellen Wert zurück. Claude braucht das um die richtigen Variablen-IDs für neue Skripte zu finden.
Inputs: query (required), max, types.
php_evalA
Führt PHP-Code direkt in IP-Symcon aus ohne ein persistentes Skript anzulegen. Ideal zum schnellen Testen von Code-Schnipseln, Variablen-IDs prüfen, etc. Erstellt intern ein Temp-Skript, führt es aus, löscht es wieder.
Inputs: code (required).
script_createA
Erstellt ein neues PHP-Skript in IP-Symcon und setzt sofort den Inhalt. Gibt die neue Skript-ID zurück. Ideal für neue Automationen die Claude komplett erstellt.
Inputs: name (required), content (required), info, parent_id.
script_deleteA
Löscht ein IP-Symcon Skript dauerhaft. Vorsicht: nicht rückgängig machbar!
Inputs: script_id (required).
script_executeA
Führt ein IP-Symcon Skript aus und gibt das Ergebnis (Return-Value und Laufzeit) zurück. Claude kann damit eigene Skripte nach dem Schreiben sofort testen.
Inputs: script_id (required), parameters.
script_listA
Listet alle vorhandenen IP-Symcon Skripte auf (Name, ID, Status, letzter Lauf). Ideal als erster Schritt um zu verstehen welche Automationen bereits existieren.
Inputs: search.
script_readA
Liest den PHP-Quellcode eines IP-Symcon Skripts anhand seiner Objekt-ID. Gibt den vollständigen Skriptinhalt zurück, den Claude analysieren und optimieren kann.
Inputs: script_id (required).
script_writeA
Schreibt neuen PHP-Code in ein bestehendes IP-Symcon Skript (überschreibt den Inhalt). Verwende dies nach einer Analyse um optimierten oder reparierten Code zu speichern.
Inputs: content (required), script_id (required).
system_infoA
Gibt IP-Symcon Systeminformationen zurück (Version, Laufzeit).
Inputs: no named parameters.
system_logA
Liest das IP-Symcon Statusprotokoll. Nach einem Skript-Fehler zeigt dies die genaue Fehlermeldung. Claude nutzt das zur Fehlerdiagnose nach script_execute.
Inputs: limit, types.
variable_readB
Liest den aktuellen Wert einer IP-Symcon Variable (formatiert und roh).
Inputs: variable_id (required).
variable_setB
Setzt eine IP-Symcon Variable oder löst eine Aktion aus (für Aktoren: RequestAction bevorzugt).
Inputs: value (required), variable_id (required), use_action.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 13 tools
All tools have clearly distinct purposes: object management (children/search), script lifecycle (create/delete/execute/list/read/write), variable read/set, system info/log, and a PHP eval tool. No two tools overlap in functionality.
All tool names follow a consistent noun_verb pattern (e.g., script_create, variable_read) with lowercase and underscores. Even php_eval follows this pattern with 'php' as the noun and 'eval' as the verb.
With 13 tools, the set is well-scoped for an automation scripting server. It covers object navigation, complete script CRUD and execution, variable operations, and system diagnostics without being overwhelming.
The tool surface covers the full script lifecycle and essential variable operations, plus object search and system info. Minor gaps like object creation or renaming scripts are absent, but these are not critical for the automation focus.
Maintenance
Related MCP Connectors
Work on your own computers from Claude or ChatGPT: run commands, edit and search files.
Manage your IoT device fleet directly from Claude. Create device templates with datastreams and events, provision new devices, read live sensor data, and control outputs. The Blynk connector integrates with the Blynk IoT platform, enabling direct configuration and monitoring of connected devices and infrastructure.
Live SEO workflow tools for Claude Code, Codex, and AI agents.
Read and write Sage Intacct from Claude or ChatGPT. Write tools are flagged for approval.
Related MCP Servers
- AlicenseAqualityDmaintenanceConnects AI assistants like Claude to PHP's XDebug debugger for runtime inspection, breakpoint control, and variable tracking, enabling natural language debugging of PHP applications.61Apache 2.0
- AlicenseNot gradedqualityDmaintenanceEnables Claude AI to control and manage Homey Pro smart home devices, flows, and analytics through natural language.12MIT
- AlicenseNot gradedqualityBmaintenanceEnables Claude/agents to read, control, and develop IP-Symcon home automation systems via JSON-RPC, including object tree navigation, variable reading, device switching, and PHP script management.MIT
- AlicenseAqualityDmaintenanceConnects Claude and other MCP clients to myGEKKO building controllers via the official Query API, enabling natural-language queries and control of smart-home devices. It is read-only by default, with write actions available only through explicit opt-in and safety policies.3MIT