Skip to main content
Glama

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.

Licencia de GitHubVersión de PythonEstado

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.

Related MCP server: Industrial MCP

Requisitos

  • Python : 3.10

  • uv para gestión de dependencias y entornos virtuales.

Instalación

  1. Instalar uv :

    curl -LsSf https://astral.sh/uv/install.sh | sh
  2. Clonar el repositorio :

    git clone https://github.com/kukapay/modbus-mcp.git
    cd modbus-mcp
  3. Instalar 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

MODBUS_TYPE

Tipo de conexión: tcp , udp o serial

tcp

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:

MODBUS_TYPE=tcp
MODBUS_HOST=192.168.1.100
MODBUS_PORT=502

Para serie:

MODBUS_TYPE=serial
MODBUS_SERIAL_PORT=/dev/ttyUSB0
MODBUS_BAUDRATE=9600
MODBUS_PARITY=N
MODBUS_STOPBITS=1
MODBUS_BYTESIZE=8
MODBUS_TIMEOUT=1

Uso

Instalación para Claude Desktop

El archivo de configuración:

{
   "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 },
       }
   }
}

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.

  1. 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>

  2. 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

  3. 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]

  4. 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

  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>]

  6. 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.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    An 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.
    2
    Apache 2.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP 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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kukapay/modbus-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server