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
: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の場合 |
| シリアルポート(例:
、
) |
| シリアル用 |
| シリアルボーレート |
| シリアル用 |
| シリアルパリティ:
(なし)、
(偶数)、
(奇数) |
| シリアル用 |
| シリアルストップビット |
| シリアル用 |
| シリアルバイトサイズ |
| シリアル用 |
| シリアルタイムアウト(秒) |
| シリアル用 |
.env
ファイルの例
TCPの場合:
シリアルの場合:
使用法
Claude Desktop へのインストール
設定ファイル:
ツールの使用
注:自然言語サポートは、クライアントがプロンプトを解析し、ツールにマッピングする能力に依存します。MCPインスペクターでは構造化されたJSONが必要ですが、以下の例は会話型入力がどのように翻訳されるかを示しています。
保有台帳の読み取り:
プロンプト:
Please read the value of Modbus holding register 0.MCP インスペクター JSON :
{ "tool": "read_register", "parameters": {"address": 0} }予想される出力:
Value: <register_value>
保留レジスタへの書き込み:
プロンプト:
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
読み取りコイル:
プロンプト:
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]
コイルに書き込む:
プロンプト:
Turn on Modbus coil 5.MCP インスペクター JSON :
{ "tool": "write_coil", "parameters": {"address": 5, "value": true} }期待される出力:
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} }予想される出力:
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} }予想される出力:
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
- MIT License