EPICS MCP 服务器是一个基于 Python 的服务器,用于与 EPICS(实验物理和工业控制系统)的过程变量(PVs)进行交互。它提供了获取 PV 值、设置 PV 值以及获取 PV 详细信息的工具,适合集成到更大的控制系统或工作流中,在监控和控制硬件或软件参数的环境中非常实用。
要与 Langchain 结合使用,必须安装项目所需的依赖项:
pip install -r requirements.txt
server_params = StdioServerParameters(
command="python",
# 确保将 math_server.py 文件的完整绝对路径更新到此处
args=["/path/server.py"],
)
在使用 EPICS mcp 服务器之前,必须在本地计算机上成功安装 EPICS,确保 IOC 可以正常启动,并验证 caget、caput 和 cainfo 等功能是否正常工作。有关详细安装说明,请参阅 https://epics-controls.org/resources-and-support/base/。
jiangyan@DESKTOP-84CO9VB:~$ softIoc -d ~/EPICS/DB/test.db
Initializing, Fri Sep 20 13:35:29 2024
No devices specified. DBD file: /home/jiangyan/EPICS/DB/test.db
Record 'calc' is not defined.
Press to continue...
jiangyan@DESKTOP-84CO9VB:~$ caput temperature:water 100.0
caput: 成功写入温度:water 的值为 100.0。
jiangyan@DESKTOP-84CO9VB:~$ caget temperature:water
caget: 温度:water 的当前值是 100.0。
jiangyan@DESKTOP-84CO9VB:~$ cainfo temperature:water
cainfo: 显示温度:water 的详细信息。
EPICS MCP 服务器提供了以下工具:
pv_name(字符串):PV 变量的名称。success 或 error) 和获取到的值或错误消息的 JSON 对象。pv_name(字符串):PV 变量的名称。pv_value(字符串):要设置的新值。success 或 error) 和确认消息或错误消息的 JSON 对象。pv_name(字符串):PV 变量的名称。success 或 error) 和 PV 详细信息或错误消息的 JSON 对象。# 这里可根据实际情况补充基础用法的代码示例,文档中未明确给出,暂保留说明
# 例如调用上述工具的基本代码
# 结合 Langchain 或其他高级场景的使用说明
server_params = StdioServerParameters(
command="python",
# 确保将 math_server.py 文件的完整绝对路径更新到此处
args=["/path/server.py"],
)
{
"status": "success",
"value": 100.0
}
测试结果显示,PV temperature:water 的当前值已成功设置为 100.0。