Chatbot
Chatbot (KI) kommuniziert mit der Modellbahn
Kommunikation zwischen Rocrail und Chatbot (Claude Desktop) mit einem Python-basierten MCP-Server über MQTT.
In dieser Architektur übernimmt die Modellbahnsteuerungssoftware Rocrail die zentrale Steuerung einer Modellbahnanlage, während ein Python-Programm – ausgeführt unter Claude Desktop – als MCP-Server fungiert. Die Kommunikation zwischen Rocrail und dem Python-Programm erfolgt über das MQTT-Protokoll. Das Python-Programm übersetzt MQTT-Nachrichten in MCP-Kommandos und umgekehrt. Intern verwendet es die fastmcp-Bibliothek, um MCP-Prozesse zu verwalten.
Architekturüberblick
1. Rocrail:
Rocrail agiert als MQTT-Client und veröffentlicht sowie empfängt Nachrichten über einen konfigurierbaren MQTT-Broker (z. B. Mosquitto).
Über MQTT kann Rocrail Befehle an externe Geräte und Programme senden, z. B. um Weichen zu stellen oder Rückmelder abzufragen.
2. Claude Desktop mit Python-Programm:
Das Python-Programm läuft in einer isolierten Umgebung unter Claude Desktop.
Es verbindet sich ebenfalls als MQTT-Client mit demselben MQTT-Broker wie Rocrail.
Innerhalb des Python-Programms ist die Bibliothek fastmcp eingebunden, über die ein MCP-Server betrieben wird.
3. fastmcp-basierter MCP-Server:
Das Python-Programm verwendet fastmcp, um eine eigene Steuerlogik (z. B. für Gleislogik, Aktoren, Rückmelder) gemäß dem Model Control Protocol (MCP) umzusetzen.
Die MQTT-Nachrichten von Rocrail werden dabei als Eingabesignale interpretiert, intern in MCP-Form übersetzt und verarbeitet.
Antworten oder Rückmeldungen werden wieder über MQTT an Rocrail gesendet, sodass eine wechselseitige Kommunikation entsteht.
Beispiel schalte Weiche sw2 auf rund:
Info über Rocrail:
Python Programm:
Achtung dieses Python Programm ist noch nicht vollständig getestet. Es wurde durch eine Ki automatisch erstellt (Wipe Coding). Es zeigt lediglich was mit MCP möglich ist und was nicht.
claude_desktop_config.json
:
Links: