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
).
- Leer/escribir registros de retención (
- 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
uv
: - Clonar el repositorio :
- Instalar dependencias :
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 |
---|---|---|---|
MODBUS_TYPE | Tipo de conexión: tcp , udp o serial | tcp | Sí |
MODBUS_HOST | Dirección de host para TCP/UDP | 127.0.0.1 | Para TCP/UDP |
MODBUS_PORT | Puerto para TCP/UDP | 502 | Para TCP/UDP |
MODBUS_SERIAL_PORT | Puerto serie (por ejemplo, /dev/ttyUSB0 , COM1 ) | /dev/ttyUSB0 | Para serie |
MODBUS_BAUDRATE | Velocidad en baudios en serie | 9600 | Para serie |
MODBUS_PARITY | Paridad serial: N (ninguna), E (par), O (impar) | N | Para serie |
MODBUS_STOPBITS | Bits de parada en serie | 1 | Para serie |
MODBUS_BYTESIZE | Tamaño de bytes en serie | 8 | Para serie |
MODBUS_TIMEOUT | Tiempo de espera en serie (segundos) | 1 | 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 :
- Inspector JSON de MCP :
- Resultado esperado :
Value: <register_value>
- Inmediato :
- Escribir en un registro de tenencia :
- Inmediato :
- Inspector JSON de MCP :
- Resultado esperado :
Successfully wrote 100 to register 10
- Inmediato :
- Bobinas de lectura :
- Inmediato :
- Inspector JSON de MCP :
- Salida esperada :
Coils 0 to 4: [False, False, False, False, False]
- Inmediato :
- Escribir en una bobina :
- Inmediato :
- Inspector JSON de MCP :
- Resultado esperado :
Successfully wrote True to coil 5
- Inmediato :
- Leer registros de entrada :
- Inmediato :
- Inspector JSON de MCP :
- Salida esperada :
Input Registers 2 to 4: [<value1>, <value2>, <value3>]
- Inmediato :
- Leer varios registros de retención :
- Inmediato :
- Inspector JSON de MCP :
- Salida esperada :
Holding Registers 0 to 2: [<value1>, <value2>, <value3>]
- Inmediato :
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
- GoMIT License
- GoMIT License
- PythonMIT License
- JavaScript