Skip to main content
Glama

EPICS MCP Server

by Jacky1-Jiang

EPICS-MCP服务器

概述

  • EPICS MCP 服务器是一款基于 Python 的服务器,旨在与 EPICS(实验物理和工业控制系统)过程变量 (PV) 交互。它提供了一组工具来检索 PV 值、设置 PV 值以及获取有关 PV 的详细信息。该服务器使用 mcp 框架构建,并通过 stdio 进行通信,因此非常适合集成到更大型的控制系统或工作流程中。
  • 该工具在使用 EPICS PV 监控和控制硬件或软件参数的环境中特别有用。

特征

  • EPICS MCP 服务器提供以下工具:
  1. 获取 pv_value
    • 在存储库中创建或更新单个文件
    • 输入:
      • pv_name (字符串):PV 变量的名称。
    • 返回:包含状态( successerror )和检索到的值或错误消息的 JSON 对象。
  2. 设置 pv_value
    • 为指定的 PV 设置新值。
    • 输入:
      • pv_name (字符串):PV 变量的名称。
      • pv_value (字符串):要为 PV 设置的新值。
    • 返回:包含状态( successerror )和确认消息或错误消息的 JSON 对象。
  3. 获取 pv_info
    • 获取有关指定 PV 的详细信息。
    • 输入:
      • pv_name (字符串):PV 变量的名称。
    • 返回:一个 JSON 对象,包含状态( successerror )以及有关 PV 或错误消息的详细信息。

与 Langchain 一起使用

  • 要将其与 Langchain 一起使用,您必须安装项目所需的依赖项。
pip install -r requirements.txt
  • 朗查因

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 能够正常启动,并验证cagetcaputcainfo等功能是否正常运行。详细安装说明请参阅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.
-
security - not tested
A
license - permissive license
-
quality - not tested

local-only server

The server can only run on the client's local machine because it depends on local resources.

基于 Python 的服务器与 EPICS 过程变量交互,允许用户通过标准化界面检索 PV 值、设置 PV 值以及获取有关 PV 的详细信息。

  1. 概述
    1. 特征
      1. 与 Langchain 一起使用
        1. 朗查因
        2. 史诗
      2. 测试结果

        Related MCP Servers

        • -
          security
          A
          license
          -
          quality
          A Python-based server enabling interaction with Proxmox hypervisors. It supports secure authentication and provides tools for managing nodes, VMs, clusters, and storage.
          Last updated -
          148
          MIT License
        • -
          security
          A
          license
          -
          quality
          A server that enables programmatic interaction with an already running Abaqus/CAE GUI application, allowing users to execute Python scripts and retrieve message logs through the Model Context Protocol (MCP).
          Last updated -
          34
          MIT License
        • -
          security
          A
          license
          -
          quality
          An enhanced Python-based MCP server that enables complete VM lifecycle management and monitoring of Proxmox virtualization platforms through natural language, with 11 REST API endpoints for seamless integration.
          Last updated -
          12
          MIT License
          • Apple
          • Linux
        • -
          security
          F
          license
          -
          quality
          A Python-based MCP server that uses uv for dependency management, requiring Python 3.13+ to run.
          Last updated -
          • Apple
          • Linux

        View all related MCP servers

        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/Jacky1-Jiang/EPICS-MCP-Server'

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