mcpField
S
SRS Residual Gas Analyzer

SRS Residual Gas Analyzer

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

关于 SRS Residual Gas Analyzer

SRS Residual Gas Analyzer 是面向 SRS RGA100、RGA200 和 RGA300 四极杆质谱仪的 MCP 服务。它测量气体分压和谱图,支持氦气检漏及初步气体识别,并为灯丝、CDEM 和除气操作设置压力联锁。

主要功能

  1. 01测量分压和总压力
  2. 02记录模拟谱和直方图谱
  3. 03根据主要峰识别可能气体
  4. 04执行有时长限制的氦气检漏
  5. 05为危险操作执行压力限制

适用场景

  1. 01检查真空系统中的残余气体
  2. 02持续监测指定质荷比
  3. 03检查可疑接头是否漏氦
  4. 04筛查谱图中的常见气体或污染物

MCP 相关

向 MCP 客户端提供分析仪状态、压力测量、谱图、气体识别、检漏、设置和安全控制工具。

配置

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

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

工具

18

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

此工具无需参数。

详细介绍

SRS 残余气体分析仪:MCP 服务

让 AI Agent 读取真空系统中的残余气体成分,使用 Stanford Research Systems RGA100、RGA200 或 RGA300 四极杆质谱仪:指定 m/z 的分压、模拟和直方图谱、总压力、氦气检漏,以及气体的初步识别(水、氢气、氮气/CO、氧气、氩气、CO2、碳氢化合物)。服务端压力联锁可保护灯丝、电子倍增器(CDEM)和离子源除气功能。

软件包labmcp-srs-rga
仪器SRS RGA100(1-100 amu)、RGA200(1-200 amu)、RGA300(1-300 amu),可带或不带 CDEM 选件(01)
接口RS-232(固定 28,800 波特率、8N1、RTS/CTS)、通过串口转以太网适配器或 SRS RGA 以太网适配器连接的 TCP
协议SRS RGA 命令集:Operating Manual and Programming Reference, Models RGA100/200/300,Rev. 1.9,第 6 章“Programming the RGA Head”
状态🧪 模拟:已通过线路级模拟器测试,尚未在硬件上验证。报告硬件测试

无需硬件即可试用

uvx labmcp-srs-rga --simulate --check
uvx labmcp-srs-rga --simulate --option scenario=helium_leak    # He pulses every 20 s for leak_check
uvx labmcp-srs-rga --simulate --option scenario=overpressure   # a growing leak trips the filament

模拟器模拟的是一台配有 CDEM、置于未经烘烤腔室中的 RGA200,压力约为 1e-7 Torr(主要是水,其次是 H2、N2/CO、CO2)。

连接你的 RGA

  1. 连接线: RGA 的电子控制单元(ECU)配有一个按 DCE 接线的 DB-9 RS-232 端口,并采用 RTS/CTS 硬件握手。请使用直通线(或 USB 转串口适配器),确保其支持 RTS 和 CTS。设置固定为:28,800 波特率、8 个数据位、无校验位、1 个停止位。服务会为你设置这些参数。
  2. 关闭 RGA Windows / RGA Com(端口一次只能由一个程序使用)。
  3. 查找端口: uvx labmcp ports
  4. 测试连接:
    uvx labmcp-srs-rga --address /dev/ttyUSB0 --check          # Linux
    uvx labmcp-srs-rga --address /dev/tty.usbserial-XXXX --check  # macOS
    uvx labmcp-srs-rga --address COM3 --check                  # Windows
    uvx labmcp-srs-rga --address tcp://192.168.1.50:4001 --check   # raw-TCP serial-to-Ethernet adapter
    uvx labmcp-srs-rga --address tcp://192.168.1.50:818 --option user=admin --option password=admin --check  # SRS RGA Ethernet adapter
    
    连接后,服务会发送 ID? 和 IN0(清除 RGA 的缓冲区并运行硬件自检)。不会切换任何开关。

添加到你的 MCP 客户端

Claude Code

claude mcp add rga -- uvx labmcp-srs-rga --address /dev/ttyUSB0

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

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

添加 --read-only,即可允许测量,但禁止切换灯丝/CDEM、除气、校准和更改设置(关闭开关仍可用)。对于其他客户端,请使用 uvx labmcp config srs-rga --address /dev/ttyUSB0 --client vscode 生成代码片段(也支持 cursor、codex、claude-code)。

工具

工具类型描述
all_off🛑 安全将 RGA 置于安全状态:中止任何脱气操作,关闭 CDEM(HV0)、灯丝(FL0)和四极杆 RF/DC(MR0)。完成操作后、放气前,或发现任何异常时使用。此操作会中断正在运行的扫描或检漏,并且即使前一步失败,也会尝试执行每一步。
analog_scan👁 读取记录模拟质谱(SC1):四极杆逐步扫描整个质量范围,并返回完整峰形(经过降采样)、峰列表、扫描结束时测得的总压力,以及可选的完整 CSV 数据。可用于检查峰位置和调查未知气体。持续时间取决于噪声底(例如,NF4 时为 126 ms/amu)。已有的 save_path 文件绝不会被覆盖。
calibrate⚠️ 危险校准检测器:zero(CA)在当前噪声底下重新校准离子检测器零点,并校正 RF 扫描表的温度漂移(数秒);electrometer(CL)重新校准静电计的完整 I-V 响应(耗时更长,并清除所有零点偏移)。结束时会关闭四极杆 RF。
cdem_off🛑 安全关闭电子倍增器(HV0),并切换回法拉第杯检测。始终允许执行;会中断正在运行的扫描、质量测量或检漏。
degas⚠️ 危险启动离子源脱气(DG):使用 20 mA、400 eV 的电子,通过电子刺激解吸清洁离子源。CDEM 会关闭并保持关闭。脱气会缩短灯丝寿命;建议优先选择烘烤。压力高于 max_filament_pressure_torr 或脱气时间超过 max_degas_minutes 时会拒绝执行。此操作会立即返回;完成前 RGA 会处于忙碌状态(任何命令都会中止它),而 filament_off / all_off 可将其停止。
filament_off🛑 安全关闭灯丝(FL0);如果正在脱气,则先停止脱气。始终允许执行;会中断正在运行的扫描、质量测量或检漏。
get_command_log👁 读取返回最近发送给仪器的原始命令和收到的回复(最新记录在末尾)。可用于调试和记录已执行的操作。
get_connection_info👁 读取报告当前连接的仪器(标识、地址、模拟或真实)、服务是否为只读模式,以及当前生效的安全限值。请先调用此工具。
get_status👁 读取报告 RGA 状态:灯丝发射、CDEM 开关状态和电压、离子源设置、扫描设置、已存储的灵敏度因子,以及解码后的错误字节(例如,过压保护关闭灯丝时会显示 FL6)。读取错误字节会像仪器本身一样清除通信(EC?)和 CDEM(EM?)错误字节。
histogram_scan👁 读取记录条形图谱(HS1):每个整数 m/z 对应一个峰值锁定读数,并返回总压力。比模拟扫描更快,也是监测残余气体组成的常用方式。
identify_residual_gases👁 读取运行直方图扫描,并通过简单查找标准 70 eV 碎片模式,将主要峰分配给可能的气体:H2(2)、He(4)、CH4(16/15)、H2O(18/17)、N2 或 CO(28,并结合 14 和 12 区分)、O2(32)、Ar(40)、CO2(44);还可诊断空气泄漏或烃类污染等情况。此工具仅用于初步筛查,不适用于定量分析。
leak_check👁 读取氦气检漏:在有人向可疑接头喷氦气时监测 m/z 4,并报告基线、每次高于基线 x threshold_factor 的响应(开始/结束时间、峰值)以及时间序列。开始后的前几秒不要接触氦气,以确保基线准确。真实泄漏的响应时间为数秒。受 max_leak_check_duration_s 限制。
measure_masses👁 读取测量一组 m/z 值对应的分压(峰值锁定的单质量测量,MR)。可快速、精确地监测已知气体;每个质量的精度和测量时间由噪声底设置(set_scan_parameters)。压力值以 N2 当量表示。
read_total_pressure👁 读取在 RGA 作为电离真空计(TP?,法拉第杯)运行时测量总压力。需要开启灯丝并关闭 CDEM。读数以 N2 当量表示,并可能因气体组成不同而与 Bayard-Alpert 真空计的读数相差数倍。
reconnect🛑 安全关闭并重新打开与仪器的连接(例如,仪器断电重启或重新插拔线缆后)。
set_cdem⚠️ 危险以指定高压开启电子倍增器(CDEM),使信号增强约 100-10000 倍。高压强会缩短 CDEM 的寿命,甚至将其损坏,因此只有在压力低于 max_cdem_pressure_torr 时才允许执行(使用法拉第杯测得的 RGA 当前总压力、近期测量值或 external_pressure_torr);电压上限为 max_cdem_voltage_v。开启 CDEM 时会禁用总压力读数。
set_filament⚠️ 危险开启灯丝(或更改其发射电流)。压力高于 1e-4 Torr 时灯丝会烧坏或受损,因此只有在压力低于 max_filament_pressure_torr 时才允许执行:传入独立真空计测得的 external_pressure_torr;或者,如果灯丝已开启,则使用 RGA 自身测得的总压力。RGA 的保护机制也会在过压时关闭灯丝(报告为 FL6)。
set_scan_parameters🎛 控制更改测量设置:噪声底(速度与检测限之间的取舍)、电子能量、离子能量、聚焦板电压和模拟扫描分辨率。存储在探头中的灵敏度因子仅在默认离子源设置(70 eV、12 eV、90 V)下有效。更改噪声底后,会在下一次扫描开始时自动重新调整检测器零点。
get_connection_info、get_command_log 和 reconnect 内置于每个 LabMCP 服务中。

安全限制

RGA 灯丝只能在低于 1e-4 Torr 的压力下运行,CDEM 所承受的电压绝不能高于 1e-4 Torr;建议压力不超过 5e-6 Torr(手册:FL 命令警告,第 6-35 页,维护章节中的“CDEM Handling and Care”)。RGA 只有在灯丝发射时才会测量压力,因此开启前需要有依据:

  • set_filament 和 degas:压力必须低于或等于 max_filament_pressure_torr。set_cdem:压力必须低于或等于 max_cdem_pressure_torr,且电压必须低于或等于 max_cdem_voltage_v(同时也会强制执行 10-2490 V 的硬件范围)。
  • 这三项操作所需的依据:external_pressure_torr(用户确认的另一台压力计读数);当灯丝开启且 CDEM 关闭时,还需要此时测得的总压力。如果两者都有,则检查其中较高的读数,因此误输入的压力计数值无法覆盖 RGA 的测量值。开启 CDEM 时(RGA 无法测量),可接受最近 max_pressure_reading_age_s 时间内的读数,但前提是灯丝仍处于开启状态:灯丝一旦关闭(主动关闭或跳闸),旧读数就无法反映当前压力。
  • 用作依据的 RGA 读数会按 1 mA 发射电流进行缩放:离子电流与发射电流成正比,因此 0.1 mA 时的读数若不缩放,会低估压力 10 倍。
  • 仪器自身的灯丝保护仍然有效:压力过高会关闭发射和 CDEM(错误 FL6),并由 get_status 报告。
  • all_off、filament_off 和 cdem_off 会中断正在运行的扫描、质量测量或检漏;这些操作随后会返回错误且不提供数据,而不是等待其完成。all_off 会尝试执行每个步骤,即使某一步失败也不例外,并报告失败项。
限制默认值含义
max_filament_pressure_torr1e-4 Torr可开启灯丝或对离子源进行脱气的最高压力
max_cdem_pressure_torr5e-6 Torr可开启 CDEM 的最高压力
max_cdem_voltage_v2000 VCDEM 最高高压(硬件上限为 2490 V)
max_pressure_reading_age_s60 s可接受作为依据的 RGA 总压力读数的最长时间(仅限灯丝保持开启时)
max_degas_minutes3 min离子源脱气的最长时间(硬件上限为 20 min)
max_scan_duration_s900 s模拟/直方图扫描的最长预计时间
max_leak_check_duration_s1800 s氦气检漏运行的最长时间

启动时覆盖,例如:--limit max_cdem_voltage_v=2400 --limit max_filament_pressure_torr=1e-5。

示例提示词

  • “离子规读数为 2e-7 Torr。开启 RGA 灯丝,并告诉我腔体里有什么。”
  • “进行 1-100 amu 模拟扫描,将结果保存到 ~/data/rga/after_bake.csv,并将水和氢气与今天早上的结果进行比较。”
  • “这是漏气吗?检查 28、32 和 40 以及它们的比值。”
  • “在 m/z 4 上启动 3 分钟氦气检漏;20 秒后我会逐个向法兰喷气。”
  • “以 1400 V 开启 CDEM,每分钟测量 2、4、18、28、44,持续 10 分钟,然后关闭所有设备。”

注意事项

  • 线路格式。 命令由两个字母和一个参数组成,以 CR 结尾。ASCII 回复以 LF CR 结尾。MR、TP? 和每个扫描点返回的离子电流都是 4 字节小端二进制二进制补码整数,单位为 1e-16 A。硬件命令(IN、FL、HV、EE、IE、VF、CA、CL、DG)会以 STATUS 字节作答;NF、MI、MF、SA、TP0/1、MR0 均不作答。服务会读取每项无回复设置的当前值。
  • 被拒绝的命令不会收到回复。 RGA 只会闪烁错误 LED 并设置 RS232_ERR;随后服务会读取 EC? 并报告原因(命令错误、参数错误或参数冲突)。
  • 分压为 N2 等效值。 服务会将离子电流除以存储在检测头中的分压灵敏度 SP(出厂值为默认离子源设置下的 N2 值);如果 CDEM 已开启,还会除以存储的 CDEM 增益 MG。其他气体的灵敏度各不相同(相对于 N2:H2 约为 0.44,He 约为 0.14,Ar 约为 1.2);identify_residual_gases 会使用典型值进行校正,其他工具则不会。存储的系数仅在 70 eV / 12 eV / 90 V 和 1 mA 发射电流下有效。
  • 总压力(TP?)在 CDEM 开启时会被 RGA 禁用(返回 0),且需要开启灯丝。
  • 除气在 RGA 内部运行,任何命令都会中止它,因此 degas 会立即返回,且在除气结束前,服务会拒绝其他命令(filament_off、cdem_off 和 all_off 除外,这些命令会中止除气)。
  • 噪声下限(NF0–NF7)决定速度和检测限:从 2000 ms/amu、约 7e-15 A 噪声(NF0),到 15 ms/amu、约 5e-13 A 噪声(NF7)。出厂默认值为 NF4(126 ms/amu)。
  • SRS RGA Ethernet adapter 登录(--option user=... --option password=...,端口 818)遵循 SRS 的 srsinst.rga 驱动,且尚未在硬件上测试。通用原始 TCP 串口服务无需登录,但必须设置为 28,800 baud、8N1 并启用 RTS/CTS。
  • 扫描或运行 measure_masses 后,服务会关闭四极杆 RF(MR0),与手册建议一致。
  • save_path(扫描和 leak_check)必须以 .csv 结尾,且文件必须尚不存在:绝不会覆盖已有文件。缺失的文件夹会自动创建,~ 会展开,并且会在测量开始前检查路径。
  • 连接恢复。 如果扫描的二进制数据未能及时到达(或被安全工具中断),服务会丢弃部分数据,使用 IN0 停止扫描,并等待其 STATUS 回复后再发送下一条命令,以确保后续回复保持同步。

硬件验证

型号固件接口验证者日期
暂无:成为首位验证者

评论

支持 Markdown

第一次接触 MCP?

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

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