mcpField
P
PalmSens Potentiostat

PalmSens Potentiostat

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

关于 PalmSens Potentiostat

面向支持 MethodSCRIPT 的 PalmSens 电化学工作站的 MCP 服务,可运行电化学测量。它返回测量数据和峰值摘要,并可选输出全分辨率 CSV 文件。

主要功能

  1. 01运行循环和线性扫描伏安法
  2. 02运行差分脉冲伏安法
  3. 03运行计时电流法
  4. 04返回数据和峰值摘要
  5. 05将全分辨率数据保存为 CSV
  6. 06应用测量安全限值

适用场景

  1. 01用循环伏安法测量氧化还原峰
  2. 02比较不同扫描速率下的峰电流
  3. 03测量设定电位下随时间变化的电流
  4. 04测量前查看工作站能力以选择参数

MCP 相关

向 MCP 客户端提供电化学测量工具,包括内置技术和原始 MethodSCRIPT 执行。它通过 USB 串口或 UART 连接支持的工作站。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"k-dense-ai-labmcp-palmsens": {
"command": "uvx",
"args": [
"labmcp-palmsens"
],
"env": {
"LABMCP_ADDRESS": "<LABMCP_ADDRESS>",
"LABMCP_SIMULATE": "<LABMCP_SIMULATE>",
"LABMCP_READ_ONLY": "<LABMCP_READ_ONLY>",
"LABMCP_LIMITS": "<LABMCP_LIMITS>"
}
}
}
}
启动命令uvx labmcp-palmsens
需要配置的环境变量
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-palmsens0.1.3

工具

10

收录的工具列表 · 更新于 2 周前

此工具无需参数。

详细介绍

PalmSens 恒电位仪 — MCP 服务

让 AI Agent 在支持 MethodSCRIPT 的 PalmSens 恒电位仪上运行循环伏安法、线性扫描伏安法、差分脉冲伏安法和计时电流法,并获取降采样数据、峰值摘要以及可选的全分辨率 CSV 文件。

软件包labmcp-palmsens
仪器EmStat Pico(模块和开发板)、EmStat4 LR/HR(EmStat4S、EmStat4M、EmStat4X)、Sensit Wearable / Sensit BT、Nexus
接口USB(虚拟 COM 端口)、UART
协议MethodSCRIPT v1.x(MethodSCRIPT 手册 v1.8),通过 PalmSens 在线通信协议(EmStat Pico v1.6、EmStat4 v1.3);并已与 PalmSens/MethodSCRIPT_Examples 交叉核对
状态🧪 模拟:已通过线路级模拟器测试,尚未在硬件上验证。报告硬件测试结果

无需硬件即可试用

uvx labmcp-palmsens --simulate --check

模拟器是一台配有 3 mm 圆盘电极的 EmStat Pico,电极浸在 1 mM 可逆单电子氧化还原电对溶液中(E° = +0.20 V,类似于相对于 Ag/AgCl 的亚铁氰化物/铁氰化物)。它会解析服务发送的脚本,并流式传输编码正确的数据包,因此你可以获得完整的 CV“鸭形”曲线、DPV 峰值和 Cottrell 衰减。模拟时间比实际时间快 10 倍;可通过 --option sim_speed=1(实际时间)或 =100 更改速度。

连接仪器

  1. 关闭 PSTrace / MultiTrace。 串行端口只能由一个程序占用。
  2. 查找端口: uvx labmcp ports。EmStat Pico 开发板或 Sensit 会显示为 USB 串行端口(FTDI)。EmStat4 或 Nexus 会显示为以设备命名的虚拟 COM 端口。
  3. 测试连接:
    uvx labmcp-palmsens --address /dev/ttyUSB0 --check            # EmStat Pico / Sensit (Linux)
    uvx labmcp-palmsens --address /dev/tty.usbmodemXXXX --check   # EmStat4 (macOS)
    uvx labmcp-palmsens --address COM7 --check                    # Windows
    
    默认值适用于 EmStat Pico:230400 波特率、8N1、XON/XOFF,以 LF 作为行结束符。通过 USB 连接时,EmStat4 和 Nexus 会忽略波特率。通过 UART 连接 EmStat4 时,请使用 serial://COM7?baudrate=921600&rtscts=true&xonxoff=false。
  4. --check 会发送固件版本(t)和序列号(i)命令,并打印型号、固件版本和序列号。

添加到 MCP 客户端

Claude Code

claude mcp add potentiostat -- uvx labmcp-palmsens --address /dev/ttyUSB0

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

{
  "mcpServers": {
    "potentiostat": {
      "command": "uvx",
      "args": ["labmcp-palmsens", "--address", "/dev/ttyUSB0"]
    }
  }
}

添加 --read-only 后,仅允许查看设备信息:所有测量工具都会施加电位,因此会被隐藏。

工具

工具类型描述
abort_measurement🛑 safety立即中止正在运行的测量或脚本(通信命令 Z),并确保关闭电解池。即使当前没有运行任务,也可以安全调用。
get_command_log👁 read返回最近发送给仪器的原始命令和收到的回复(最新内容排在最后)。可用于调试和记录操作内容。
get_connection_info👁 read报告当前连接的仪器(身份、地址、模拟或真实)、服务是否为只读,以及当前启用的安全限制。请先调用此工具。
get_device_info👁 read识别恒电位仪(型号、固件、序列号),并列出其电位窗口、PGStat 模式和电流量程,以便在支持范围内选择测量参数。
reconnect🛑 safety关闭并重新打开与仪器的连接(例如,仪器断电重启或重新插拔电缆后)。
run_chronoamperometry⚠️ hazard将电解池保持在 potential_v 电位 run_time_s,并每隔 interval_s 记录一次电流。返回数据(时间来自仪器计时器),以及电流的首值、末值、平均值和电荷量。此操作会对电解池施加电位。
run_cyclic_voltammetry⚠️ hazard运行循环伏安图:begin -> vertex 1 -> vertex 2 -> begin,重复 n_scans 次,并返回电位/电流/时间数据,以及每次扫描的阳极峰和阴极峰。整个扫描期间都会对电解池施加电位;扫描结束后会关闭电解池。
run_differential_pulse_voltammetry⚠️ hazard运行差分脉冲伏安法(电流 = 正向电流 − 反向电流,每步计算一次),从起始电位扫描到终止电位,并返回数据以及峰值电流和峰电位。扫描速率必须小于 step / pulse_time / 2。此操作会对电解池施加电位。
run_linear_sweep_voltammetry⚠️ hazard从 begin_potential_v 到 end_potential_v 运行线性扫描伏安图,并返回数据以及最大/最小电流及其出现位置。此操作会对电解池施加电位。
run_methodscript⚠️ hazard高级:运行原始 MethodSCRIPT,并返回其原始输出和解码后的数据包。set_e / set_range_minmax da 中的字面电位,以及 CV、LSV、DPV、SWV、NPV、ACV、CA、PAD、EIS 和快速 CV/CA 技术中的字面电位,都会根据 max_potential_v 进行检查;原始脚本中 set_range ba / set_autoranging ba 的字面电流值会根据 max_current_range_a 进行检查。运行时计算出的值不受检查。运行时间超过 timeout_s 后会中止;请在脚本中添加 on_finished: + cell_off,以便在中止后关闭电解池。发生运行时错误、超时或调用 abort_measurement 后,服务会自行关闭电解池。

安全限制

限制默认值含义
max_potential_v2.0 V任一技术(或原始脚本中的字面值)可施加的相对于 RE 的最大绝对电位,包括 DPV 脉冲
max_current_range_a0.01 AAgent 可选择的最高电流量程(使用自动量程时,仪器不会超过 current_range_a);在原始脚本中,该值适用于 set_range ba / set_autoranging ba 的字面值
max_duration_s600 s单次测量(包括平衡过程)或原始脚本的最长运行时间

启动时可覆盖限制,例如:--limit max_potential_v=1.0 --limit max_duration_s=1800。无论限制值如何,单次工具调用最长不超过一小时。

示例提示词

  • “对我的亚铁氰化物样品进行 CV:从 −0.2 V 扫描到 +0.6 V 再返回,扫描速率为 50 mV/s,扫描三次,并告诉我 E½ 和峰间距。”
  • “进行扫描速率研究:在 −0.1 至 0.5 V 之间以 25、50、100 和 200 mV/s 的扫描速率进行 CV,将每次结果保存为 CSV,并检查峰值电流是否与 √v 成正比。”
  • “从 0 扫描到 0.6 V 进行 DPV,脉冲为 50 mV,并报告峰电位和峰高。”
  • “保持 0.5 V 60 s,每隔 0.2 s 记录一次电流,并告诉我通过的总电荷量。”
  • “这台恒电位仪支持什么电位窗口和电流量程?”
  • “中止测量。”

注意事项

  • 服务发送的内容。 每种技术都是一个 MethodSCRIPT,仿照 PalmSens 的测量循环示例编写:set_pgstat_chan 0、set_pgstat_mode、set_max_bandwidth、set_range_minmax da、set_range ba、set_autoranging ba、set_e、cell_on、可选的 wait,然后是 meas_loop_cv / lsv / dpv / ca,并通过 pck_add 添加设定电位和电流,最后执行 on_finished: cell_off。因此,测量完成或中止后,电解池都会关闭。发生运行时错误时会跳过 on_finished:(MethodSCRIPT 手册 §10.1),因此发生此类错误后,服务会发送单独的 cell_off 脚本。确切脚本见 get_command_log。
  • PGStat 模式和带宽。 最大带宽为数据速率的 6 倍(PalmSens 示例采用的比例)。对于 EmStat Pico 和 Sensit,服务会依次选择低速(−1.25 至 2.0 V,2.2 V 窗口,≤ 100 Hz)、最大量程(−1.7 至 2.0 V,2.6 V 窗口),然后是高速(1.214 V 窗口),以适配你的电位。如果都不适用,服务会在发送任何内容之前说明原因。EmStat4 和 Nexus 使用低速模式;根据手册,这些仪器上的模式并无差异。
  • 电流符号和单位。 阳极(氧化)电流为正;电位是相对于 RE 的设定电位;time_s 对于计时安培法取自仪器计时器,对于扫描测量则由阶跃速率/扫描速率计算得出。
  • 摘要。 CV 峰值是每次扫描的原始电流最大值和最小值(不进行基线校正)。ΔEp 和中点为估算值。阶梯采样会使大步长下的 ΔEp 略大于理想值 59 mV。
  • 原始脚本。 run_methodscript 会将 set_e、set_range_minmax da、CV/LSV/DPV/SWV/NPV/ACV/CA/PAD/EIS 循环以及 meas_fast_cv / meas_fast_ca 中的字面电位(以及 store_var 字面值)与 max_potential_v 进行比较(包含 DPV 脉冲和 2 倍 SWV 振幅)。set_range ba / set_autoranging ba 中的字面电流量程会与 max_current_range_a 进行比较。脚本内部计算的值不会经过检查。脚本会在 timeout_s 后中止,并运行 cell_off 脚本。
  • 中止。 abort_measurement 会发送通信协议的 Z 命令。正在运行的技术会返回截至当时测得的数据,并将 aborted: true。之后(以及没有任务运行时),服务会运行一行 cell_off 脚本,因此即使原始脚本没有 on_finished:,电解池也会关闭。如果无法读取正在运行的脚本输出(例如 USB 故障),服务会中止脚本并关闭电解池,然后报告错误;如果仅有一行数据损坏,则会跳过该行并发出警告。
  • 保存数据。 save_path 必须以 .csv 结尾;缺失的文件夹会自动创建,且绝不会覆盖已有文件(请使用新文件名)。测量开始前会检查路径。值为 nan 的数据点会被省略(并发出警告)。
  • 未涵盖的内容: 恒电流技术、EIS、SWV/NPV/PAD、多路复用器、双恒电位仪模式、多通道 MultiEmStat4 系统以及 CRC16 协议扩展。对于内置技术之外的单通道脚本,请使用 run_methodscript。

硬件验证

型号固件接口验证者日期
目前还没有:抢先提交

评论

支持 Markdown

第一次接触 MCP?

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

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