MCP

用 serial-mcp-server 枚舉並自動化串列埠流程

適合要讓助手或腳本造訪本機串列埠、並用 JSON 巨集重放時序的人,前提是 Rust 1.74+,第一次先 list-ports,不要對未知連接埠寫入。

官方來源 · serial-mcp-server

安裝

cargo build --release

適合誰

如果你要讓助手或腳本造訪串列埠/UART,並且希望同一套流程既能當 MCP 工具、也能當命令列用,serial-mcp-server 對口。它提供 MCP stdio 服務,以及可腳本化的 CLI,給 CI 和無需設定 MCP 的 agent skill 用。當前發布目標是 0.3.0。

它適合本機已有 Rust 1.74 或更新版本、並且在做硬體操作時能提供串列埠裝置或 USB 轉串列埠轉接器、還具備該連接埠系統權限的人。倉庫:

https://github.com/adancurusul/serial-mcp-server

只想在瀏覽器裡點一點、沒有編譯環境的人先停——官方入口是克隆後 cargo build --release。

3 分鐘完成第一次嘗試

官方主路徑是從源碼編譯。先決條件:Rust 1.74+。第一次不要接真實裝置:只枚舉本機連接埠,避免誤寫串列埠。

安裝位置是克隆下來的倉庫根目錄:

git clone https://github.com/adancurusul/serial-mcp-server.git
cd serial-mcp-server
cargo build --release

二進位在 target/release/serial-mcp-server。也可 cargo install --path . --locked 裝到 PATH,但第一次用倉庫裡編好的二進位即可。

低風險第一次呼叫:

serial-mcp-server list-ports --json

這是唯讀枚舉,不向裝置寫資料。也可先跑 serial-mcp-server --help 確認命令在。不要把文件裡的連接埠佔位符當成真實裝置名去寫。

可觀察成功訊號:list-ports --json 打出 JSON 連接埠(可以為空),行程正常退出。若權限不足,先解決作業系統對所選串列埠的權限,不要換未寫明的啟動器。

使用案例

案例一:先看有哪些口,再對其中一個做探測。對應命令是 list-ports --json,以及帶 --baud 115200 --json 的 probe。連接埠名必須來自該輸出,不要手寫虛構路徑。probe 會造訪硬體,確認裝置已接好再執行。

案例二:把多步時序收成 JSON 巨集。裝置常常要:發命令、等幾毫秒、讀到提示或應答、再發下一條。巨集包記錄該過程,可供人、CLI 或助手做 macro validate、macro list、macro plan,並在無硬體時模擬。MCP 側也有記憶體中的巨集包載入/枚舉/卸載、plan 與 run。真正 macro run 或 write/read 會操作真實連接埠,先確認連線再跑。

使用邊界

0.3.0 把 Quick 移出了公共 API;Quick 風格的用法應寫成巨集。不要再找 Quick 介面。

write 預設示例資料是 H,並帶 --read --timeout-ms 1000 --json;這會向連接埠傳送資料。超時和鮑率摘錄只示範了 115200 與 1000 ms,不是所有裝置的安全預設值。

沒有寫圖形介面或雲端串列埠。MCP 是 stdio。未點名用戶端。巨集可以先模擬,但 run 仍可能改變裝置狀態。權限不夠或沒有驅動時,硬體命令會失敗。