
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 协议控制赛多利斯实验室天平,可读取重量、去皮、清零、记录漂移并执行内部校准。
- 可以做什么
- 提供读取当前净重、去皮或清零天平、以及记录一系列即时读数并给出统计摘要的工具,用于监测漂移、蒸发或稳定过程。还可锁定键盘、设置环境条件滤波器、在 isoCAL 型号上执行内部校准、断电重启后重新连接,并返回原始命令日志和连接信息。通信使用文档化的 SBI ASCII 协议,通过串口或以太网进行。
- 适用场景
- 适合让助手直接操作赛多利斯天平的场景:称取目标质量、为容器去皮、随时间监测蒸发或漂移,或在测量系列前执行内部校准。面向配有受支持天平并具备串口或以太网连接的实验台。
- 运行要求
- 以 Python 包(uvx labmcp-sartorius)通过 stdio 在本地运行,仅限桌面。需要一台受支持的赛多利斯天平,通过 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 分