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
Related Resources
Related MCP Servers
- MIT License