EPICS MCP Server
EPICS-MCP-сервер
Обзор
EPICS MCP Server — это сервер на основе Python, разработанный для взаимодействия с переменными процесса (PV) EPICS (Experimental Physics and Industrial Control System). Он предоставляет набор инструментов для извлечения значений PV, установки значений PV и получения подробной информации о PV. Сервер создан с использованием фреймворка mcp и взаимодействует через stdio, что делает его пригодным для интеграции в более крупные системы управления или рабочие процессы.
Этот инструмент особенно полезен в средах, где фотоэлектрические модули EPICS используются для мониторинга и управления параметрами оборудования или программного обеспечения.
Функции
Сервер EPICS MCP предоставляет следующие инструменты:
получить_pv_value
Создать или обновить отдельный файл в репозитории
Входные данные:
pv_name(строка): Имя переменной PV.
Возвращает: объект JSON, содержащий статус (
successилиerror) и полученное значение или сообщение об ошибке.
set_pv_value
Установите новое значение для указанного PV.
Входные данные:
pv_name(строка): Имя переменной PV.pv_value(строка): новое значение, которое будет установлено для PV.
Возвращает: объект JSON, содержащий статус (
successилиerror), а также сообщение с подтверждением или сообщение об ошибке.
получить_pv_info
Получает подробную информацию об указанном PV.
Входные данные:
pv_name(строка): Имя переменной PV.
Возвращает: объект JSON, содержащий статус (
successилиerror) и подробную информацию о PV или сообщение об ошибке.
Использование с Langchain
Чтобы использовать его с Langchain, необходимо установить зависимости, необходимые для проекта.
pip install -r requirements.txtLangchain
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
Результат теста
Клиент MCР:
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
)Результат:
================================[1m Human Message [0m=================================
To query the value of a PV (Process Variable) named temperature:water
==================================[1m Ai Message [0m==================================
Tool Calls:
get_pv_value (call_vvbXwi51CyYUxEM0hcyvCFCY)
Call ID: call_vvbXwi51CyYUxEM0hcyvCFCY
Args:
pv_name: temperature:water
=================================[1m Tool Message [0m=================================
Name: get_pv_value
{
"status": "success",
"value": 88.0
}
==================================[1m Ai Message [0m==================================
The current value of the PV named `temperature:water` is 88.0.This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityNot gradedmaintenanceA Python-based server allowing seamless integration with JIRA for managing and interacting with projects through custom APIs.4
- AlicenseNot gradedqualityDmaintenanceA Python-based server enabling interaction with Proxmox hypervisors. It supports secure authentication and provides tools for managing nodes, VMs, clusters, and storage.286MIT
- FlicenseNot gradedqualityDmaintenanceA Python-based server that enables accessing and analyzing bird detection data through the Model Context Protocol, offering features like filtering detections, accessing audio recordings, and generating reports.3
- AlicenseNot gradedqualityDmaintenanceEnables interaction with EPICS (Experimental Physics and Industrial Control System) process variables through natural language. Supports reading PV values, setting PV values, and retrieving detailed PV information for monitoring and controlling hardware or software parameters.1MIT
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to control Unreal E…
Multi-tenant FastMCP server for Charles Schwab brokerage data, monetized via DPYC Tollbooth
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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