Skip to main content
Glama

modbus-mcp

Modbus MCP サーバー

Modbus データを標準化およびコンテキスト化し、AI エージェントと産業用 IoT システムのシームレスな統合を可能にする MCP サーバー。

GitHubライセンスPythonバージョン状態

特徴

  • Modbus ツール:

    • 読み取り/書き込み保持レジスタ ( read_registerwrite_register )。

    • 読み取り/書き込みコイル ( read_coilswrite_coil )。

    • 入力レジスタを読み取ります ( read_input_registers )。

    • 複数の保持レジスタを読み取ります ( read_multiple_holding_registers )。

  • プロンプト: カスタマイズ可能なプロンプト ( analyze_register ) を使用して Modbus レジスタ値を分析します。

  • 柔軟な接続: 環境変数を介して構成された TCP、UDP、またはシリアル経由の Modbus をサポートします。

要件

  • Python : 3.10

  • 依存関係と仮想環境の管理のためのuv

インストール

  1. uv:

    curl -LsSf https://astral.sh/uv/install.sh | sh
  2. リポジトリのクローンを作成します:

    git clone https://github.com/kukapay/modbus-mcp.git cd modbus-mcp
  3. 依存関係をインストール:

    uv sync

構成

サーバーは、環境変数で指定されたパラメータを使用してModbusデバイスに接続します。これらの変数は、 .envファイルまたはシェル環境で設定してください。

環境変数

変数

説明

デフォルト

必須

MODBUS_TYPE

接続タイプ:

tcp

udp

、または

serial

tcp

はい

MODBUS_HOST

TCP/UDPのホストアドレス

127.0.0.1

TCP/UDPの場合

MODBUS_PORT

TCP/UDPのポート

502

TCP/UDPの場合

MODBUS_SERIAL_PORT

シリアルポート(例:

/dev/ttyUSB0

COM1

/dev/ttyUSB0

シリアル用

MODBUS_BAUDRATE

シリアルボーレート

9600

シリアル用

MODBUS_PARITY

シリアルパリティ:

N

(なし)、

E

(偶数)、

O

(奇数)

N

シリアル用

MODBUS_STOPBITS

シリアルストップビット

1

シリアル用

MODBUS_BYTESIZE

シリアルバイトサイズ

8

シリアル用

MODBUS_TIMEOUT

シリアルタイムアウト(秒)

1

シリアル用

.envファイルの例

TCPの場合:

MODBUS_TYPE=tcp MODBUS_HOST=192.168.1.100 MODBUS_PORT=502

シリアルの場合:

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

使用法

Claude Desktop へのインストール

設定ファイル:

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

ツールの使用

:自然言語サポートは、クライアントがプロンプトを解析し、ツールにマッピングする能力に依存します。MCPインスペクターでは構造化されたJSONが必要ですが、以下の例は会話型入力がどのように翻訳されるかを示しています。

  1. 保有台帳の読み取り:

    • プロンプト

      Please read the value of Modbus holding register 0.
    • MCP インスペクター JSON :

      { "tool": "read_register", "parameters": {"address": 0} }
    • 予想される出力: Value: <register_value>

  2. 保留レジスタへの書き込み:

    • プロンプト

      Set Modbus holding register 10 to the value 100.
    • MCP インスペクター JSON :

      { "tool": "write_register", "parameters": {"address": 10, "value": 100} }
    • 期待される出力: Successfully wrote 100 to register 10

  3. 読み取りコイル:

    • プロンプト

      Check the status of the first 5 Modbus coils starting at address 0.
    • MCP インスペクター JSON :

      { "tool": "read_coils", "parameters": {"address": 0, "count": 5} }
    • 予想される出力Coils 0 to 4: [False, False, False, False, False]

  4. コイルに書き込む:

    • プロンプト

      Turn on Modbus coil 5.
    • MCP インスペクター JSON :

      { "tool": "write_coil", "parameters": {"address": 5, "value": true} }
    • 期待される出力: Successfully wrote True to coil 5

  5. 入力レジスタの読み取り:

    • プロンプト

      Read the values of 3 Modbus input registers starting from address 2.
    • MCP インスペクター JSON :

      { "tool": "read_input_registers", "parameters": {"address": 2, "count": 3} }
    • 予想される出力: Input Registers 2 to 4: [<value1>, <value2>, <value3>]

  6. 複数の保持レジスタの読み取り:

    • プロンプト

      Get the values of Modbus holding registers 0 through 2.
    • MCP インスペクター JSON :

      { "tool": "read_multiple_holding_registers", "parameters": {"address": 0, "count": 3} }
    • 予想される出力: Holding Registers 0 to 2: [<value1>, <value2>, <value3>]

ライセンス

このプロジェクトはMITライセンスの下でライセンスされています。詳細はライセンスをご覧ください。

-
security - not tested
A
license - permissive license
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

モドバスMCP

  1. 特徴
    1. 要件
      1. インストール
        1. 構成
          1. 環境変数
          2. .envファイルの例
        2. 使用法
          1. Claude Desktop へのインストール
          2. ツールの使用
        3. ライセンス

          Related MCP Servers

          View all related MCP servers

          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/mudbus-mcp'

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