PortDock MCP について
PortDock MCP は、Windows でフィールド機器のデータを読み取る AI クライアント向け MCP サーバーです。シリアル、Modbus、MC、SCPI、機器情報に対応し、書き込み先はローカルシミュレーターに限定されます。
主な機能
- 01COM ポートと機器レポートの読み取り
- 02送信せずにシリアルを監視
- 03Modbus FC 01–04 と MC 3E の読み取り
- 04SCPI クエリの送信とホストへの ping
- 05制限付きでローカルシミュレーターへ書き込み
- 06呼び出しごとのローカルセッションログ
活用シーン
- 01AI クライアントで COM ポートやドライバーレポートを確認
- 02対応機器から Modbus または MC の値を読み取り
- 03サーバー経由で SCPI 計測器に問い合わせ
- 04ローカルシミュレーターを使った書き込み操作の練習
MCP 対応
stdio の MCP サーバーとして、PortDock の通信・検査機能を AI クライアントに公開します。書き込みツールはローカルシミュレーター専用で、Modbus 書き込みには追加の対象チェックがあります。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
PortDock
Windowsで現場のハードウェアをテストするための、無料の通信ツールです。各ツールは個別にダウンロードできる小さなアプリケーションで、共通の通信・デコードコアを使用します。
| ツール | 機能 |
|---|---|
| PortDock Serial | シリアル(COM)ターミナル — RS-232/RS-485/USB シリアル、信号線(DTR/RTS/CTS/DSR/RI/CD)、USB の抜き差し後の自動再接続、フレーミング、チェックサム(9 種類とカスタム CRC)、Modbus RTU のデコードとリクエストビルダー、自動応答、タイムスタンプ付きテストログ。0.10.0 からはポート共有(COM ↔ TCP、Raw または RFC 2217、デフォルトでは 127.0.0.1 の TCP 7000)、Modbus TCP ↔ RTU ゲートウェイ(Modbus TCP 経由で SCADA/HMI から RS-485 デバイスに接続、デフォルトでは 127.0.0.1 の TCP 502、一度に 1 リクエスト、タイムアウト時は例外 0B、ユニット ID 0 は RTU ブロードキャストを選択しない限り例外 0A で応答 — 許可ユニットリストを指定する場合は、リストに 0 を含めます)、および Modbus RTU の受信専用スニッフィング(CRC フレーミング、リクエスト/応答のペア、応答時間)に対応 |
| PortDock Modbus Slave | シリアル RTU、Modbus TCP、または TCP 上の RTU による Modbus スレーブシミュレーター — コイルとレジスターのテーブル(32 ビット、浮動小数点、文字列セル)、値のシミュレーション(0.10.0 からはノイズにも対応 — 制限値内でゆっくりランダムに変動)、障害注入、組み込みデバイスプロファイル(0.10.0 からは、実際の値を使った「Emulate device…」に対応 — コマンド実行 → 出力周波数の上昇、エネルギーの累積 — 読み取り専用/書き込み専用の強制、マップにないアドレスへの例外 02)、CSV レジスタマップ、マスターから届いたリクエストの表示。Modbus TCP は選択したアドレスで待ち受けます(0.10.0 から、初回起動時は 127.0.0.1 — 別の PC 上のマスターから接続するには 0.0.0.0 またはアダプターのアドレスを選択してください) |
| PortDock TCP | TCP クライアント、サーバー、リレー(モニター) — 複数のピア、エコー、自動再接続、Modbus TCP フレーミング、pcapng 形式で保存されるリレーキャプチャ(Wireshark で開けます)、応答時間と無応答数を含む Modbus TCP および MC のリクエスト/応答ペア |
| PortDock UDP | UDP 送受信 — ブロードキャスト、マルチキャスト、エコー |
| PortDock Simulator | シリアル、TCP、UDP 経由のルールベースのデバイスシミュレーター — 「これを受信したら、これを返す」 |
| PortDock Net Scan | 産業用ネットワーク上のデバイスを検出します。ping/ARP スイープ、MAC ベンダー、産業用ポート(Modbus 502、MC、XGT …)、長期 ping モニター、Wake-on-LAN に対応。0.10.0 からは名前付きベースラインに対応 — スキャン結果を保存済みのデバイスリストと比較します(新規、欠落、MAC 変更、IP 変更、開いているポートの変更。CSV)。0.10.0 からは、認証のない産業用プロトコル(Modbus、MC、EtherNet/IP、S7、OPC UA)または Telnet/HTTP が開いているポートに含まれる場合に、露出に関する注記を表示します — 追加スキャンは行いません。0.11.0 からは、要求に応じたブロードキャスト検出に対応 — 選択したアダプターのブロードキャストアドレスに EtherNet/IP ListIdentity(UDP 44818)と BACnet Who-Is(UDP 47808)を送信します。ベンダー、デバイスタイプ、製品名とリビジョン/デバイスインスタンス、ベンダー ID、最大 APDU を表示します(シリアル番号は表示しません) |
| PortDock Modbus Master | Modbus RTU/TCP マスター(ポーリングツール):複数のポーリングテーブル、型付きの値(U16–F64、文字列、バイト順、40001 表記)、書き込み 05/06/0F/10、スレーブ ID とアドレス範囲のスキャン、組み込みデバイスプロファイル、デコード済み通信、統計、CSV 値ログ、トレンドに対応。0.10.0 からは回線設定の検索(不明なボーレート/パリティ/ID — 組み合わせごとに短い読み取りを行い、ID 0 は使用しません)、「応答なし」の原因候補パネル(バイトなし、エコーのみ、CRC エラー、フレームの切り詰め、例外、別の ID)、デバイス設定のバックアップ、比較と復元(JSON/CSV、書き込み前後のプレビューと読み戻し確認)、値の監視とアラーム(ヒステリシス付き下限/上限、N 秒間の値の固定、N 秒間の通信断。確認機能付きアラーム一覧、任意のサウンド、アラーム CSV ログ — 監視用の補助機能であり、安全装置ではありません)に対応 |
| PortDock SCPI | LAN ソケット(5025)または RS-232 経由の SCPI 計測器ターミナル。VISA 不要:応答時間付きのクエリ/書き込み/読み取り、*IDN? による識別、エラーキューの読み出し、*OPC? 待機、数値の繰り返し測定(テーブル、トレンド、CSV)、HEX プレビューとファイル保存に対応するブロックデータ(#…) |
| PortDock Plot | シリアル、TCP、UDP から受信した数値をリアルタイムにプロットします。カンマ/スペース/タブ/セミコロン区切りのテキスト(自動検出)、Arduino 形式の name:value、ヘッダー名、バイナリフレーム(開始バイト、u8–f64、エンディアン、チェックサム)に対応。左右の軸に最大 32 チャンネルを表示し、一時停止、カーソル、2 点間の Δt/Δvalue、ズームが可能です。統計、受信中の CSV 記録、CSV/PNG エクスポートに対応。0.10.0 からはチャンネルごとの監視とアラーム(制限値、値の固定、データ断)にも対応 |
| PortDock Port Inspector | 管理者権限不要の読み取り専用 COM ポートインスペクター:デバイスとドライバー(プロバイダー、バージョン、日付、INF)、デバイスマネージャーの問題コードとその意味、試すべき対処法、VID/PID による USB チップの特定(FTDI、Prolific、WCH、Silicon Labs …)、FTDI のレイテンシタイマーなどのデバイス設定、USB 省電力、イベントログから確認できる接続とドライバーの履歴、COM 番号の予約(孤立した番号や重複番号)を表示します。ボーレートごとの TX–RX ループバックテスト(欠落/変化したバイト、往復時間 ms)と 2 線式 RS-485 エコーチェックにも対応。0.10.0 からは 2 ポートテスト(2 つのアダプターを相互に接続し、両方向をテスト)、パターン(0x00–0xFF、0x55/0xAA)、テキストの配線図に対応 — Serial の「Check connection…」からも利用できます。0.10.0 からは「Compare with last time」にも対応(チェック結果を保存し、後で変更点のみを確認できます:COM 番号、ドライバーバージョン/日付、USB の場所、アダプターと PC の設定、新しいブルースクリーン — シリアル番号は保存しません)。このほか、この PC のネットワークアダプター(リンク速度、デュプレックス、ジャンボフレーム、省電力、GigE カメラモード)、機器用 PC の Windows 設定(高速スタートアップ、スリープ、更新による再起動、時刻同期、予期しないシャットダウン。0.10.0 からはブルースクリーンと突然のシャットダウン — 停止コード、Kernel-Power 41、EventLog 6008、Minidump ファイルは件数のみ —、NVMe ストレージの状態、PC をスリープから復帰させた原因、バッテリー容量、現場 PC の露出チェック — リモートデスクトップ/NLA、SMBv1、ファイアウォールプロファイル、全アドレスで待ち受けるポート、自動サインイン、USB AutoPlay)、およびワイヤレス(Wi-Fi アダプターの省電力と切断履歴、Bluetooth アダプター、サービス、ハンズフリーオーディオ)のタブもあります。テキスト/JSON にエクスポートできます。設定を変更することはありません |
| PortDock PLC Simulator | 三菱電機の公開マニュアルに基づいて実装された MC プロトコル(SLMP)サーバーシミュレーター(提携関係はなく、実際の PLC と動作が異なる場合があります) — 3E/4E フレーム、バイナリ/ASCII、TCP サーバーまたは UDP、一括およびランダムな読み書きとループバック、16 進表記の X/Y/B/W/ZR を含む 18 種類のデバイス(D、W、R、ZR、M、X、Y、B、L、SM、SD …)、エンドコードエラー応答、障害注入、値のシミュレーション、JSON の保存/読み込みに対応。0.10.0 からは LS ELECTRIC 専用 XGT プロトコル(FEnet、TCP 2004/UDP 2005)にも応答できます — %MW・%MX・%DB…変数の個別および連続読み書きに対応します。LS ELECTRIC の公開マニュアルに基づいていますが、提携関係はありません。デフォルトでは 127.0.0.1 で待ち受けます。「Allow other PCs to connect (0.0.0.0)」を有効にすると、ネットワークから接続できるようになります。 |
| PortDock Hardware Tester | Windows PC 向けの Wi-Fi、Bluetooth、USB 記録ツール。読み取り専用で、管理者権限は不要です。記録中に限り、ゲートウェイとインターネット上の 1 つのアドレスに並行して ping を送信し(遅延、損失、ジッター)、DNS 応答時間と Windows が記録する Wi-Fi 切断理由を同じタイムラインに表示します。「ルーター側/ルーターより先」の概要で確認すべき場所を示し、CSV にエクスポートできます。ペアリング済み Bluetooth デバイスの接続/切断ログ(名前は画面にのみ表示)、Bluetooth オーディオモード(ステレオまたはハンズフリー)の左右テストトーンにも対応します。要求に応じて Wi-Fi 信号、リンク速度、バンド、チャンネル、およびチャンネルごとの近隣ネットワーク数を表示します(Windows 11 24H2 以降では位置情報の許可が必要です。ネットワーク名は読み取りません)。0.10.0 からは USB の接続/切断ログにも対応します(デバイス通知と 3 秒ごとのリスト確認。名前、VID:PID、ハブポート、速度。「10 分以内に 3 回切断」の「切断繰り返しの疑い」、USB 3 デバイスが USB 2.0 の速度で動作している状態、Kernel-PnP ログの「以前の記録」に対応 — デバイスのシリアル番号は表示、コピー、保存しません)。キーボード、マウス、モニター、スピーカー、マイク、ウェブカメラ、ゲームパッドのテストには、ウェブサイトのPC hardware testsをご利用ください(ブラウザーで実行、インストール不要)。 |
| PortDock MCP | AI クライアント(Claude Desktop、VS Code、Cursor …)向けの MCP サーバー。ウィンドウを表示せず、stdio を使用します。AI が COM ポートと Port Inspector のレポートを読み取り、シリアルポートをリッスンし(何も送信しません)、Modbus(FC 01–04)、MC プロトコル 3E(0401)、SCPI クエリ、ping、ネットワークアダプター、組み込みデバイスのレジスタマップを読み取れるようにします。2 つの書き込みツールが受け付けるのは 127.0.0.1(この PC)のみで、シミュレーターを使った練習用です。0.10.0 からは modbus_write_sim も、対象のベンダー名が「PortDock」で始まる場合に限って書き込みを行います(Read Device Identification、FC 2B/0E — PortDock Modbus Slave はデフォルトでこの識別情報を返します)。そのため、PortDock Serial の Modbus TCP ↔ RTU ゲートウェイ(デフォルトでは 127.0.0.1:502)のように実機へ転送するものは拒否されます。mc_write_sim はアドレスのみで確認されます(Serial ゲートウェイが転送するのは Modbus のみです)。そのため、この PC 上のプログラムが別のデバイスへ転送している間(TCP リレー、ゲートウェイ、トンネル)は使用しないでください。すべての呼び出しはローカルのセッションログに保存されます。詳細:docs/mcp.md |
| 全12種類のアプリ:ヘッダーの「AI」ボタンを押すと、現在の状況(接続設定、エラー、最近の通信、チェック結果)がテキストとしてクリップボードにコピーされ、AI チャットに貼り付けられます。PortDock は何も送信しません(ユーザーフォルダー、PC 名、MAC アドレスの末尾部分、パブリック IP は非表示になります)。 |
画面の言語:12言語 — 韓国語、英語、日本語、ドイツ語、スペイン語、ポルトガル語(ブラジル)、ポーランド語、フランス語、ベトナム語、トルコ語、イタリア語、インドネシア語。初回起動時は Windows の表示言語に従います(それ以外の言語の場合は英語で起動します)。ヘッダーまたは設定から変更できます。ヘルプは韓国語と英語で提供されるため、その他の画面言語では英語のヘルプが表示されます。
ウェブサイト:https://portdock.dev
ダウンロード
GitHub Releases から最新バージョンを入手してください。ファイル名は変わらないため、以下のリンクから常に最新リリースを入手できます。
Windows 10/11、x64。
AI クライアント向け MCP サーバー:PortDock-MCP.mcpb(Claude Desktop で開いてインストール)または PortDock-MCP.zip(portdock-mcp.exe — クライアントの command にこのファイルを指定します)。セットアップ:portdock.dev/en/guides/portdock-mcp/。
Scoop を使用する場合(ポータブル版):scoop bucket add portdock https://github.com/portdock/scoop-bucket → scoop install portdock/portdock-serial(MCP サーバー:portdock/portdock-mcp、アプリ名:scoop-bucket)。
インストーラー版とポータブル版
- インストーラー版(
-setup.exe)— 現在のユーザーにのみインストールされるため、管理者権限は不要です。PortDock の下にスタートメニューの項目とアンインストーラーが追加されます。 - ポータブル版(
-portable.zip)— USB メモリや共有フォルダーなど、任意の場所に展開して exe を実行します。インストールは不要です。設定は exe と同じ場所にあるportdock-dataフォルダーに保存されます。このフォルダーには書き込み権限が必要です。
「Windows によって PC が保護されました」と表示される場合
ビルドにはまだコード署名がありません。そのため、初回起動時に Microsoft Defender SmartScreen の警告が表示されることがあります。詳細情報 → 実行をクリックしてください。実行する前に、公開したファイルと同じものであることを確認できます。
Get-FileHash .\PortDock-Serial-setup.exe -Algorithm SHA256
結果を、同じリリースに添付されている SHA256SUMS.txt 内の同じファイル名の行と比較してください(ファイル名の前にある 64 文字が一致する必要があります。大文字と小文字は区別されません)。各リリースのノートには、Microsoft Defender のスキャン結果も記載されています。
WebView2
PortDock は Microsoft Edge WebView2 を使用してウィンドウを描画します。WebView2 は Windows 11 に組み込まれており、最新の Windows 10 には通常インストールされています。
- インストーラーは、WebView2 が見つからない場合に自動でダウンロードします(インターネット接続が必要です)。
- オフライン PC:WebView2 ランタイムを同梱した
PortDock-<App>-setup-offline.exeを使用してください(合計で約 220 MB です。通常のインストーラーは約 4 MB、ポータブル版の zip は約 3 MB です)。または、別の PC で Evergreen Standalone Installer(https://developer.microsoft.com/microsoft-edge/webview2/)をダウンロードしてコピーし、インストールしてから PortDock をインストールまたは実行してください。ポータブル版は WebView2 をインストールしません。
データの保存場所
| 設定、コマンドリスト、ルール(WebView2 データ) | エラーレポート | |
|---|---|---|
| インストール版 | %LOCALAPPDATA%\dev.portdock.<tool>(例:dev.portdock.serial) | %LOCALAPPDATA%\dev.portdock.<tool>\reports |
| ポータブル版 | exe と同じ場所にある portdock-data\ | exe と同じ場所にある portdock-data\reports\<tool>(このフォルダーに書き込み権限がない場合は、インストール版と同じ場所) |
設定 → 設定をエクスポート を選ぶと、別の PC に移動できる 1 つの JSON ファイルにすべての設定が保存されます。ログファイルは、選択した場所に保存されます。
チェック
すべてのプッシュとプルリクエストは Windows 上でチェックされます(ci.yml):12 個すべてのアプリのフロントエンドビルドと型チェック、346 件の Node テスト(shared/、アプリ、ツール)、デバイスレジスターマップのチェック(86 台のデバイス、3427 個のレジスター)、警告をエラーとして扱う cargo clippy、467 件の Rust テスト(459 件を実行、8 件をスキップ)、サードパーティーに関する通知とインストーラーのテキストのチェック、さらにウェブサイトのチェック、テスト、ビルド、およびビルド済みページのチェック(タイトル、リンク、構造化データ、サイトマップ)が行われます。コードの構成についてはdocs/ARCHITECTURE.md、コントリビューション方法についてはCONTRIBUTING.mdをご覧ください。
ソースからビルドする
必要なもの:Windows 10/11、Node.js 22 以降、Rust(stable、MSVC)、Visual Studio Build Tools の「C++ によるデスクトップ開発」、WebView2。
git clone https://github.com/portdock/PortDock
cd PortDock
npm install
npm run serial # run in development mode (also: modbus-slave, tcp, udp, simulator, netscan, modbus-master, scpi, plot, port-inspector, plc-simulator, hw-tester)
npm run build:serial # installer → target\release\bundle\nsis\
cargo test --workspace # tests
# portable build (data next to the exe)
npm run tauri -w portdock-serial -- build --no-bundle --config "$PWD\tools\portable.conf.json"
構成:apps/<tool>(各ツールのウィンドウと Tauri シェル)、crates/core(共有 Rust:チェックサム、HEX/ASCII、フレーミング、Modbus、自動応答、セッション)、crates/mcp(PortDock MCP — docs/mcp.md)、shared/(共有 UI)、site/(portdock.dev)。リリース手順:docs/release.md。
コード署名ポリシー
ステータス:現在、署名されていません。 現在のリリースには署名がありません。オープンソース向け署名プログラム(SignPath Foundation など)への再申請を予定しています。署名を開始した際には、以下の適用範囲と役割が適用されます。
- 署名対象:このリポジトリから GitHub Actions(release.yml)でビルドされた、PortDock 独自のプログラムのみです。署名する前に、すべてのリリースを手動で承認します。
- チームの役割 — PortDock には現在、すべての役割を担うメンテナーが 1 名います(組織のメンバーリストは公開されていません)。
- コミッターとレビュアー(作成者、レビュアー):メンテナー。他のユーザーからのプルリクエストは、マージ前にレビューします
- 承認者:メンテナー
- プライバシー:ユーザーまたはインストールや運用を行う人が明示的に要求しない限り、このプログラムが他のネットワーク接続システムに情報を転送することはありません。デバイスの通信先は、ユーザーが指定した場所のみです。サーバーは、ユーザーが起動した場合にのみ待ち受けます。シリアルポート共有(デフォルトで TCP 7000)、Modbus TCP ↔ RTU ゲートウェイ(デフォルトで TCP 502)、PLC Simulator(MC は TCP 5000、XGT は TCP 2004/UDP 2005)は、「Allow other PCs to connect」を有効にしない限り、127.0.0.1 のみで待ち受けます。Modbus Slave TCP、TCP サーバー/リレー、Simulator は、アドレス欄に指定されたアドレスで待ち受けます(初回起動時は 0.10.0 127.0.0.1。他の PC から接続する場合は 0.0.0.0 またはアダプターのアドレスを選択してください。設定は保存されます)。UDP はデフォルトで 0.0.0.0 で待ち受けます(デバイスからの応答を受信する必要があるためです)。詳しくは SECURITY.md をご覧ください。この PC のみに書き込まれるデータ(アプリのストレージ — 設定のエクスポート ではその内容がファイルにコピーされます — またはユーザーが選択したファイル。送信されることはありません):Net Scan のベースライン(各デバイスの IP、完全な MAC アドレス、ホスト名、開いているポート)、Port Inspector の保存済みチェック(最大 20 件。ネットワークアダプターの IP とゲートウェイを含み、シリアル番号と PC 名は含みません)、Modbus Master のデバイス設定バックアップ(JSON/CSV)、Modbus Master と Plot のアラーム CSV ログ、Hardware Tester の USB ログ(デバイス名と VID:PID。シリアル番号は含みません)。Hardware Tester は、記録中のみ、ゲートウェイとユーザーが選択したインターネット上のアドレス 1 つ(デフォルトは 1.1.1.1。8.8.8.8 または任意のアドレスを指定できます)に ping を実行し、DNS サーバーで名前を 1 つ(デフォルトは example.com)検索します。Wi-Fi 信号の読み取り(ボタンを押した場合のみ)には、Windows 11 24H2 以降で Windows の位置情報のアクセス許可が必要です。Bluetooth デバイス名は画面にのみ表示され、保存または送信されることはありません。エラーレポートは、「!」レポートウィンドウで送信ボタンを押すか、エラーレポートの自動送信 を 自動的に送信 に設定した場合にのみ Sentry に送信されます(デフォルト:クラッシュ後に確認)。匿名の使用統計情報(機能の使用回数、起動時間、プログラム/Windows のバージョン、表示言語、インストール版/ポータブル版。通信内容、IP アドレス、ポート、COM 名、ファイルパス、PC/ユーザー/デバイス名は含みません)は、初回起動時の確認で 送信 を選択した場合、または設定で 使用統計情報を送信 を有効にした場合にのみ、ウィンドウを閉じると Aptabase(EU)に送信されます(デフォルト:オフ)。更新の確認では、設定で 新しいバージョンを確認する(1 日 1 回) を有効にした場合にのみ、最新リリースを取得するため GitHub API(api.github.com)に 1 日 1 回問い合わせます(データは送信されず、ダウンロードやインストールも行われません。デフォルト:オフ)。WebView2 が見つからない場合、オンラインインストーラーが Microsoft からダウンロードします。ヘッダーの「AI」ボタン(AI に質問するためにコピー)では、プレビューのテキストがクリップボードにコピーされるだけで、何も送信されません。貼り付けると、その AI サービスに送信されます。ユーザーフォルダー、PC 名、MAC アドレスの末尾 3 バイト、パブリック IP アドレスは非表示になります。プライベート IP アドレスはユーザーが選択した場合にのみ非表示になり、テキストは 8,000 文字までに制限されます。詳細:プライバシーポリシー · Sentry のプライバシーポリシー · Aptabase のプライバシーポリシー · GitHub のプライバシーに関する声明 · Microsoft のプライバシーに関する声明(WebView2)。インストーラーはライセンスページにこの通知を表示します。
ライセンス
Copyright (C) 2026 PortDock
PortDock はフリーソフトウェアです。GNU General Public License version 3(LICENSE)の条件に基づいて再配布および変更できます。いかなる保証も一切ありません。
デバイスレジスターマップのデータ(data/devices)とそのデータセットバンドルは、CC BY 4.0(data/devices/LICENSE)のライセンスで提供されています。
サードパーティ製コンポーネントとそのライセンスは、THIRD_PARTY_NOTICES.txt に記載されています。このファイルは各プログラムに同梱されています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。