mcpField
N
New Era Syringe Pump

New Era Syringe Pump

本地服务
github.com科研与教育235 周前更新

关于 New Era Syringe Pump

New Era Syringe Pump 是通过 RS-232 控制 New Era Pump Systems 注射泵的 MCP 服务,支持注入、抽取、体积监测和安全控制。目前尚无硬件验证记录。

主要功能

  1. 01按预设或实测值设置注射器直径
  2. 02按设定速率注入或抽取指定体积
  3. 03查看泵状态和已输送体积
  4. 04停止泵送并重置体积计数
  5. 05以只读模式监测

适用场景

  1. 01向反应器输送指定体积
  2. 02按设定流速为注射器排气预充
  3. 03检查泵状态和警报
  4. 04远程停止运行中的泵

MCP 相关

向 MCP 客户端提供泵配置、注入、抽取、状态、体积和停止等工具。每个服务通过 RS-232 连接并控制一台泵。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"k-dense-ai-labmcp-new-era": {
"command": "uvx",
"args": [
"labmcp-new-era"
],
"env": {
"LABMCP_ADDRESS": "<LABMCP_ADDRESS>",
"LABMCP_SIMULATE": "<LABMCP_SIMULATE>",
"LABMCP_READ_ONLY": "<LABMCP_READ_ONLY>",
"LABMCP_LIMITS": "<LABMCP_LIMITS>"
}
}
}
}
启动命令uvx labmcp-new-era
需要配置的环境变量
LABMCP_ADDRESSInstrument address, e.g. serial:///dev/ttyUSB0 or tcp://192.168.1.50:5025
LABMCP_SIMULATESet to 1 to use the built-in simulator (no hardware)
LABMCP_READ_ONLYSet to 1 to disable all state-changing tools
LABMCP_LIMITSSafety limit overrides, e.g. max_temperature_c=80

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypilabmcp-new-era0.1.2

工具

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 倍,便于演示。

连接泵

  1. **泵设置:**泵必须处于 Address mode(默认设置,Setup 菜单中显示为 Ad:nn)和 Basic 通信模式(默认设置;如果有人启用了 Safe 模式,请从终端发送 SAF0,或执行主复位)。出厂设置为 19200 波特率、8N1、网络地址 0。
  2. **线缆:**将 New Era CBL-PC-PUMP-7(连接 USB 时还需 CBL-USB232)插入泵的 To Computer 插孔。
  3. 查找端口:uvx labmcp ports
  4. 测试连接:
    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                    # Windows
    
    非默认波特率需写入地址:serial://COM5?baudrate=9600。
  5. **泵网络:**最多可将 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_min10 mL/mininfuse/withdraw 可设置的最高泵送速率
max_volume_ml20 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)的速度范围不同。

硬件验证

型号固件接口验证者日期
暂无:成为首位验证者

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。