关于 New Era Syringe Pump
New Era Syringe Pump 是通过 RS-232 控制 New Era Pump Systems 注射泵的 MCP 服务,支持注入、抽取、体积监测和安全控制。目前尚无硬件验证记录。
主要功能
- 01按预设或实测值设置注射器直径
- 02按设定速率注入或抽取指定体积
- 03查看泵状态和已输送体积
- 04停止泵送并重置体积计数
- 05以只读模式监测
适用场景
- 01向反应器输送指定体积
- 02按设定流速为注射器排气预充
- 03检查泵状态和警报
- 04远程停止运行中的泵
MCP 相关
向 MCP 客户端提供泵配置、注入、抽取、状态、体积和停止等工具。每个服务通过 RS-232 连接并控制一台泵。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
uvx labmcp-new-eraLABMCP_ADDRESSInstrument address, e.g. serial:///dev/ttyUSB0 or tcp://192.168.1.50:5025LABMCP_SIMULATESet to 1 to use the built-in simulator (no hardware)LABMCP_READ_ONLYSet to 1 to disable all state-changing toolsLABMCP_LIMITSSafety limit overrides, e.g. max_temperature_c=80本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
11收录的工具列表 · 更新于 2 周前
此工具无需参数。
详细介绍
New Era Syringe Pump — MCP 服务
让 AI Agent 通过 New Era Pump Systems 注射泵 的文档化 RS-232 Basic 模式命令集设置注射器,以设定速率精确注入或抽取指定体积,跟踪输送体积并停止泵。
| 软件包 | labmcp-new-era |
| 仪器 | NE-1000 Multi-Phaser、NE-1002X、NE-1010、NE-4000 双通道泵、NE-500 OEM、NE-8000 高压泵,以及其他带 RS-232 端口的 NE-1000 系列泵 |
| 接口 | RS-232(RJ-11“连接电脑”插孔)、通过 New Era 的 CBL-USB232 或任意 USB-RS-232 适配器连接 USB、串口转以太网适配器 |
| 协议 | New Era RS-232 Basic 模式(NE-1000 用户手册,第 1200-01 号出版物,第 10 节;NE-4000 手册采用相同的命令集) |
| 状态 | 🧪 模拟:已通过线路级模拟器测试,尚未在硬件上验证。报告硬件测试结果 |
无需硬件即可试用
uvx labmcp-new-era --simulate --check
模拟器会实时运行泵。添加 --option sim_speed=20,即可让模拟时间加速 20 倍,便于演示。
连接泵
- **泵设置:**泵必须处于 Address mode(默认设置,Setup 菜单中显示为
Ad:nn)和 Basic 通信模式(默认设置;如果有人启用了 Safe 模式,请从终端发送SAF0,或执行主复位)。出厂设置为 19200 波特率、8N1、网络地址 0。 - **线缆:**将 New Era CBL-PC-PUMP-7(连接 USB 时还需 CBL-USB232)插入泵的 To Computer 插孔。
- 查找端口:
uvx labmcp ports - 测试连接:
非默认波特率需写入地址:uvx labmcp-new-era --address /dev/ttyUSB0 --check # Linux uvx labmcp-new-era --address /dev/tty.usbserial-XXXX --check # macOS uvx labmcp-new-era --address COM5 --check # Windowsserial://COM5?baudrate=9600。 - **泵网络:**最多可将 100 台泵串联(To Network → 下一台泵的 To Computer),每台泵使用独立地址 0–99。每台泵运行一个服务,并通过
--option pump_address=3指定目标泵。若不使用此选项,命令中不会包含地址前缀,泵会将其视为地址 0。
添加到 MCP 客户端
Claude Code
claude mcp add syringe-pump -- uvx labmcp-new-era --address /dev/ttyUSB0
Claude Desktop / Cursor / Windsurf(claude_desktop_config.json、.cursor/mcp.json 等)
{
"mcpServers": {
"syringe-pump": {
"command": "uvx",
"args": ["labmcp-new-era", "--address", "/dev/ttyUSB0"]
}
}
}
每个服务控制一台泵(在串联网络中使用 --option pump_address=N)。一个串口一次只能由一个服务打开,因此若要同时驱动两台泵,需为每台泵分别使用线缆和端口。添加 --read-only 可允许监控,但会阻止泵送操作和设置更改。
工具
| 工具 | 类型 | 描述 |
|---|---|---|
clear_dispensed_volume | 🎛 控制 | 将注入和抽出体积累加器重置为零。仅在泵停止时可用。 |
get_command_log | 👁 读取 | 返回最近发送给仪器的原始命令和收到的回复(最新记录在最后)。可用于调试和记录操作内容。 |
get_connection_info | 👁 读取 | 报告已连接的仪器(身份、地址、模拟或真实)、服务是否为只读模式,以及当前生效的安全限制。请先调用此工具。 |
get_dispensed_volume | 👁 读取 | 返回累积注入和抽出体积(泵命令 DIS)。 |
get_status | 👁 读取 | 报告泵的运行状态(注入/抽出/停止/暂停、警报)、注射器直径、速率、目标体积、方向以及累积的输送体积。 |
infuse | ⚠️ 危险 | 以 rate_ml_min 的速率将 volume_ml 体积推出注射器,然后停止。泵启动后立即返回,并提供预计持续时间。需要设置正确的注射器直径(set_syringe),且泵必须处于停止状态。会覆盖泵内存储的 Pumping Program 的第 1 至 2 阶段。 |
list_syringe_presets | 👁 读取 | 列出 New Era 手册参考表中的注射器内径(BD、Monoject、Terumo、HSW Norm-Ject、Poulten & Graf 玻璃注射器、不锈钢注射器、SGE、Hamilton),以及每种注射器支持的 NE-1000 速率范围。使用名称调用 set_syringe。 |
reconnect | 🛑 安全 | 关闭并重新打开与仪器的连接(例如,仪器断电重启或重新插拔线缆后)。 |
set_syringe | 🎛 控制 | 根据预设或测量值设置注射器内径。泵必须处于停止状态。更改直径也会重置输送体积累加器,并可能切换泵的体积单位(小于 14.0 mm 时为 µL,大于 14.0 mm 时为 mL)。 |
stop_pump | 🛑 安全 | 立即停止泵(STP)。暂停的程序也会被取消,因此无法恢复运行。 |
withdraw | ⚠️ 危险 | 以 rate_ml_min 的速率将 volume_ml 体积抽入注射器,然后停止。泵启动后立即返回。请确保注射器有足够空间容纳该体积。会覆盖泵内存储的 Pumping Program 的第 1 至 2 阶段。 |
安全限制
| 限制 | 默认值 | 含义 |
|---|---|---|
max_rate_ml_min | 10 mL/min | infuse/withdraw 可设置的最高泵送速率 |
max_volume_ml | 20 mL | 单次 infuse/withdraw 可输送的最大体积 |
启动时覆盖:--limit max_rate_ml_min=0.5 --limit max_volume_ml=2(例如用于微流控芯片)。泵本身也会拒绝超出注射器直径允许范围的速率(?OOR),并由服务说明该范围。
示例提示词
- “将泵设置为使用 BD 10 mL 注射器,以 0.5 mL/min 的速率向反应器中注入 2 mL。完成后告诉我。”
- “以 100 µL/min 的速率抽出 250 µL,然后报告实际抽出的体积。”
- “泵现在在做什么?有警报吗?”
- “我们的注射器是 5 mL 玻璃 Hamilton 注射器,内径为 10.30 mm——请设置该参数,然后以 1 mL/min 的速率注入 0.1 mL 进行预充。”
- “现在停止泵。”
注意事项
- 直径至关重要。 泵根据内径将体积换算为推杆行程。预设值来自 NE-1000 手册中的参考表(第 12.7 节);请务必对照注射器制造商提供的数据进行确认。更改直径会重置已分配体积计数器;直径 ≤ 14.0 mm 时,泵使用 µL 作为单位,直径更大时则使用 mL。
- 存储的程序会被覆盖。
infuse/withdraw会将程序阶段 1 设为 RATE 阶段(速率、体积、方向),阶段 2 设为 STOP,因此达到设定体积后泵会停止。泵上存储的任何多阶段 Pumping Program 都会在阶段 1–2 被覆盖。 - 舍入。 泵最多接受 4 位有效数字(小数位最多 3 位)。服务会选择能最精确表示你所设速率的速率单位(µL/min、mL/min、µL/h、mL/h),并报告实际发送的确切值。
infuse/withdraw会在泵开始运行后立即返回;长时间输注会在工具调用结束后继续运行。stop_pump会发送STP;如果程序随后处于暂停状态,则会再发送一次STP,以防程序意外恢复运行。- 泵启动后的第一条回复是复位警报(
A?R)。服务会确认该警报并重发命令;堵转警报(A?S)会被报告,不会重试。 - 不支持安全模式。 New Era 建议生产环境使用安全模式(CRC-16 帧格式、通信看门狗)。本服务仅使用 Basic mode。
- NE-300 "Just Infusion" 手册未记载 RS-232 接口,因此不支持该型号。
list_syringe_presets提供的注射器速率范围适用于 NE-1000;其他型号(例如 NE-8000、NE-1010)的速度范围不同。
硬件验证
| 型号 | 固件 | 接口 | 验证者 | 日期 |
|---|---|---|---|---|
| 暂无:成为首位验证者 |
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。