Servidor Modbus MCP
Un servidor MCP que estandariza y contextualiza los datos Modbus, lo que permite una integración perfecta de los agentes de IA con los sistemas de IoT industriales.
Características
Herramientas Modbus :
Leer/escribir registros de retención (
read_register
,write_register
).Bobinas de lectura/escritura (
read_coils
,write_coil
).Leer registros de entrada (
read_input_registers
).Leer múltiples registros de retención (
read_multiple_holding_registers
).
Aviso : Analice los valores de registro Modbus con un aviso personalizable (
analyze_register
).Conexiones flexibles : admite Modbus sobre TCP, UDP o serie, configurado a través de variables de entorno.
Requisitos
Python : 3.10
uv para gestión de dependencias y entornos virtuales.
Instalación
Instalar :
curl -LsSf https://astral.sh/uv/install.sh | shClonar el repositorio :
git clone https://github.com/kukapay/modbus-mcp.git cd modbus-mcpInstalar dependencias :
uv sync
Configuración
El servidor se conecta a un dispositivo Modbus mediante parámetros especificados mediante variables de entorno. Configure estas variables en un archivo .env
o en su entorno de shell.
Variables de entorno
Variable | Descripción | Por defecto | Requerido |
| Tipo de conexión:
,
o
|
| Sí |
| Dirección de host para TCP/UDP |
| Para TCP/UDP |
| Puerto para TCP/UDP |
| Para TCP/UDP |
| Puerto serie (por ejemplo,
,
) |
| Para serie |
| Velocidad en baudios en serie |
| Para serie |
| Paridad serial:
(ninguna),
(par),
(impar) |
| Para serie |
| Bits de parada en serie |
| Para serie |
| Tamaño de bytes en serie |
| Para serie |
| Tiempo de espera en serie (segundos) |
| Para serie |
Ejemplo de archivo .env
Para TCP:
Para serie:
Uso
Instalación para Claude Desktop
El archivo de configuración:
Uso de herramientas
Nota : La compatibilidad con lenguaje natural depende de la capacidad del cliente para analizar y asignar indicaciones a las herramientas. El Inspector MCP requiere JSON estructurado, pero los ejemplos a continuación muestran cómo se traducen las entradas conversacionales.
Leer un registro de tenencia :
Inmediato :
Please read the value of Modbus holding register 0.Inspector JSON de MCP :
{ "tool": "read_register", "parameters": {"address": 0} }Resultado esperado :
Value: <register_value>
Escribir en un registro de tenencia :
Inmediato :
Set Modbus holding register 10 to the value 100.Inspector JSON de MCP :
{ "tool": "write_register", "parameters": {"address": 10, "value": 100} }Resultado esperado :
Successfully wrote 100 to register 10
Bobinas de lectura :
Inmediato :
Check the status of the first 5 Modbus coils starting at address 0.Inspector JSON de MCP :
{ "tool": "read_coils", "parameters": {"address": 0, "count": 5} }Salida esperada :
Coils 0 to 4: [False, False, False, False, False]
Escribir en una bobina :
Inmediato :
Turn on Modbus coil 5.Inspector JSON de MCP :
{ "tool": "write_coil", "parameters": {"address": 5, "value": true} }Resultado esperado :
Successfully wrote True to coil 5
Leer registros de entrada :
Inmediato :
Read the values of 3 Modbus input registers starting from address 2.Inspector JSON de MCP :
{ "tool": "read_input_registers", "parameters": {"address": 2, "count": 3} }Salida esperada :
Input Registers 2 to 4: [<value1>, <value2>, <value3>]
Leer varios registros de retención :
Inmediato :
Get the values of Modbus holding registers 0 through 2.Inspector JSON de MCP :
{ "tool": "read_multiple_holding_registers", "parameters": {"address": 0, "count": 3} }Salida esperada :
Holding Registers 0 to 2: [<value1>, <value2>, <value3>]
Licencia
Este proyecto está licenciado bajo la Licencia MIT. Consulte la LICENCIA para más detalles.
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
- MIT License