modbus-mcp
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).
Eingabeaufforderung : Analysieren Sie Modbus-Registerwerte mit einer anpassbaren Eingabeaufforderung (
analyze_register).Flexible Verbindungen : Unterstützt Modbus über TCP, UDP oder seriell, konfiguriert über Umgebungsvariablen.
Related MCP server: Industrial MCP
Anforderungen
Python : 3.10
UV für Abhängigkeits- und virtuelles Umgebungsmanagement.
Installation
uvinstallieren :curl -LsSf https://astral.sh/uv/install.sh | shKlonen Sie das Repository :
git clone https://github.com/kukapay/modbus-mcp.git cd modbus-mcpAbhängigkeiten installieren :
uv sync
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 |
| Verbindungstyp: |
| Ja |
| Hostadresse für TCP/UDP |
| Für TCP/UDP |
| Port für TCP/UDP |
| Für TCP/UDP |
| Slave-ID |
| Für TCP/UDP |
| Serieller Anschluss (z. B. |
| Für serielle |
| Serielle Baudrate |
| Für serielle |
| Serielle Parität: |
| Für serielle |
| Serielle Stoppbits |
| Für serielle |
| Serielle Bytegröße |
| Für serielle |
| Serielles Timeout (Sekunden) |
| Für serielle |
Beispiel .env -Datei
Für TCP:
MODBUS_TYPE=tcp
MODBUS_HOST=192.168.1.100
MODBUS_PORT=502
MODBUS_SLAVE_ID=1Für Serien:
MODBUS_TYPE=serial
MODBUS_SERIAL_PORT=/dev/ttyUSB0
MODBUS_BAUDRATE=9600
MODBUS_PARITY=N
MODBUS_STOPBITS=1
MODBUS_BYTESIZE=8
MODBUS_TIMEOUT=1Verwendung
Installation für Claude Desktop
Die Konfigurationsdatei:
{
"mcpServers": {
"Modbus MCP Server": {
"command": "uv",
"args": [ "--directory", "/path/to/modbus-mcp", "run", "modbus-mcp" ],
"env": { "MODBUS_TYPE": "tcp", "MODBUS_HOST": "127.0.0.1", "MODBUS_PORT": 502 },
}
}
}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 :
Please read the value of Modbus holding register 0.MCP-Inspektor JSON :
{ "tool": "read_register", "parameters": {"address": 0, "slave_id": 1} }Erwartete Ausgabe :
Value: <register_value>
Schreiben in ein Holdingregister :
Eingabeaufforderung :
Set Modbus holding register 10 to the value 100.MCP-Inspektor JSON :
{ "tool": "write_register", "parameters": {"address": 10, "value": 100, "slave_id": 1} }Erwartete Ausgabe :
Successfully wrote 100 to register 10
Spulen lesen :
Eingabeaufforderung :
Check the status of the first 5 Modbus coils starting at address 0.MCP-Inspektor JSON :
{ "tool": "read_coils", "parameters": {"address": 0, "count": 5, "slave_id": 1} }Erwartete Ausgabe :
Coils 0 to 4: [False, False, False, False, False]
In eine Spule schreiben :
Eingabeaufforderung :
Turn on Modbus coil 5.MCP-Inspektor JSON :
{ "tool": "write_coil", "parameters": {"address": 5, "value": true, "slave_id": 1} }Erwartete Ausgabe :
Successfully wrote True to coil 5
Eingaberegister lesen :
Eingabeaufforderung :
Read the values of 3 Modbus input registers starting from address 2.MCP-Inspektor JSON :
{ "tool": "read_input_registers", "parameters": {"address": 2, "count": 3, "slave_id": 1} }Erwartete Ausgabe :
Input Registers 2 to 4: [<value1>, <value2>, <value3>]
Mehrere Holding-Register lesen :
Eingabeaufforderung :
Get the values of Modbus holding registers 0 through 2.MCP-Inspektor JSON :
{ "tool": "read_multiple_holding_registers", "parameters": {"address": 0, "count": 3, "slave_id": 1} }Erwartete Ausgabe :
Holding Registers 0 to 2: [<value1>, <value2>, <value3>]
Lizenz
Dieses Projekt ist unter der MIT-Lizenz lizenziert. Weitere Informationen finden Sie unter LIZENZ .
This server cannot be deployed
Maintenance
Related MCP Connectors
An MCP server giving access to Grafana dashboards, data and more.
Cloud-hosted MCP server for secure AI access to enterprise data sources via CData Connect AI.
MCP server for querying and analyzing data from ad platforms, analytics tools, and spreadsheets
Hosted MCP server for AI-driven data ops. Create apps, manage schemas, and CRUD structured data.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceMCP server for Modbus TCP devices that enables AI agents to read/write PLC registers by name using YAML device profiles, with a built-in simulator.2MIT
- AlicenseNot gradedqualityDmaintenanceAn open-source MCP server that bridges AI models with industrial equipment, supporting multiple protocols like Modbus, OPC UA, and MQTT for reading data and controlling machines.2Apache 2.0
- AlicenseAqualityCmaintenanceMCP server that unifies real-time telemetry from industrial systems into a single queryable interface, enabling production visibility, anomaly detection, and operational insights.53 npmMIT
- AlicenseNot gradedqualityCmaintenanceMCP server for Modbus RTU/TCP instrument control, enabling query and write operations on Modbus registers through a standardized interface, supporting both standalone use and integration with lab-executor.MIT