Uses environment variables specified in a .env file for configuration of Modbus connection parameters.
Modbus MCP-Server
Ein MCP-Server, der Modbus-Daten standardisiert und kontextualisiert und so eine nahtlose Integration von KI-Agenten in industrielle IoT-Systeme ermöglicht.
Merkmale
- Modbus-Tools :
- Halteregister lesen/schreiben (
read_register
,write_register
). - Spulen lesen/schreiben (
read_coils
,write_coil
). - Eingaberegister lesen (
read_input_registers
). - Lesen Sie mehrere Halteregister (
read_multiple_holding_registers
).
- Halteregister lesen/schreiben (
- Eingabeaufforderung : Analysieren Sie Modbus-Registerwerte mit einer anpassbaren Eingabeaufforderung (
analyze_register
). - Flexible Verbindungen : Unterstützt Modbus über TCP, UDP oder seriell, konfiguriert über Umgebungsvariablen.
Anforderungen
- Python : 3.10
- UV für Abhängigkeits- und virtuelles Umgebungsmanagement.
Installation
uv
installieren :- Klonen Sie das Repository :
- Abhängigkeiten installieren :
Konfiguration
Der Server stellt über Umgebungsvariablen eine Verbindung zu einem Modbus-Gerät her. Legen Sie diese Variablen in einer .env
Datei oder in Ihrer Shell-Umgebung fest.
Umgebungsvariablen
Variable | Beschreibung | Standard | Erforderlich |
---|---|---|---|
MODBUS_TYPE | Verbindungstyp: tcp , udp oder serial | tcp | Ja |
MODBUS_HOST | Hostadresse für TCP/UDP | 127.0.0.1 | Für TCP/UDP |
MODBUS_PORT | Port für TCP/UDP | 502 | Für TCP/UDP |
MODBUS_DEFAULT_SLAVE_ID | Slave-ID | 1 | Für TCP/UDP |
MODBUS_SERIAL_PORT | Serieller Anschluss (z. B. /dev/ttyUSB0 , COM1 ) | /dev/ttyUSB0 | Für serielle |
MODBUS_BAUDRATE | Serielle Baudrate | 9600 | Für serielle |
MODBUS_PARITY | Serielle Parität: N (keine), E (gerade), O (ungerade) | N | Für serielle |
MODBUS_STOPBITS | Serielle Stoppbits | 1 | Für serielle |
MODBUS_BYTESIZE | Serielle Bytegröße | 8 | Für serielle |
MODBUS_TIMEOUT | Serielles Timeout (Sekunden) | 1 | Für serielle |
Beispiel .env
-Datei
Für TCP:
Für Serien:
Verwendung
Installation für Claude Desktop
Die Konfigurationsdatei:
Werkzeuge verwenden
Hinweis : Die Unterstützung natürlicher Sprache hängt von der Fähigkeit des Clients ab, Eingabeaufforderungen zu analysieren und Tools zuzuordnen. Der MCP Inspector erfordert strukturiertes JSON. Die folgenden Beispiele zeigen jedoch, wie Konversationseingaben übersetzt werden.
- Lesen eines Holdingregisters :
- Eingabeaufforderung :
- MCP-Inspektor JSON :
- Erwartete Ausgabe :
Value: <register_value>
- Eingabeaufforderung :
- Schreiben in ein Holdingregister :
- Eingabeaufforderung :
- MCP-Inspektor JSON :
- Erwartete Ausgabe :
Successfully wrote 100 to register 10
- Eingabeaufforderung :
- Spulen lesen :
- Eingabeaufforderung :
- MCP-Inspektor JSON :
- Erwartete Ausgabe :
Coils 0 to 4: [False, False, False, False, False]
- Eingabeaufforderung :
- In eine Spule schreiben :
- Eingabeaufforderung :
- MCP-Inspektor JSON :
- Erwartete Ausgabe :
Successfully wrote True to coil 5
- Eingabeaufforderung :
- Eingaberegister lesen :
- Eingabeaufforderung :
- MCP-Inspektor JSON :
- Erwartete Ausgabe :
Input Registers 2 to 4: [<value1>, <value2>, <value3>]
- Eingabeaufforderung :
- Mehrere Holding-Register lesen :
- Eingabeaufforderung :
- MCP-Inspektor JSON :
- Erwartete Ausgabe :
Holding Registers 0 to 2: [<value1>, <value2>, <value3>]
- Eingabeaufforderung :
Lizenz
Dieses Projekt ist unter der MIT-Lizenz lizenziert. Weitere Informationen finden Sie unter LIZENZ .
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Modbus-MCP
Related MCP Servers
- GoMIT License
- JavaScriptMIT License
- PythonMIT License
- JavaScript