Skip to main content
Glama
zeng-andrew

Instrument MCP Server

by zeng-andrew

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
connectA

连接 VISA 仪器。必须先连接才能使用其他命令。

使用示例:

  • 连接 MXA: connect(address="TCPIP::192.168.1.100::INSTR", alias="mxa")

  • 连接 CMW500: connect(address="TCPIP::172.22.1.3::INSTR", alias="cmw")

  • 连接电源: connect(address="GPIB0::5::INSTR", alias="ps")

Args: address: VISA 地址,如 "TCPIP::IP::INSTR" 或 "GPIB0::5::INSTR" instrument_type: 仪器类型,设为 "auto" 自动识别,或指定 "mxa"/"cmw"/"keysight_ps" alias: 会话别名,后续命令通过此别名引用仪器,如 "mxa"/"cmw"/"ps"

disconnectA

断开指定别名的仪器连接。

Args: alias: 要断开的仪器别名,如 "mxa"/"cmw"/"ps"

list_sessionsA

列出当前所有已连接的仪器别名。

get_historyA

查看最近的命令执行历史,用于调试。

Args: limit: 返回最近多少条记录

get_available_toolsA

列出当前可用的所有仪器命令。

使用场景:

  • 连接仪器后查看支持哪些命令

  • 确认某个命令是否存在

Args: instrument_type: 指定仪器类型过滤,如 "mxa"/"cmw",留空显示全部

discover_my_instrumentB

识别已连接仪器的型号,并推荐可用命令。

使用场景: 连接后确认仪器型号,查看推荐命令

debug_last_errorB

调试最后一个失败的命令,读取仪器错误队列。

使用场景: 命令执行失败后排查原因

explore_scpiA

探索性发送 SCPI 命令,用于学习和发现仪器支持的命令。

使用场景:

  • 仪器型号未知,需要探索支持的命令

  • 内置命令不够用,需要发现新功能

  • 命令语法不确定,需要验证

工作流程:

  1. 先用 explore_scpi(command="*IDN?", query=True) 确认通信

  2. 尝试发送各种命令探索功能

  3. 成功的命令用 save_learned_command() 保存

Args: alias: 已连接仪器的别名,如 "mxa"/"cmw" command: SCPI 命令字符串,如 "FREQ:CENT?" 或 "*OPT?" query: 是否为查询命令(命令以 ? 结尾时自动识别)

save_learned_commandA

将探索成功的 SCPI 命令保存为可复用的 MCP 工具。

保存规则:

  • 按 instrument_type 保存到 .instrument_mcp/{instrument_type}.yaml

  • 如果该仪器有内置 YAML,会先复制作为基础再追加

  • 同名命令会自动更新而非重复

  • 重启 MCP Server 后自动加载

使用场景:

  • 用 explore_scpi 发现新命令后保存

  • 为常用命令创建快捷方式

  • 团队协作时共享命令配置

参数格式示例:

  • params_json: '[{"name":"freq_hz","type":"number","description":"频率(Hz)","default":1000000000}]'

Args: name: 命令名称,如 "mxa_set_peak_threshold" description: 命令功能描述 scpi_template: SCPI 模板,如 "FREQ:CENT {freq_hz}" 或 "*IDN?" instrument_type: 仪器类型,如 "mxa"/"cmw"/"keysight_ps" params_json: 参数定义 JSON 数组字符串 is_query: 是否为查询命令(返回数据的命令)

list_learned_commandsA

列出当前项目中已保存的自定义命令文件。

init_project_commandsA

初始化项目命令目录,复制内置 YAML 到当前项目的 .instrument_mcp/。

使用场景:

  • 新项目开始使用 instrument-mcp

  • 需要自定义或扩展仪器命令

  • 团队协作时统一命令配置

执行后:

  • 创建 .instrument_mcp/ 目录

  • 复制所有内置 YAML 文件(mxa.yaml, cmw.yaml 等)

  • 可直接编辑这些文件添加自定义命令

  • 新命令会追加到对应文件

idnC

[CMW] 读取仪器标识信息

cmw_presetC

[CMW] 恢复 CMW500 到预设状态

cmw_opcC

[CMW] 等待操作完成

cmw_clsC

[CMW] 清除仪器状态

cmw_tstC

[CMW] 自检

cmw_optC

[CMW] 读取仪器选项列表

cmw_get_errorC

[CMW] 读取 CMW 错误队列

cmw_cell_onC

[CMW] 打开 LTE 小区信号

cmw_cell_offC

[CMW] 关闭 LTE 小区信号

cmw_cell_stateC

[CMW] 查询小区状态

cmw_cell_state_allB

[CMW] 查询小区完整状态(含调整状态)

cmw_set_bandC

[CMW] 设置 LTE 频段(如 OB1, OB3, OB7, OB38, OB40, OB41)

cmw_set_dl_channelC

[CMW] 设置下行信道号

cmw_set_ul_channelC

[CMW] 设置上行信道号

cmw_set_bandwidthC

[CMW] 设置 LTE 信道带宽(RB数格式:B100=20MHz, B50=10MHz, B25=5MHz, B15=3MHz, B6=1.4MHz)

cmw_set_input_attenuationD

[CMW] 设置输入衰减

cmw_set_tpc_modeC

[CMW] 设置上行功率控制模式

cmw_query_dl_frequencyC

[CMW] 查询下行频率

cmw_query_ul_frequencyC

[CMW] 查询上行频率

cmw_connect_ueB

[CMW] 连接 UE(建立 RRC 连接)

cmw_disconnect_ueC

[CMW] 断开 UE 连接

cmw_query_connection_stateC

[CMW] 查询 UE 连接状态

cmw_init_measurementD

[CMW] 触发测量

cmw_abort_measurementC

[CMW] 中止测量

cmw_set_meas_portC

[CMW] 设置测量信号路径/端口

cmw_set_sign_portC

[CMW] 设置信令信号路径/端口

cmw_memory_catalogC

[CMW] 查询仪器内部文件目录

cmw_recall_stateB

[CMW] 从文件加载仪器状态

scpi_writeC

[GENERIC] 发送任意 SCPI 写命令

scpi_queryC

[GENERIC] 发送任意 SCPI 查询命令并读取响应

opcC

[GENERIC] 等待操作完成(*OPC?)

clsC

[GENERIC] 清除仪器状态(*CLS)

esrC

[GENERIC] 读取事件状态寄存器(*ESR?)

ps_presetC

[KEYSIGHT_PS] 恢复电源预设状态

ps_opcC

[KEYSIGHT_PS] 等待操作完成

ps_clsC

[KEYSIGHT_PS] 清除仪器状态

ps_get_errorC

[KEYSIGHT_PS] 读取错误队列

ps_set_voltageC

[KEYSIGHT_PS] 设置输出电压(V)

ps_get_voltageC

[KEYSIGHT_PS] 查询设定电压值

ps_meas_voltageB

[KEYSIGHT_PS] 测量实际输出电压

ps_set_currentC

[KEYSIGHT_PS] 设置电流限制(A)

ps_get_currentB

[KEYSIGHT_PS] 查询设定电流限制

ps_meas_currentC

[KEYSIGHT_PS] 测量实际输出电流

ps_meas_powerC

[KEYSIGHT_PS] 测量实际输出功率

ps_output_onC

[KEYSIGHT_PS] 开启输出

ps_output_offC

[KEYSIGHT_PS] 关闭输出

ps_get_output_stateC

[KEYSIGHT_PS] 查询输出状态

ps_set_ovpC

[KEYSIGHT_PS] 设置过压保护(OVP)

ps_get_ovpC

[KEYSIGHT_PS] 查询过压保护值

ps_set_ocpC

[KEYSIGHT_PS] 设置过流保护(OCP)

ps_get_ocpB

[KEYSIGHT_PS] 查询过流保护值

ps_clear_protC

[KEYSIGHT_PS] 清除保护状态

ps_set_senseC

[KEYSIGHT_PS] 设置远端/本地感测

ps_get_senseC

[KEYSIGHT_PS] 查询感测模式

ps_set_rangeC

[KEYSIGHT_PS] 设置电压量程

ps_get_rangeC

[KEYSIGHT_PS] 查询电压量程

mxa_presetB

[MXA] 恢复仪器到预设状态(*RST),会清除所有当前设置和测量数据

mxa_opcC

[MXA] 等待操作完成

mxa_clsC

[MXA] 清除仪器状态(*CLS)

mxa_get_errorC

[MXA] 读取仪器错误队列

mxa_set_frequencyC

[MXA] 设置中心频率和频率扫宽

mxa_set_freq_start_stopC

[MXA] 设置起始和终止频率

mxa_query_frequencyC

[MXA] 查询频率参数

mxa_set_rbwC

[MXA] 设置分辨率带宽(RBW)

mxa_set_vbwC

[MXA] 设置视频带宽(VBW)

mxa_set_ref_levelD

[MXA] 设置参考电平

mxa_set_attenuationC

[MXA] 设置输入衰减器

mxa_optimize_rangeB

[MXA] 优化功率范围(自动调整衰减和参考电平)

mxa_sweep_singleC

[MXA] 执行单次扫描并等待完成

mxa_sweep_continuousC

[MXA] 设置为连续扫描模式

mxa_sweep_immC

[MXA] 立即触发单次扫描

mxa_set_sweep_pointsC

[MXA] 设置扫描点数

mxa_query_sweep_timeD

[MXA] 查询扫描时间

mxa_peak_searchC

[MXA] 执行峰值搜索并返回峰值幅度

mxa_peak_nextD

[MXA] 搜索下一个峰值

mxa_peak_leftC

[MXA] 搜索左侧峰值

mxa_peak_rightC

[MXA] 搜索右侧峰值

mxa_read_marker_yB

[MXA] 读取当前标记点的幅度值

mxa_read_marker_xB

[MXA] 读取当前标记点的频率值

mxa_marker_offC

[MXA] 关闭所有标记点

mxa_marker_table_onC

[MXA] 打开标记表显示

mxa_read_traceB

[MXA] 读取当前迹线的数据点(ASCII 格式)

mxa_set_trace_modeC

[MXA] 设置迹线模式

mxa_set_detectorD

[MXA] 设置检波器类型

mxa_set_averagingC

[MXA] 设置平均次数

mxa_set_average_typeC

[MXA] 设置平均类型

mxa_select_saC

[MXA] 选择频谱分析模式(Spectrum Analyzer)

mxa_config_harmonicsC

[MXA] 配置谐波测量模式

mxa_set_harm_bwC

[MXA] 设置谐波测量带宽

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/zeng-andrew/instrument-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server