ips-automation-mcp
Enables Claude to read, analyze, optimize, and execute IP-Symcon PHP scripts via JSON-RPC API, turning automation development into a dialogue.
README
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 |
|---|---|
script_list |
Alle Skripte auflisten (Name, ID, Status, letzter Lauf), optional mit Suchfilter |
script_read |
PHP-Quellcode eines Skripts lesen + Metadaten |
script_write |
Code überschreiben (mit Typ-Prüfung als Sicherheitsnetz) |
script_create |
Neues Skript anlegen + Code setzen (mit Rollback bei Fehler) |
script_execute |
Skript ausführen + Ergebnis/Laufzeit zurückgeben |
script_delete |
Skript löschen |
php_eval |
PHP-Code direkt testen (über temporäres Skript, wird automatisch aufgeräumt) |
cleanup_eval_scripts |
Verwaiste Temp-Skripte aufräumen (mit Vorschau-Modus) |
Kontext-Tools
| Tool | Beschreibung |
|---|---|
object_search |
Objekte/Variablen nach Name suchen → liefert IDs für neue Skripte |
variable_read |
Variable lesen (Wert + Metadaten) |
variable_set |
Variable setzen / Aktion auslösen (RequestAction oder SetValue) |
object_children |
Objektbaum navigieren |
System-Tools
| Tool | Beschreibung |
|---|---|
system_info |
IPS Version + Laufzeit |
system_log |
Fehlerlog lesen – ideal zur Diagnose nach einem Skript-Fehler |
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 build
Windows / 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.mjs
Windows (PowerShell):
$env:IPS_HOST="192.168.1.100"; $env:IPS_USER="deine@email.de"; $env:IPS_PASS="deinPasswort"; node test-connection.mjs
macOS/Linux:
IPS_HOST=192.168.1.100 IPS_USER=deine@email.de IPS_PASS=deinPasswort node test-connection.mjs
Bei 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 |
|---|---|---|
IPS_HOST |
127.0.0.1 |
IP-Symcon Hostname/IP |
IPS_PORT |
3777 |
JSON-RPC Port |
IPS_USER |
– | Lizenz-E-Mail (Pflicht) |
IPS_PASS |
– | Fernzugriff-Passwort (Pflicht) |
IPS_HTTPS |
false |
HTTPS statt HTTP |
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_write
Sicherheitshinweis
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.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 Serverstart - Neues Tool
cleanup_eval_scripts(mit Vorschau-Modus) zum manuellen Aufräumen script_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.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。