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 整合