
Alicat Mass Flow & Pressure Controller
io.github.K-Dense-AI由 GitHub 帳號 K-Dense-AI 發布v0.1.2更新於 Oct 25, 2026
MCP server for Alicat mass flow and pressure meters/controllers.
概覽
此 MCP 伺服器讓助理透過 ASCII 序列埠連線讀取並控制 Alicat 質量流量計、流量控制器與壓力控制器。
- 可以做什麼
- 讀取即時資料幀:質量流量、體積流量、壓力、溫度、設定值、目前氣體與狀態碼,以及裝置身分、單位與滿量程,並可查看原始命令日誌以利除錯。記錄讀值時間序列並提供平均值、標準差、最小值與最大值,用於穩定性或穩定時間檢查。變更控制器設定值以啟動、調整或停止流量或壓力,並保持、釋放或關閉閥門。切換氣體校正,並對流量或壓力讀值執行歸零。在斷電或更換線材後重新連線儀器。
- 適用情境
- 適用於 Alicat 流量計或控制器連接到執行助理的電腦,且你希望以對話方式讀取資料、變更設定值、切換氣體、歸零或做短時間記錄,而不必手動操作前面板時。內建模擬器可在沒有硬體時試用。
- 執行需求
- 以 Python 套件(uvx labmcp-alicat)在桌面本機執行。需要與儀器之間的序列埠或序列轉乙太網路連線,透過 LABMCP_ADDRESS 或位址參數指定;裝置須處於輪詢模式並設定單元 ID,控制器還需將設定值來源設為序列埠。選用環境變數 LABMCP_LIMITS、LABMCP_READ_ONLY 與 LABMCP_SIMULATE。不需帳號或 API 金鑰。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Alicat Mass Flow & Pressure Controller,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
Alicat Mass Flow & Pressure Controller — MCP Server
Let an AI agent read gas flow, pressure and temperature, set flow or pressure setpoints, switch the gas calibration, tare, and hold or close valves on Alicat Scientific mass flow meters and controllers and pressure controllers through Alicat's documented ASCII serial protocol.
Try it without hardware
The simulator is an MC-500SCCM-D on firmware 10v20 flowing N2, with a first-order flow response, a small sensor zero offset (remove it with tare_flow) and realistic data frames.
Connect your instrument
- Instrument setup: the factory settings are unit ID A, 19200 baud, 8 data bits, no parity, 1 stop bit, no flow control (MENU → SETUP → RS-232 Serial / RS-485 Serial). If several devices share one RS-485 port, give each a different unit ID. The device must be in polling mode (a letter ID, not
@streaming). - Controllers: set MENU → CONTROL → Setpoint Setup → Setpoint Source to Serial/Front Panel. With an analog setpoint source the controller silently ignores serial setpoints (
get_device_infowarns about this). - Find the port:
uvx labmcp ports - Test the connection:
Non-default baud rates go in the address:
serial://COM4?baudrate=115200.
Add to your MCP client
Claude Code
Claude Desktop / Cursor / Windsurf (claude_desktop_config.json, .cursor/mcp.json, …)
Add --read-only to allow reading flow but block setpoints, gas changes, tares and valve holds (close_valve stays available). For several devices on one bus, add one server entry per unit ID (--option unit_id=A, --option unit_id=B, ...). For other clients, generate the snippet with uvx labmcp config alicat --address /dev/ttyUSB0 --client vscode.
Tools
get_connection_info, get_command_log and reconnect are built into every LabMCP server.
Safety limits
Override at launch, e.g. --limit max_setpoint=500. The default of 100 is deliberately conservative: on a 500 SCCM controller it caps the agent at 100 SCCM until you raise it.
Example prompts
- "What is this controller, what gas is it set to, and what are its units and full scale?"
- "Set the N2 flow to 50 SCCM, log it every 0.5 s for 30 s and tell me how long it took to settle within 1%."
- "Switch the controller to CO2, then ramp the setpoint 0 → 20 → 40 → 60 SCCM, holding each step for 2 minutes, and summarise the mean flow and pressure at each step."
- "The flow reads 0.8 SCCM with the gas off. Close the valve, then tare the flow sensor."
- "Something is wrong with the bioreactor gassing: stop the flow now."
Notes
- Data frame parsing. On connect the server asks the device for its data-frame definition (
??D*) and parses every poll against it, so field names, order and engineering units come from the device itself (both the 6v+ column table and the older pre-6v table are understood). If a device does not answer??D*, frames are parsed by position using the default layouts in the Serial Primer (p. 8) and the manual;layout_sourcein every reading says which method was used. - Setpoints use
LSon firmware 9v00+ andSon older firmware. After every change the reply is checked: if the controller reports a different requested setpoint (out of range, negative on a unidirectional device, or an analog setpoint source), the tool reports an error with what the device is now using. close_valvesets the flow setpoint to 0 (on a flow controller this closes the valve) and then sendsHC(hold valves closed, firmware 5v07+), and confirmsHLDin the reply. On a pressure controller it only sendsHC, because a 0 pressure setpoint can open valves depending on the zero-pressure-control setting (Serial Primer p. 17).resume_control(C) releases the hold; it is marked as a hazard because flow restarts at the current setpoint.- Tares must be done with no flow.
tare_flowandtare_pressurerefuse if a flow controller's setpoint is not 0, or if the device still reads more than 2% of full scale. They cannot detect every unsafe situation (e.g. a meter with a small real flow), so still shut the gas off first. Gauge-pressure tares need the port open to atmosphere; absolute tares need the barometer option and an unpressurised line. log_flow_seriessave_pathmust be a new.csvfile:~is expanded, missing folders are created, and an existing file is never overwritten. The path is checked before logging starts.- Gas selection uses
GS(10v05+, not saved as the power-up gas unlesssave_as_power_up) or the olderG. Only gases installed on the device are accepted;list_gasesshows them. - Safety guard: a unit ID followed by digits (e.g.
A49408) is Alicat's legacy integer setpoint command. The driver refuses to send anything of that shape. - Meters and gauges silently ignore controller commands; the server refuses controller tools on devices whose data frame has no setpoint.
- Not supported: GP-firmware devices (they need
$$after the unit ID), streaming mode (@), Modbus/Profibus/EtherNet/IP variants, totalizer, batching, PID tuning and COMPOSER mix creation. - Frame layouts and reply formats were cross-checked against replies captured on real 5v12 to 10v20 devices published by the open-source alicatlib project and the numat/alicat driver.
Hardware verification
來源:servers/engineering/alicat-flow-controller/README.md,提交 46545ea
工具
0版本歷史
2- v0.1.2最新Sep 27, 2026
- v0.1.0Sep 26, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分