Token导航 LogoToken导航TokenDH.com
EPICS MCP Server logo
运维云端stdio官方级别未说明来源级核验

EPICS MCP Server

MCP Server

一个基于Python的服务器,用于与EPICS(实验物理和工业控制系统)过程变量(PVs)交互,提供获取、设置PV值及获取PV详细信息的功能,适用于大型控制系统或工作流集成。

工具数

3

提示词数

0

GitHub Stars

1

资源数

0
PythonPython服务器云端部署

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

eunsang284

提供方

eunsang284

最后核验

2026/5/17 20:22

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -r requirements.txt

详细介绍

EPICS MCP服务器

](https://smithery.ai/server/@Jacky1-Jiang/EPICS-MCP-Server)

概述

  • EPICS MCP服务器是一个基于Python的服务器,旨在与EPICS(实验物理和工业控制系统)过程变量(PV)交互。它提供了一组工具来检索PV值、设置PV值和获取有关PV的详细信息。服务器已构建

使用mcp框架并通过stdio进行通信,使其适合集成到更大的控制系统或工作流中。

  • 该工具在EPICS PV用于监测和控制硬件或软件参数的环境中特别有用。

特性

  • EPICS MCP服务器提供以下工具:
  1. get_pv_value

- 在存储库中创建或更新单个文件 - 输入: - pv_name (string):PV变量的名称。 - 返回:一个包含状态的JSON对象(successerror)以及检索到的值或错误消息。

  1. set_pv_value

- 为指定的PV设置新值。 - 输入: - pv_name (string):PV变量的名称。 - pv_value (string):要为PV设置的新值。 - 返回:一个包含状态的JSON对象(successerror)以及确认消息或错误消息。

  1. get_pv_info

- 获取指定PV的详细信息。 - 输入: - pv_name (string):PV变量的名称。 - 返回:一个包含状态的JSON对象(successerror)以及关于PV的详细信息或错误消息。

与Langchain一起使用

  • 要将其与Langchain一起使用,您必须安装项目所需的依赖项。
pip install -r requirements.txt
  • ### Langchain
server_params = StdioServerParameters(
    command="python",
    # Make sure to update to the full absolute path to your math_server.py file
    args=["/path/server.py"],
)
  • ### 史诗
  • 在使用EPCIS mcp服务器之前,您必须在本地计算机上成功安装EPCIS,确保IOC可以正常启动,并验证以下功能 caget, caput,以及 cainfo 工作正常。有关详细的安装说明,请参阅 https://epics-controls.org/resources-and-support/base/.
jiangyan@DESKTOP-84CO9VB:~$ softIoc -d ~/EPICS/DB/test.db
Starting iocInit
############################################################################
## EPICS R7.0.8
## Rev. 2025-02-13T14:29+0800
## Rev. Date build date/time:
############################################################################
iocRun: All initialization complete
epics>
jiangyan@DESKTOP-84CO9VB:~$ caget temperature:water
temperature:water              88
jiangyan@DESKTOP-84CO9VB:~$ caput temperature:water 100
Old : temperature:water              88
New : temperature:water              100
jiangyan@DESKTOP-84CO9VB:~$ cainfo temperature:water
temperature:water
    State:            connected
    Host:             127.0.0.1:5056
    Access:           read, write
    Native data type: DBF_DOUBLE
    Request type:     DBR_DOUBLE
    Element count:    1

测试结果

  • Mcp客户端:
async def run():
    async with stdio_client(server_params) as (read, write):
        async with ClientSession(read, write) as session:
            # Initialize the connection
            await session.initialize()

            # Get tools
            tools = await load_mcp_tools(session)

            # Create and run the agent
            agent = create_react_agent(model, tools)
            agent_response = await agent.ainvoke({"messages": "To query the value of a PV (Process Variable) named temperature:water"})
            return agent_response
)
  • 结果:
================================ Human Message =================================

To query the value of a PV (Process Variable) named temperature:water
================================== Ai Message ==================================
Tool Calls:
 get_pv_value (call_vvbXwi51CyYUxEM0hcyvCFCY)
Call ID: call_vvbXwi51CyYUxEM0hcyvCFCY
 Args:
   pv_name: temperature:water
================================= Tool Message =================================
Name: get_pv_value

{
 "status": "success",
 "value": 88.0
}
================================== Ai Message ==================================

The current value of the PV named `temperature:water` is 88.0.

目录标签

目录标签

PythonPython服务器云端部署EPICS控制本地部署过程变量管理工业控制系统

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

session

运行时(runtime,运行环境)

Python

部署方式(deploymentType,部署类型)

local-only

工具数量(toolCount,工具数)

3

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiosessionlocal-only

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP