Сервер Modbus MCP
Сервер MCP, который стандартизирует и контекстуализирует данные Modbus, обеспечивая бесперебойную интеграцию агентов ИИ с промышленными системами Интернета вещей.
Функции
Инструменты Modbus :
Регистры хранения данных чтения/записи (
read_register,write_register).Катушки чтения/записи (
read_coils,write_coil).Чтение входных регистров (
read_input_registers).Чтение нескольких регистров хранения (
read_multiple_holding_registers).
Подсказка : Анализ значений регистра Modbus с помощью настраиваемой подсказки (
analyze_register).Гибкие подключения : поддерживает Modbus через TCP, UDP или последовательный порт, настраивается с помощью переменных среды.
Требования
Питон : 3.10
uv для управления зависимостями и виртуальной средой.
Установка
Установить :
curl -LsSf https://astral.sh/uv/install.sh | shКлонировать репозиторий :
git clone https://github.com/kukapay/modbus-mcp.git cd modbus-mcpУстановить зависимости :
uv sync
Конфигурация
Сервер подключается к устройству Modbus, используя параметры, указанные через переменные среды. Установите эти переменные в файле .env или в вашей оболочке.
Переменные среды
Переменная  | Описание  | По умолчанию  | Необходимый  | 
  | Тип соединения: 
 , 
 или 
  | 
  | Да  | 
  | Адрес хоста для TCP/UDP  | 
  | Для TCP/UDP  | 
  | Порт для TCP/UDP  | 
  | Для TCP/UDP  | 
  | Идентификатор раба  | 
  | Для TCP/UDP  | 
  | Последовательный порт (например, 
 , 
 )  | 
  | Для серийного  | 
  | Скорость последовательной передачи данных  | 
  | Для серийного  | 
  | Последовательная четность: 
 (нет), 
 (чет), 
 (нечет)  | 
  | Для серийного  | 
  | Последовательные стоп-биты  | 
  | Для серийного  | 
  | Размер последовательного байта  | 
  | Для серийного  | 
  | Последовательный тайм-аут (секунды)  | 
  | Для серийного  | 
Пример файла .env
Для TCP:
Для серийного номера:
Использование
Установка для Claude Desktop
Файл конфигурации:
Использование инструментов
Примечание : Поддержка естественного языка зависит от способности клиента анализировать и сопоставлять подсказки с инструментами. MCP Inspector требует структурированного JSON, но примеры ниже показывают, как переводятся разговорные входные данные.
Прочтите реестр холдинга :
Быстрый :
Please read the value of Modbus holding register 0.Инспектор MCP JSON :
{ "tool": "read_register", "parameters": {"address": 0, "slave_id": 1} }Ожидаемый результат :
Value: <register_value>
Запишите в реестр холдинга :
Быстрый :
Set Modbus holding register 10 to the value 100.Инспектор MCP JSON :
{ "tool": "write_register", "parameters": {"address": 10, "value": 100, "slave_id": 1} }Ожидаемый результат :
Successfully wrote 100 to register 10
Читать катушки :
Быстрый :
Check the status of the first 5 Modbus coils starting at address 0.Инспектор MCP JSON :
{ "tool": "read_coils", "parameters": {"address": 0, "count": 5, "slave_id": 1} }Ожидаемый вывод :
Coils 0 to 4: [False, False, False, False, False]
Запись на катушку :
Быстрый :
Turn on Modbus coil 5.Инспектор MCP JSON :
{ "tool": "write_coil", "parameters": {"address": 5, "value": true, "slave_id": 1} }Ожидаемый результат :
Successfully wrote True to coil 5
Чтение входных регистров :
Быстрый :
Read the values of 3 Modbus input registers starting from address 2.Инспектор MCP JSON :
{ "tool": "read_input_registers", "parameters": {"address": 2, "count": 3, "slave_id": 1} }Ожидаемый вывод :
Input Registers 2 to 4: [<value1>, <value2>, <value3>]
Чтение нескольких регистров хранения :
Быстрый :
Get the values of Modbus holding registers 0 through 2.Инспектор MCP JSON :
{ "tool": "read_multiple_holding_registers", "parameters": {"address": 0, "count": 3, "slave_id": 1} }Ожидаемый вывод :
Holding Registers 0 to 2: [<value1>, <value2>, <value3>]
Лицензия
Этот проект лицензирован по лицензии MIT. Подробности см. в разделе ЛИЦЕНЗИЯ .
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