Atlas Scientific EZO Sensors

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

MCP server for Atlas Scientific EZO sensor circuits (pH, ORP, DO, EC, RTD, HUM, CO2, PRS) over UART.

发布方自己的服务:Red Atlas Api

已验证STDIO仅桌面开发者工具数据与分析

概览

AI 生成的概览

本地 MCP 服务器,让助手通过 UART 读取、校准并记录 Atlas Scientific EZO 传感器电路(pH、ORP、DO、EC、RTD、湿度、CO2、压力)。

可以做什么
读取传感器数值与电路信息:带单位的单次读数、电路类型、固件、校准状态与设置,以及连接信息和原始命令日志。记录读数序列,返回均值、标准差、最小值、最大值和漂移,可选保存为新的 CSV 文件。校准探头:存储校准点、查看校准状态与斜率、清除已存校准。调整设置:温度补偿、DO 盐度与压力补偿、EC 探头常数和状态 LED。在断电或换线后重新连接仪器。
适用场景
适合让助手在生物反应器、细胞培养、发酵、水培、水产养殖或环境监测中监控或校准 Atlas Scientific EZO 探头,或希望自动记录并汇总读数而无需自己编写串口命令的场景。
运行要求
以 Python 包(uvx labmcp-atlas-ezo)通过 stdio 在本机运行,仅限桌面。需要处于 UART 模式的 EZO 电路,经 USB 串口适配器或串口转以太网桥连接,地址通过 LABMCP_ADDRESS 或 address 选项提供。每个电路运行一个服务器。可用内置模拟器(LABMCP_SIMULATE)在无硬件时测试。
安装前请注意
仅在模拟器上测试,尚未在真实硬件上验证。校准和设置类工具会改变仪器状态;主要风险是错误校准,且服务器无法得知探头实际处于哪种标准液中,助手必须与你确认。清除校准后需要重新校准。LABMCP_READ_ONLY 可禁用改变状态的工具。温度与 DO 补偿在断电后丢失。EZO 泵等执行器电路会被拒绝连接。

安装

在 SourceWeft 中

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

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

其他 MCP 客户端

参照 仓库 中的启动说明。

README

Atlas Scientific EZO Sensors — MCP Server

Let an AI agent read, calibrate and log Atlas Scientific EZO™ sensor circuits (pH, ORP, dissolved oxygen, conductivity, RTD temperature, humidity, CO2 and pressure) over their documented UART command set. Useful for bioreactors, cell-culture media, fermentation, hydroponics, aquaculture and environmental monitoring.

Packagelabmcp-atlas-ezo
InstrumentsEZO-pH, EZO-ORP, EZO-DO, EZO-EC, EZO-RTD, EZO-HUM, EZO-CO2, EZO-PRS (type detected automatically with i)
InterfacesUART via a USB-serial adapter or Atlas isolated carrier board, or a serial-to-Ethernet bridge (one circuit per port)
ProtocolEZO UART command set (pH datasheet V 6.1, ORP V 5.2, DO V 5.8, EC V 6.7, RTD V 3.7, HUM V 1.5, CO2 V 2.3, PRS V 2.3)
Status🧪 simulated: tested against a wire-level EZO simulator, not yet verified on hardware. Report a hardware test

Try it without hardware

bash
uvx labmcp-atlas-ezo --simulate --checkuvx labmcp-atlas-ezo --simulate --option sim_sensor=DO --check     # also ORP, EC, RTD, HUM, CO2, PRS

Connect your instrument

  1. Circuit setup: the circuit must be in UART mode (LED green/cyan; blue means I2C mode, see "Change to UART mode" in the datasheet). Factory settings are 9600 baud, 8 data bits, no parity, 1 stop bit, no flow control, CR line endings. Cross TX/RX between the circuit and the adapter, and use an electrically isolated carrier board when the probe sits in the same liquid as other probes or pumps.
  2. Find the port: uvx labmcp ports
  3. Test the connection:
    bash
    uvx labmcp-atlas-ezo --address /dev/ttyUSB0 --check                # Linuxuvx labmcp-atlas-ezo --address /dev/tty.usbserial-XXXX --check     # macOSuvx labmcp-atlas-ezo --address COM5 --check                        # Windowsuvx labmcp-atlas-ezo --address "serial://COM5?baudrate=38400" --check   # non-default baud rate
    On connect the server sends C,0 (continuous readings off, so replies are not interleaved with readings) and *OK,1 (response codes on, the factory default). The circuit keeps both settings across power cycles.

Add to your MCP client

Claude Code

bash
claude mcp add ph-probe -- uvx labmcp-atlas-ezo --address /dev/ttyUSB0

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

json
{  "mcpServers": {    "ph-probe": {      "command": "uvx",      "args": ["labmcp-atlas-ezo", "--address", "/dev/ttyUSB0"]    },    "do-probe": {      "command": "uvx",      "args": ["labmcp-atlas-ezo", "--address", "/dev/ttyUSB1"]    }  }}

Run one server per circuit. Add --read-only to allow readings but block calibration and settings changes. For other clients, generate the snippet with uvx labmcp config atlas-ezo --address /dev/ttyUSB0 --client vscode.

Tools

ToolKindDescription
calibrate🎛 controlStore one calibration point. The probe must already be in the named standard (buffer, air, dry, ...) with a stable reading. Point names are validated per circuit type. pH: a mid calibration erases existing low/high points, so always do mid first. EC: do dry first.
clear_calibration🎛 controlDelete all stored calibration data (Cal,clear). pH/ORP/DO/EC/RTD return to uncalibrated; CO2/PRS return to their factory calibration. The probe must be recalibrated afterwards.
get_calibration_status👁 readReport how many calibration points are stored and what that means for this circuit type; for pH also the probe slope (acid/base % of ideal and zero offset in mV).
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_info👁 readReport the circuit type, firmware, device name, supply voltage and last restart reason, LED state, calibration state, temperature compensation and type-specific settings (enabled outputs, EC probe constant K, DO salinity/pressure compensation).
log_series👁 readRecord a series of readings (e.g. to watch a probe stabilise before calibrating, follow pH or DO in a bioreactor, or log temperature). Returns every point plus mean, stdev, min, max and drift per minute for each output.
read_value👁 readTake one reading (about 1 s) and return every enabled output with its unit: pH; ORP in mV; DO in mg/L (and % saturation if enabled); EC in µS/cm plus TDS (ppm), salinity (PSU) and specific gravity if enabled; RTD temperature; humidity %RH (+ air temperature, dew point); CO2 ppm; or pressure.
reconnect🛑 safetyClose and re-open the connection to the instrument (e.g. after it was power cycled or a cable was re-plugged).
set_do_compensation🎛 controlDO circuits only: set salinity compensation (irrelevant below ~2500 µS/cm) and/or atmospheric pressure compensation (default 101.3 kPa; lower at altitude). Neither is retained through a power cycle.
set_led🎛 controlTurn the circuit's status LED on or off. Returns the new LED state.
set_probe_constant🎛 controlEC circuits only: set the conductivity probe's cell constant K to match the probe (printed on it). Recalibrate after changing it. Returns the K now in use.
set_temperature_compensation🎛 controlSet the sample temperature used to compensate pH, EC or DO readings (T,n; always °C). Not retained through a power cycle. Returns the value the circuit now uses.

get_connection_info, get_command_log and reconnect are built into every LabMCP server.

Safety limits

LimitDefaultMeaning
max_series_duration_s600 sLongest logging series an agent may start

Override at launch: --limit max_series_duration_s=3600 (3600 s is the most one log_series call can run; split longer logs into several calls). log_series writes its optional save_path only to a new .csv file (existing files are never overwritten). These circuits only measure, so there are no hazardous tools; the risk is a bad calibration, which is why calibrate validates point names and standard values per circuit type and clear_calibration is hidden in --read-only mode.

Example prompts

  • "What sensor is connected, is it calibrated, and what's the pH slope?"
  • "The pH probe is in pH 7.00 buffer. Log it every 2 s until it's stable to ±0.01, then calibrate the midpoint. Then walk me through pH 4 and pH 10."
  • "The bioreactor is at 37 °C: set the temperature compensation and read the dissolved oxygen in mg/L and % saturation."
  • "Log conductivity, TDS and salinity every 30 s for 10 minutes and tell me whether the nutrient solution is drifting."
  • "Turn off the LED on the DO circuit, we're running a light-sensitive culture."

Notes

  • Units per circuit: pH; ORP in mV; DO in mg/L and (if enabled with O,%,1) % saturation; EC in µS/cm plus TDS (ppm), salinity (PSU) and specific gravity when enabled; RTD in its configured scale (°C/K/°F); HUM in %RH plus air temperature and dew point (°C) when enabled; CO2 in ppm (+ internal temperature); PRS in its configured unit (psi, atm, bar, kPa, inH2O, cmH2O). Which outputs are enabled is read from the circuit (O,?, S,?, U,?) rather than assumed.
  • Output order of multi-value readings follows the datasheets (EC: EC,TDS,S,SG). The DO order (mg/L then % saturation) is not spelled out in the DO datasheet; it was cross-checked against the open-source EnviroDIY ModularSensors and feastorg ezo-driver libraries. Please report if your circuit differs.
  • Temperature compensation (T,n, pH/EC/DO only) and DO salinity/pressure compensation are not retained when the circuit loses power; set them again after a power cycle. Readings report the compensation temperature in use.
  • Calibration rules enforced: pH midpoint must be calibrated before low/high (a new mid erases low/high, as the datasheet warns), with mid 6-8, low 0-6.5 and high 7.5-14; ORP ±1020 mV; EC 0.07-500,000 µS/cm (do dry first); CO2 high point 3000-5000 ppm; RTD -126 to 1254 °C. The server cannot see which standard the probe is actually in: the agent must confirm that with you.
  • An RTD reading of -1023 means no probe is connected; the reading includes a warning.
  • DO queries such as P,? answer ?,P,90.25 (note the extra comma) per the datasheet; the driver accepts both forms. The DO salinity reply contains a micro sign, so the port is read as Latin-1.
  • Not exposed as tools (verified but not useful or too risky for an agent): Factory (erases calibration), Sleep, Find, Baud, I2C, Plock, calibration Export/Import, the RTD data logger, and the HUM/CO2/PRS alarm pins. EZO pumps (EZO-PMP) and other actuator circuits are refused on connect.

Hardware verification

ModelFirmwareInterfaceVerified byDate
none yet: be the first

来源:servers/biology/atlas-ezo-sensors/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 分

其他 Atlas 集成