Skip to main content
Glama

EPICS MCP Server

by Jacky1-Jiang

Servidor EPICS-MCP

Descripción general

  • El servidor EPICS MCP es un servidor basado en Python, diseñado para interactuar con las variables de proceso (VP) de EPICS (Sistema de Control Industrial y Física Experimental). Proporciona un conjunto de herramientas para recuperar valores de VP, establecerlos y obtener información detallada sobre las VP. El servidor está desarrollado con el framework mcp y se comunica a través de stdio, lo que lo hace ideal para su integración en sistemas de control o flujos de trabajo más amplios.
  • Esta herramienta es particularmente útil en entornos donde se utilizan EPICS PV para monitorear y controlar parámetros de hardware o software.

Características

  • El servidor EPICS MCP proporciona las siguientes herramientas:
  1. obtener_valor_pv
    • Crear o actualizar un solo archivo en un repositorio
    • Entradas:
      • pv_name (cadena): el nombre de la variable PV.
    • Devuelve: un objeto JSON que contiene el estado ( success o error ) y el valor recuperado o un mensaje de error.
  2. establecer_valor_pv
    • Establecer un nuevo valor para un PV específico.
    • Entradas:
      • pv_name (cadena): el nombre de la variable PV.
      • pv_value (cadena): el nuevo valor que se establecerá para el PV.
    • Devuelve: un objeto JSON que contiene el estado ( success o error ) y un mensaje de confirmación o un mensaje de error.
  3. obtener_información_pv
    • Obtiene información detallada sobre un PV específico.
    • Entradas:
      • pv_name (cadena): el nombre de la variable PV.
    • Devuelve: un objeto JSON que contiene el estado ( success o error ) y la información detallada sobre el PV o un mensaje de error.

Uso con Langchain

  • Para usar esto con Langchain, debe instalar las dependencias necesarias para el proyecto.
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"], )
  • ÉPICOS

  • Antes de usar el servidor EPCIS mcp, debe instalar EPCIS correctamente en su equipo local, asegurarse de que IOC se inicie correctamente y verificar que funciones como caget , caput y cainfo funcionen correctamente. Para obtener instrucciones detalladas de instalación, consulte 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

Resultado de la prueba

  • Cliente 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 )
  • Resultado:
================================ 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.

Un servidor basado en Python que interactúa con las variables de proceso de EPICS, lo que permite a los usuarios recuperar valores de PV, establecer valores de PV y obtener información detallada sobre los PV a través de una interfaz estandarizada.

  1. Descripción general
    1. Características
      1. Uso con Langchain
        1. Langchain
        2. ÉPICOS
      2. Resultado de la prueba

        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