
Tecan Cavro Syringe Pump
io.github.K-Dense-AI由 GitHub 账号 K-Dense-AI 发布v0.1.3更新于 Oct 24, 2026
MCP server for Tecan Cavro syringe pumps (XLP 6000, XMP 6000, XCalibur) over the DT protocol.
概览
该 MCP 服务器让助手通过 DT 协议控制 Tecan Cavro 注射泵:初始化、吸液、排液、切换阀口和停止。
- 可以做什么
- 初始化泵、归位阀门,并在断电重启或重新插线后重连;提供终止命令立即停止柱塞运动(之后需重新初始化)。按指定流速通过当前或指定阀口吸取和排出设定微升体积,并等待每次动作完成。将阀门切换到命名或编号端口。读取状态:就绪或忙碌、解码后的错误、柱塞内液体体积、阀位、分辨率模式和最高速度。查看连接身份、只读状态和生效的安全限制,并查阅原始命令日志用于调试或记录。
- 适用场景
- 适合让助手在实验台上操作 Cavro XLP 6000、XMP 6000 或 XCalibur 泵进行预充、样品转移或小体积分液,也适合先在内置模拟器上试用流程再接触真实硬件。
- 运行要求
- 以 Python 包(labmcp-cavro,通过 uvx 启动)在本地经 stdio 运行。需要与泵的串口或串口转以太网连接,通过 LABMCP_ADDRESS 或 --address 指定。真实硬件上必须以选项提供注射器体积和泵型号(或每行程步数)。LABMCP_SIMULATE=1 使用内置模拟器,无需硬件;LABMCP_READ_ONLY=1 禁用改变状态的工具;LABMCP_LIMITS 可覆盖安全限制。
安装
在 SourceWeft 中
- 打开 控制台中的 Tecan Cavro Syringe Pump,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
Tecan Cavro Syringe Pump — MCP Server
Let an AI agent initialize, aspirate and dispense microlitre volumes at set flow rates, switch valve ports and stop Tecan Cavro OEM syringe pumps through the documented Cavro Data Terminal (DT) protocol.
Try it without hardware
The simulator is an XLP 6000 with a 1 mL syringe and a 3-port valve. Moves take real time; add --option sim_speed=10 to speed it up.
Connect your pump
- Pump setup: set the address switch (switch 0 is DT address
1, switch 1 is2, … switch 8 is9, switches 9–E are:;<=>?). The pump detects DT versus OEM protocol from the first message after power-up. The default is 9600 baud, 8N1; 38400 baud is selected with theU47configuration command. - Tell the server what is installed. The pump cannot report its syringe, so these options are required on real hardware:
--option syringe_ul=1000: syringe volume in µL.--option model=xlp6000(orxmp6000, 6000 increments per stroke;xcalibur, 3000). For another DT-compatible pump, give--option steps_per_stroke=<increments per full stroke in standard mode>instead.- Optional:
--option resolution=fine(N1, 8× finer volume steps; applied byinitialize) and--option pump_address=2.
- Find the port:
uvx labmcp ports - Test the connection:
Non-default baud rates go in the address:
serial://COM3?baudrate=38400.
Add to your MCP client
Claude Code
Claude Desktop / Cursor / Windsurf (claude_desktop_config.json, .cursor/mcp.json, …)
Add --read-only to allow status reads but block every move.
Tools
Safety limits
Override at launch: --limit max_flow_ul_s=50. Independently of the limits, the server refuses moves that would overfill or over-empty the syringe, and flows the pump cannot produce with the installed syringe (top speed 5–6000 pulses/s).
Example prompts
- "Initialize the pump, then prime it: aspirate 1 mL from the input port and dispense it to the output port, three times."
- "Aspirate 150 µL of sample slowly (20 µL/s) from port 3 and dispense 50 µL into port 5."
- "How much liquid is in the syringe right now and which port is the valve on?"
- "The pump reported a plunger overload. What does that mean and what should I check?"
- "Stop the pump now."
Notes
- Conversion. Steps = volume × steps-per-stroke ÷ syringe volume, where steps-per-stroke is 6000 (XLP/XMP) or 3000 (XCalibur) in standard mode and 8× that in fine-positioning mode (N1). The mode is read from the pump (
?28) before every move. Top speedV= flow × 6000 ÷ syringe volume: on all three models a full stroke is 6000 speed pulses in N0/N1. For the XCalibur this is derived from Tecan's published 1.2 s–20 min per stroke, not from its operating manual; please confirm on hardware. - Busy/ready is read only from
Q, as the manual requires. Invalid commands are reported immediately; invalid operands (e.g. a move past the end of the syringe) are reported by the nextQ, and the server turns both into clear errors. - Initialization force is chosen from the syringe size (full ≥ 1 mL, half for 250/500 µL, third for 50/100 µL; manual table 3-6) unless you pick one.
terminatesendsTwithoutR: in the DT command setRresumes a terminated string.Tdoes not stop a valve move in progress. Re-initialize after terminating. If a move or initialization is still busy well past its expected duration (1.5× + 10 s), or the link fails while waiting, the server sendsTitself instead of leaving the plunger moving.- The server does not use microstep mode (N2), the OEM protocol (checksums, sequence numbers) or CAN.
- Cavro Centris has a different resolution (181,490 increments per stroke) and volume-based firmware commands that we could not verify, so it is not supported. XE 1000 and older XL/XP 3000 pumps may work with
--option steps_per_stroke=…, but they are untested.
Hardware verification
来源:servers/biology/tecan-cavro-pump/README.md,提交 46545ea
工具
0版本历史
3- v0.1.3最新Sep 27, 2026
- v0.1.1Sep 26, 2026
- v0.1.0Sep 26, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分