
JULABO Circulator
io.github.K-Dense-AI由 GitHub 账号 K-Dense-AI 发布v0.1.2更新于 Oct 24, 2026
MCP server for JULABO heating and refrigerated circulators (CORIO, MAGIO, DYNEO).
概览
本地 MCP 服务器,让助手通过 USB 或 RS-232 监控并控制 JULABO 加热与制冷循环器。
- 可以做什么
- 读取浴槽、安全传感器及可选外部 Pt100 温度、加热/制冷功率、设定值,以及解码后的状态或报警信息,并可查看连接信息和原始命令日志以便调试与记录。设置温度设定值,启动或停止温控与泵,每次设置后都会回读状态进行校验。轮询直至浴槽在容差内稳定达到设定时长,并返回简短温度曲线。在断电重启或重新插线后重新连接仪器。
- 适用场景
- 适用于实验室中连接了 JULABO CORIO、MAGIO 或 DYNEO 循环器的机器,希望助手将浴槽维持在目标温度、观察稳定性或解释报警。没有此类仪器或只需手动面板操作时无需使用。
- 运行要求
- 以 Python 包(uvx labmcp-julabo)通过 stdio 在本机运行,仅限桌面。需要与循环器的 USB 或零调制解调器 RS-232 连接,并在前面板启用远程控制,仪器地址通过 LABMCP_ADDRESS 提供(串口或 tcp)。可选 LABMCP_LIMITS、LABMCP_READ_ONLY 和 LABMCP_SIMULATE;内置模拟器可在无硬件时试用。
安装
在 SourceWeft 中
- 打开 控制台中的 JULABO Circulator,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
JULABO Circulator — MCP Server
Let an AI agent run JULABO heating and refrigerated circulators through JULABO's documented interface commands: read the bath and external temperatures and the heating/cooling power, set the setpoint, start and stop temperature control, decode status and alarm messages, and wait until the bath is stable at temperature.
Try it without hardware
Connect your circulator
- Enable remote control on the circulator. Without it the circulator answers queries but ignores every setting command.
- CORIO CD/CP:
MENU→IntE→rEM→USb(or232for RS-232).rOFFappears in standby. - MAGIO / DYNEO: Main menu → Connect unit → Remote control → USB or RS232. An "R" appears in the status bar.
- CORIO CD/CP:
- Cable: USB-B (the circulator appears as a virtual COM port; on Windows install JULABO's USB driver) or a null-modem RS-232 cable. RS-232 factory settings: 4800 baud, 7 data bits, even parity, 1 stop bit, hardware handshake (RTS/CTS). Interface parameters can only be changed while remote control is off. The server uses these settings but does not enforce the handshake by default (it keeps RTS asserted, which lets the circulator transmit, and USB virtual COM ports often never assert CTS); add
?rtscts=trueto the address to enforce it. - Find the port:
uvx labmcp ports - Test the connection:
--checkprints the firmware string (version) and the current status, e.g.02 REMOTE STOP.
Add to your MCP client
Claude Code
Claude Desktop / Cursor / Windsurf (claude_desktop_config.json, .cursor/mcp.json, …)
Add --read-only to allow monitoring only (stop_circulation stays available). For other clients: uvx labmcp config julabo-circulator --address /dev/ttyACM0 --client vscode.
Tools
Safety limits
The defaults suit a water bath. Set them to your bath fluid's working range, e.g. --limit min_temperature_c=-30 --limit max_temperature_c=150 for a silicone oil / glycol-rated setup. The circulator additionally enforces its own working range, warning limits and excess-temperature protection; rejections come back as errors such as -11 VALUE TOO LARGE.
Example prompts
- "Set the circulator to 37 °C, start it and tell me when the bath has been stable within ±0.1 °C for five minutes."
- "What's the bath temperature and how hard is the circulator working right now?"
- "Cool the jacketed reactor to 10 °C using the external Pt100 as the reference and let me know when it gets there."
- "Is there any alarm on the circulator? Explain what it means."
- "Stop the circulator."
Notes
- Remote control is a front-panel setting. In manual mode (
00 MANUAL STOP/01 MANUAL START) the server refuses to send settings and tells you how to enable remote control. - Every setting is verified. OUT commands have no reply, so after each one the server queries
status(to catch-08 INVALID COMMAND,-09 COMMAND NOT ALLOWED IN CURRENT OPERATING MODE,-10 VALUE TOO SMALL,-11 VALUE TOO LARGE,-13 VALUE EXCEEDS TEMPERATURE LIMITS) and reads the setpoint orin_mode_05back.stop_circulationretries once and reports an error if the circulator still says it is running. - Model differences. CORIO CD has only the basic set (actual value, power, safety sensor, setpoint, start/stop). Warning limits (
in_sp_03/04) need CORIO CP, MAGIO or DYNEO; the external Pt100 (in_pv_02) needs MAGIO or DYNEO. The server detects missing commands (no reply) and reports those values asnull. - Command pacing (unverified). The manuals give no minimum time between commands. The server waits
command_delay_s(default 0.25 s) after each setting command before checkingstatus; change it with--option command_delay_s=0.5if your circulator misses commands. - Watchdog. MAGIO/DYNEO circulators have a watchdog configured in their own menu (mode, timeout, fallback setpoint, reset on "setpoint only" or "all valid commands"). The server does not configure it. With restart mode "all valid commands" you can keep it fed while the server runs with
--option keepalive_s=10(queriesstatusevery 10 s). JULABO's alarm list notes that it expects the setpoint at least every 30 s in "setpoint" restart mode, which this keep-alive does not do. - Status and alarm texts are decoded from the code (
-01,-14,-63, ...) using the alarm tables in the manuals; the exact wording the circulator sends is passed through unchanged. - Not implemented: pump stage/capacity (
out_sp_07/27), warning-limit writes (out_sp_03/04), controller parameters (out_par_*), external/internal control switch (out_mode_04), EPROG and ATC calibration commands.
Hardware verification
来源:servers/chemistry/julabo-circulator/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 分