New Era Syringe Pump

io.github.K-Dense-AI由 GitHub 账号 K-Dense-AI 发布v0.1.2更新于 Oct 24, 2026

MCP server for New Era Pump Systems syringe pumps (NE-1000 family, RS-232).

概览

AI 生成的概览

通过 RS-232 控制 New Era 注射泵,让助手设置注射器、按速率注入或抽取指定体积并读取状态。

可以做什么
通过 New Era Pump Systems NE-1000 系列注射泵的 RS-232 Basic 模式命令集进行控制。工具包括:用预设或实测值设置注射器内径、按设定速率注入或抽取指定体积、停止泵、清零已分配体积累计值,以及读取状态、已分配体积、连接信息和原始命令日志。内置模拟器可在无硬件时试用。
适用场景
适合让助手操作实验台上的 New Era 注射泵:定量加液、排气或抽取精确体积并报告进度。适用于每台服务器控制一台泵的脚本化或对话式操作,也可先在模拟模式下试用。
运行要求
以 Python 包形式在本地运行(uvx labmcp-new-era),使用 stdio 传输。需要与泵的串口或 TCP 连接,由 LABMCP_ADDRESS 指定(例如 serial:///dev/ttyUSB0 或 tcp://host:port),并需要合适的线缆,泵须处于 Address 与 Basic 通信模式。可选变量:LABMCP_LIMITS、LABMCP_READ_ONLY、LABMCP_SIMULATE。未声明身份验证。
安装前请注意
infuse 与 withdraw 会移动液体,被标记为危险操作,并且会覆盖泵内存储的 Pumping Program 的第 1-2 阶段。该服务器仅经模拟器测试,尚未在硬件上验证。不支持 Safe 模式(CRC-16 帧、通信看门狗)。一个串口同一时间只能被一个服务器打开。LABMCP_READ_ONLY=1 可禁用改变状态的工具;LABMCP_LIMITS 可限制速率与体积。

安装

在 SourceWeft 中

  1. 打开 控制台中的 New Era Syringe Pump,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

New Era Syringe Pump — MCP Server

Let an AI agent set up the syringe, infuse or withdraw an exact volume at a set rate, follow the dispensed volume and stop New Era Pump Systems syringe pumps through their documented RS-232 Basic-mode command set.

Packagelabmcp-new-era
InstrumentsNE-1000 Multi-Phaser, NE-1002X, NE-1010, NE-4000 two-channel, NE-500 OEM, NE-8000 high-pressure, and other NE-1000-series pumps with an RS-232 port
InterfacesRS-232 (RJ-11 "To Computer" jack), USB via New Era's CBL-USB232 or any USB-RS-232 adapter, serial-to-Ethernet adapters
ProtocolNew Era RS-232 Basic mode (NE-1000 User Manual, Publication #1200-01, section 10; same command set in the NE-4000 manual)
Status🧪 simulated: tested against a wire-level simulator, not yet verified on hardware. Report a hardware test

Try it without hardware

bash
uvx labmcp-new-era --simulate --check

The simulator pumps in real time. Add --option sim_speed=20 to make simulated time run 20× faster for demos.

Connect your pump

  1. Pump setup: the pump must be in Address mode (the default, Ad:nn in the Setup menu) and in Basic communications mode (the default; if someone enabled Safe mode, send SAF0 from a terminal or run a master reset). Factory settings are 19200 baud, 8N1, network address 0.
  2. Cable: New Era CBL-PC-PUMP-7 (plus CBL-USB232 for USB) into the pump's To Computer jack.
  3. Find the port: uvx labmcp ports
  4. Test the connection:
    bash
    uvx labmcp-new-era --address /dev/ttyUSB0 --check            # Linuxuvx labmcp-new-era --address /dev/tty.usbserial-XXXX --check  # macOSuvx labmcp-new-era --address COM5 --check                    # Windows
    Non-default baud rates go in the address: serial://COM5?baudrate=9600.
  5. Pump networks: up to 100 pumps can be daisy-chained (To Network → next pump's To Computer), each with its own address 0–99. Run one server per pump and select it with --option pump_address=3. Without the option, commands carry no address prefix, which the pumps treat as address 0.

Add to your MCP client

Claude Code

bash
claude mcp add syringe-pump -- uvx labmcp-new-era --address /dev/ttyUSB0

Claude Desktop / Cursor / Windsurf (claude_desktop_config.json, .cursor/mcp.json, …)

json
{  "mcpServers": {    "syringe-pump": {      "command": "uvx",      "args": ["labmcp-new-era", "--address", "/dev/ttyUSB0"]    }  }}

Each server controls one pump (--option pump_address=N on a daisy-chained network). A serial port can only be opened by one server at a time, so to drive two pumps at once give each its own cable/port. Add --read-only to allow monitoring but block pumping and settings changes.

Tools

ToolKindDescription
clear_dispensed_volume🎛 controlReset the infused and withdrawn volume accumulators to zero. Only possible while stopped.
get_command_log👁 readReturn the most recent raw commands sent to / replies received from the instrument (newest last). Useful for debugging and for recording what was done.
get_connection_info👁 readReport which instrument is connected (identity, address, simulated or real), whether the server is read-only, and the active safety limits. Call this first.
get_dispensed_volume👁 readReturn the accumulated infused and withdrawn volumes (pump command DIS).
get_status👁 readReport what the pump is doing (infusing/withdrawing/stopped/paused, alarms), the syringe diameter, rate, target volume, direction and the accumulated dispensed volumes.
infuse⚠️ hazardPush volume_ml out of the syringe at rate_ml_min, then stop. Returns as soon as pumping has started, with the estimated duration. Requires the correct syringe diameter (set_syringe) and a stopped pump. Overwrites phases 1-2 of the pump's stored Pumping Program.
list_syringe_presets👁 readList the syringe inside diameters from the New Era manual's reference table (BD, Monoject, Terumo, HSW Norm-Ject, Poulten & Graf glass, stainless steel, SGE, Hamilton), with the NE-1000 rate range each allows. Use a name with set_syringe.
reconnect🛑 safetyClose and re-open the connection to the instrument (e.g. after it was power cycled or a cable was re-plugged).
set_syringe🎛 controlSet the syringe inside diameter, either from a preset or a measured value. The pump must be stopped. Changing the diameter also resets the dispensed-volume accumulators and may switch the pump's volume units (µL below 14.0 mm, mL above).
stop_pump🛑 safetyStop the pump immediately (STP). A paused program is also cancelled so it cannot resume.
withdraw⚠️ hazardPull volume_ml into the syringe at rate_ml_min, then stop. Returns as soon as pumping has started. Make sure the syringe has room for the volume. Overwrites phases 1-2 of the pump's stored Pumping Program.

Safety limits

LimitDefaultMeaning
max_rate_ml_min10 mL/minHighest pumping rate infuse/withdraw may set
max_volume_ml20 mLLargest volume a single infuse/withdraw may move

Override at launch: --limit max_rate_ml_min=0.5 --limit max_volume_ml=2 (e.g. for a microfluidic chip). The pump itself also refuses rates outside what the syringe diameter allows (?OOR), and the server explains that range.

Example prompts

  • "Set the pump for a BD 10 mL syringe and infuse 2 mL at 0.5 mL/min into the reactor. Tell me when it's done."
  • "Withdraw 250 µL at 100 µL/min, then report how much was actually withdrawn."
  • "What's the pump doing right now? Is there an alarm?"
  • "Our syringe is a 5 mL glass Hamilton with 10.30 mm inside diameter — set that, then prime by infusing 0.1 mL at 1 mL/min."
  • "Stop the pump now."

Notes

  • Diameter is everything. The pump converts volume to plunger travel from the inside diameter. Presets come from the reference table in the NE-1000 manual (section 12.7); always confirm against your syringe manufacturer's data. Changing the diameter resets the dispensed-volume counters, and the pump works in µL for diameters ≤ 14.0 mm and in mL above.
  • Stored program is overwritten. infuse/withdraw program phase 1 as a RATE phase (rate, volume, direction) and phase 2 as STOP, so the pump stops after the volume. Any multi-phase Pumping Program you stored on the pump is overwritten in phases 1–2.
  • Rounding. The pump accepts at most 4 significant digits (and 3 decimals). The server picks the rate units (µL/min, mL/min, µL/h, mL/h) that represent your rate most precisely and reports the exact values it sent.
  • infuse/withdraw return as soon as pumping starts; long infusions keep running after the tool call. stop_pump sends STP and, if the program is then paused, a second STP so the program cannot be resumed by accident.
  • The first reply after the pump powers up is a reset alarm (A?R). The server acknowledges it and repeats the command; stall alarms (A?S) are reported, never retried.
  • Safe mode is not supported. Safe mode (CRC-16 framing, communication watchdog) is recommended by New Era for production. This server uses Basic mode only.
  • The NE-300 "Just Infusion" manual documents no RS-232 interface, so it is not supported. Syringe rate ranges quoted by list_syringe_presets are for the NE-1000; other models (e.g. NE-8000, NE-1010) have different speed ranges.

Hardware verification

ModelFirmwareInterfaceVerified byDate
none yet: be the first

来源:servers/biology/new-era-syringe-pump/README.md,提交 46545ea

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

2
  1. v0.1.2最新Sep 27, 2026
  2. v0.1.0Sep 26, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分