
PalmSens Potentiostat
io.github.K-Dense-AI由 GitHub 账号 K-Dense-AI 发布v0.1.3更新于 Oct 24, 2026
MCP server for PalmSens potentiostats running MethodSCRIPT (EmStat Pico, EmStat4, Sensit, Nexus).
概览
本地 MCP 服务器,让 AI 助手在支持 MethodSCRIPT 的 PalmSens 电化学工作站上执行测量,并返回数据、峰值与 CSV 文件。
- 可以做什么
- 运行循环伏安、线性扫描伏安、差分脉冲伏安与计时电流法,并给出峰值和电流摘要
- 执行原始 MethodSCRIPT 脚本,返回原始输出与解码后的数据包
- 读取仪器信息:型号、固件、序列号、电位窗口、PGStat 模式与电流量程
- 查看连接状态、只读模式与当前安全限值,并检索原始命令日志
- 中止正在进行的测量、断电后重连,并把结果保存为 CSV 文件
- 适用场景
- 适合需要助手直接操作 PalmSens 工作站的实验场景:常规 CV、LSV、DPV 或计时电流法测量、扫描速率研究、峰值与电量汇总,或自定义 MethodSCRIPT 实验。内置模拟器可在没有硬件时先试用流程。
- 运行要求
- 以本地 Python 包(labmcp-palmsens,通常通过 uvx 启动)经 stdio 运行。需要一台可通过 USB 串口或 UART 访问的受支持 PalmSens 仪器,地址由 LABMCP_ADDRESS 指定;串口须空闲,因此需关闭 PSTrace 或 MultiTrace。可选变量 LABMCP_LIMITS、LABMCP_READ_ONLY、LABMCP_SIMULATE 用于调整限值、只读模式与模拟。
安装
在 SourceWeft 中
- 打开 控制台中的 PalmSens Potentiostat,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
PalmSens Potentiostat — MCP Server
Let an AI agent run cyclic voltammetry, linear sweep voltammetry, differential pulse voltammetry and chronoamperometry on PalmSens potentiostats that speak MethodSCRIPT, and get back downsampled data, peak summaries and optional full-resolution CSV files.
Try it without hardware
The simulator is an EmStat Pico with a 3 mm disk electrode in 1 mM of a reversible one-electron redox couple (E° = +0.20 V, like ferro/ferricyanide vs Ag/AgCl). It interprets the scripts the server sends and streams correctly encoded data packages, so you get a proper CV "duck", DPV peaks and Cottrell decays. Simulated time runs 10× faster than real time; change that with --option sim_speed=1 (real time) or =100.
Connect your instrument
- Close PSTrace / MultiTrace. Only one program can hold the serial port.
- Find the port:
uvx labmcp ports. An EmStat Pico development board or Sensit shows up as a USB serial port (FTDI). An EmStat4 or Nexus shows up as a virtual COM port named after the device. - Test the connection:
Defaults are the EmStat Pico's: 230400 baud, 8N1, XON/XOFF, LF line endings. Over USB the EmStat4 and Nexus ignore the baud rate. For an EmStat4 UART connection use
serial://COM7?baudrate=921600&rtscts=true&xonxoff=false. --checksends the firmware-version (t) and serial-number (i) commands and prints the model, firmware and serial.
Add to your MCP client
Claude Code
Claude Desktop / Cursor / Windsurf (claude_desktop_config.json, .cursor/mcp.json, …)
Add --read-only to allow device information only: every measurement tool applies potential and is hidden.
Tools
Safety limits
Override at launch, e.g. --limit max_potential_v=1.0 --limit max_duration_s=1800. Whatever the limits say, a single tool call is capped at one hour.
Example prompts
- "Run a CV of my ferrocyanide sample from −0.2 V to +0.6 V and back at 50 mV/s, three cycles, and tell me E½ and the peak separation."
- "Do a scan-rate study: CVs at 25, 50, 100 and 200 mV/s between −0.1 and 0.5 V, save each as CSV, and check whether the peak current scales with √v."
- "Run DPV from 0 to 0.6 V with 50 mV pulses and report the peak potential and height."
- "Hold 0.5 V for 60 s, record the current every 0.2 s, and give me the total charge passed."
- "Which potential window and current ranges does this potentiostat support?"
- "Abort the measurement."
Notes
- What the server sends. Each technique is one MethodSCRIPT modelled on PalmSens' measurement-loop examples:
set_pgstat_chan 0,set_pgstat_mode,set_max_bandwidth,set_range_minmax da,set_range ba,set_autoranging ba,set_e,cell_on, optionalwait, thenmeas_loop_cv/lsv/dpv/cawithpck_addof the set potential and current, andon_finished: cell_off. So the cell is switched off after completion and after an abort. A runtime error skipson_finished:(MethodSCRIPT manual §10.1), so after one the server sends a separatecell_offscript. The exact script is inget_command_log. - PGStat mode and bandwidth. Max bandwidth is 6× the data rate (the ratio PalmSens' examples use). On the EmStat Pico and Sensit, the server picks low speed (−1.25 to 2.0 V, 2.2 V window, ≤ 100 Hz), then max range (−1.7 to 2.0 V, 2.6 V window), then high speed (1.214 V window) to fit your potentials. If none fits, it says why before anything is sent. EmStat4 and Nexus use low speed mode; per the manual, the modes do not differ on those instruments.
- Current sign and units. Anodic (oxidation) current is positive; potentials are the set potentials vs RE;
time_scomes from the instrument timer for chronoamperometry and from step/scan rate for sweeps. - Summaries. CV peaks are the raw maximum and minimum current of each scan (no baseline correction). ΔEp and the midpoint are estimates. Staircase sampling makes ΔEp somewhat larger than the ideal 59 mV at large steps.
- Raw scripts.
run_methodscriptchecks literal potentials (andstore_varliterals) ofset_e,set_range_minmax daand the CV/LSV/DPV/SWV/NPV/ACV/CA/PAD/EIS loops andmeas_fast_cv/meas_fast_caagainstmax_potential_v(DPV pulse and 2x SWV amplitude included). Literal current ranges ofset_range ba/set_autoranging baare checked againstmax_current_range_a. Values computed inside the script are not checked. The script is aborted attimeout_sand acell_offscript is run. - Abort.
abort_measurementsends the communication-protocolZcommand. A running technique returns the data measured so far withaborted: true. Afterwards (and when nothing was running) the server runs a one-linecell_offscript, so the cell is also switched off after a raw script withouton_finished:. If the output of a running script cannot be read (e.g. a USB glitch), the server aborts the script and switches the cell off before reporting the error; a single corrupted data line is skipped with a warning instead. - Saving data.
save_pathmust end in.csv; missing folders are created and an existing file is never overwritten (choose a new name). The path is checked before the measurement starts. Points with ananvalue are left out (with a warning). - Not covered: galvanostatic techniques, EIS, SWV/NPV/PAD, multiplexers, bipotentiostat mode, multi-channel MultiEmStat4 systems and the CRC16 protocol extension. Use
run_methodscriptfor single-channel scripts beyond the built-in techniques.
Hardware verification
来源:servers/chemistry/palmsens-potentiostat/README.md,提交 46545ea
工具
0版本历史
2- v0.1.3最新Sep 27, 2026
- v0.1.1Sep 26, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分