
Sartorius Balance
io.github.K-Dense-AI由 GitHub 帳號 K-Dense-AI 發布v0.1.2更新於 Oct 24, 2026
MCP server for Sartorius laboratory balances (SBI protocol).
概覽
透過 SBI 協定控制 Sartorius 實驗室天平,可讀取重量、去皮、歸零、記錄漂移並執行內部校正。
- 可以做什麼
- 提供讀取目前淨重、去皮或歸零天平,以及記錄一連串即時讀值並附統計摘要的工具,用於監測漂移、蒸發或穩定過程。也可鎖定鍵盤、設定環境條件濾波器、在 isoCAL 機型上執行內部校正、電源重新啟動後重新連線,並回傳原始命令日誌與連線資訊。通訊使用文件化的 SBI ASCII 協定,透過序列埠或乙太網路進行。
- 適用情境
- 適合讓助理直接操作 Sartorius 天平的場合:秤取目標質量、為容器去皮、隨時間監測蒸發或漂移,或在量測系列前執行內部校正。面向配有受支援天平並具備序列埠或乙太網路連線的實驗檯。
- 執行需求
- 以 Python 套件(uvx labmcp-sartorius)透過 stdio 在本機執行,僅限桌面。需要一台受支援的 Sartorius 天平,透過 RS-232、USB 虛擬序列埠或乙太網路連接,並設定為 SBI 協定、手動輸出。以 LABMCP_ADDRESS 指定儀器位址;LABMCP_SIMULATE=1 可使用內建模擬器,無需硬體。無需帳號或 API 金鑰。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Sartorius Balance,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
Sartorius Balance — MCP Server
Let an AI agent weigh samples, tare containers, log drift and evaporation, and run internal adjustments on Sartorius laboratory balances through the documented SBI (Sartorius Balance Interface) ASCII protocol.
Try it without hardware
Connect your balance
- Balance setup: set the interface you use (RS232, USB-B / "PC-SBI", or Ethernet) to the SBI protocol, and set SBI data output to manual, without stability with automatic output off (factory settings on Cubis II and Entris II). With auto print on,
ESC Ptoggles the automatic output instead of sending one reading. Either line format works (16 characters, or 22 with ID code). - Serial settings: factory settings are 9600 baud, 8 data bits, odd parity, 1 stop bit, hardware handshake (Cubis II/MSE, Secura/Quintix/Practum, Entris II). The server uses these but does not enforce RTS/CTS (it keeps RTS asserted, which lets the balance transmit; USB virtual COM ports often never assert CTS). Add
?rtscts=trueto enforce it, or e.g.?bytesize=7&parity=Eif your balance is set differently. - Find the port:
uvx labmcp ports - Test the connection:
--checkprints the model, serial number and software version (ESC x1_,x2_,x3_) when the balance supports them.
Add to your MCP client
Claude Code
Claude Desktop / Cursor / Windsurf (claude_desktop_config.json, .cursor/mcp.json, …)
Add --read-only to allow weighing but block taring, zeroing and adjustment. For other clients: uvx labmcp config sartorius-balance --address /dev/ttyUSB0 --client vscode.
Tools
Safety limits
Override at launch: --limit max_series_duration_s=3600. Whatever the limit says, a single series is capped at one hour (the tool's time limit). No tool of this server moves anything or heats, so there are no hazard tools.
Example prompts
- "Tare the balance, then tell me the weight once it's stable after I add the sample."
- "Log the weight every 10 s for 5 minutes and tell me the evaporation rate in mg/min."
- "Weigh out ~250 mg: tell me how much more to add, reading every few seconds, until I'm within ±2 mg."
- "The bench is vibrating today; switch the balance filter to unstable conditions and lock the keypad."
- "Run an internal adjustment before we start the calibration curve and tell me whether it ran."
Notes
- Stability comes from the unit symbol. SBI has no explicit stability flag: the balance only sends the unit symbol (positions 12–14) when the reading is stable ("If the weighing system has not stabilized, no unit symbol is output", interface description 98647-000-53; the newer manuals list those positions as "unit symbol or space").
read_weight(stable=true)therefore pollsESC Puntil a reading with a unit arrives. Unstable readings report the last unit seen. - Line formats. The parser follows the documented fixed-width layouts: 16 characters (sign, value in positions 2–10, unit in 12–14, CR LF) and 22 characters (6-character ID code such as
N,G#,T,Stat, then the same 16). It also accepts the Cubis II "one line with full length" format, a decimal comma, and a G#/T/N weighing block (theNline is reported).High,Low,Err ###,APP.ERR,DIS.ERRandPRT.ERRare reported as clear errors. - No acknowledgements. SBI control commands (
ESC Utare,ESC Vzero,ESC Zadjust,ESC K–Nfilter,ESC O/Rkeys) produce no reply, so a balance that does not support one silently ignores it.tareandzerotherefore wait for a stable reading and check it is ~0, and report an error otherwise. - Zero vs tare.
ESC Vonly zeroes within the balance's zero-setting range (nearly empty pan);ESC Utares any load. Older balances (CP/CPA, LE, ...) only haveESC T(the tare key): start the server with--option legacy=true. - Internal adjustment (unverified).
ESC Zstarts isoCAL on balances with a built-in weight. SBI sends no completion or result message; the server watches for theCal.status (or a balance too busy to answer) and waits for a stable weight again, and reportsobserved_adjustment=falseif it never sees one. Confirm the result on the display or GLP printout. The exact status output during adjustment could not be verified in the manuals. - Identity replies (unverified format).
ESC x1_/x2_/x3_print the model, serial number and software version; their exact layout is not documented, so the text is passed through as sent. - The command log shows SBI traffic as hex (
1b 50 0d 0a=ESC P CR LF) because of the ESC character. - Not implemented: draft-shield and ionizer commands (Cubis MSE only), external adjustment (
ESC W, needs a reference weight),ESC Srestart and the function-key commands.
Hardware verification
來源:servers/chemistry/sartorius-balance/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 分