mcp-rs485 について
mcp-rs485は、AIアシスタントからRS485デバイスを操作するためのMCPサーバーです。シリアルポートの検出、接続管理、データの読み書きに対応し、通信パラメーターも設定できます。
主な機能
- 01利用可能なシリアルポートの一覧表示
- 02RS485接続の開始と終了
- 0316進データの読み書き
- 04接続状態と統計情報の確認
- 05シリアル通信パラメーターの設定
活用シーン
- 01システム上のシリアルポートの検出
- 02RS485デバイスへのコマンド送信
- 03接続中のRS485からデータを読み取り
MCP 対応
ポート一覧、接続管理、データの読み書き、状態確認のツールを通じて、MCPクライアントにRS485接続機能を提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
mcp-rs485
シリアルデータの読み書きに使う、RS485 バス接続機能を提供する MCP サーバーです。
mcp-name: io.github.daedalus/mcp-rs485
インストール
pip install mcp-rs485
設定
{
"mcpServers": {
"mcp-rs485": {
"command": "mcp-rs485",
"env": {},
"name": "io.github.daedalus/mcp-rs485"
}
}
}
使用方法
この MCP サーバーは、Model Context Protocol を通じて RS485 シリアルバスへの接続機能を提供します。AI アシスタントが RS485 デバイスとやり取りできるようにします。
ツール
list_ports:システムで利用可能なすべてのシリアルポートを一覧表示しますconnect_rs485:RS485 デバイスへの接続を開きますdisconnect_rs485:RS485 接続を閉じますread_rs485:開いている RS485 接続からデータを読み取りますwrite_rs485:RS485 接続にデータを書き込みますget_connection_status:RS485 接続の状態を取得します
例
from mcp_rs485.server import connect_rs485, write_rs485, read_rs485
# Connect to a device
conn_id = connect_rs485("/dev/ttyUSB0", baudrate=9600)
# Write data (Modbus RTU example)
write_rs485(conn_id, "01 03 00 00 00 0A")
# Read response
response = read_rs485(conn_id)
# Cleanup
disconnect_rs485(conn_id)
開発
git clone https://github.com/daedalus/mcp-rs485.git
cd mcp-rs485
pip install -e ".[test]"
# run tests
pytest
# format
ruff format src/ tests/
# lint
ruff check src/ tests/
# type check
mypy src/
API
list_ports()
利用可能なすべてのシリアルポートを一覧表示します。
戻り値: port、description、hwid を含むポート辞書のリスト。
connect_rs485(port, baudrate=9600, parity="N", stopbits=1, bytesize=8, timeout=1.0)
RS485 デバイスへの接続を開きます。
パラメーター:
port:シリアルポートのパス(例:"/dev/ttyUSB0")baudrate:通信速度(デフォルト:9600)parity:"N"(なし)、"E"(偶数)、"O"(奇数)stopbits:ストップビット数bytesize:フレームごとのデータビット数timeout:読み取りタイムアウト(秒)
戻り値: 接続 ID 文字列。
read_rs485(connection_id, length=1024)
開いている RS485 接続からデータを読み取ります。
パラメーター:
connection_id:connect_rs485から取得した接続 IDlength:読み取る最大バイト数
戻り値: 受信データの 16 進文字列。
write_rs485(connection_id, data)
RS485 接続にデータを書き込みます。
パラメーター:
connection_id:connect_rs485から取得した接続 IDdata:16 進文字列(例:"01 03 00 00 00 0A")
戻り値: 書き込んだバイト数。
get_connection_status(connection_id)
接続状態と統計情報を取得します。
戻り値: 接続状態と統計情報を含む辞書。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。