Python
Modbus MCP サーバー
Modbus データを標準化およびコンテキスト化し、AI エージェントと産業用 IoT システムのシームレスな統合を可能にする MCP サーバー。
特徴
- Modbus ツール:
- 読み取り/書き込み保持レジスタ (
read_register
、write_register
)。 - 読み取り/書き込みコイル (
read_coils
、write_coil
)。 - 入力レジスタを読み取ります (
read_input_registers
)。 - 複数の保持レジスタを読み取ります (
read_multiple_holding_registers
)。
- 読み取り/書き込み保持レジスタ (
- プロンプト: カスタマイズ可能なプロンプト (
analyze_register
) を使用して Modbus レジスタ値を分析します。 - 柔軟な接続: 環境変数を介して構成された TCP、UDP、またはシリアル経由の Modbus をサポートします。
要件
- Python : 3.10
- 依存関係と仮想環境の管理のためのuv 。
インストール
uv
をインストールします:- リポジトリのクローンを作成します:
- 依存関係をインストール:
構成
サーバーは、環境変数で指定されたパラメータを使用して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の場合:
シリアルの場合:
使用法
Claude Desktop へのインストール
設定ファイル:
ツールの使用
注:自然言語サポートは、クライアントがプロンプトを解析し、ツールにマッピングする能力に依存します。MCPインスペクターでは構造化されたJSONが必要ですが、以下の例は会話型入力がどのように翻訳されるかを示しています。
- 保有台帳の読み取り:
- プロンプト:
- MCP インスペクター JSON :
- 予想される出力:
Value: <register_value>
- プロンプト:
- 保留レジスタへの書き込み:
- プロンプト:
- MCP インスペクター JSON :
- 期待される出力:
Successfully wrote 100 to register 10
- プロンプト:
- 読み取りコイル:
- プロンプト:
- MCP インスペクター JSON :
- 予想される出力:
Coils 0 to 4: [False, False, False, False, False]
- プロンプト:
- コイルに書き込む:
- プロンプト:
- MCP インスペクター JSON :
- 期待される出力:
Successfully wrote True to coil 5
- プロンプト:
- 入力レジスタの読み取り:
- プロンプト:
- MCP インスペクター JSON :
- 予想される出力:
Input Registers 2 to 4: [<value1>, <value2>, <value3>]
- プロンプト:
- 複数の保持レジスタの読み取り:
- プロンプト:
- MCP インスペクター JSON :
- 予想される出力:
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.
モドバスMCP
Related MCP Servers
- PythonMIT License
- Python
- TypeScript