Python-based MCP server that reads, writes, and fetches details for EPICS PVs over stdio
Configuration
View docs{
"mcpServers": {
"epics_mcp": {
"command": "python",
"args": [
"/path/server.py"
]
}
}
}You can run the EPICS MCP Server as a Python-based MCP endpoint that talks to EPICS process variables (PVs). It lets you read PV values, write new values, and fetch detailed PV information, all through an MCP client over a standard stdio interface. This makes it easy to integrate EPICS PVs into larger control workflows and automation.
You interact with the EPICS MCP Server using an MCP client that communicates over stdio. The server exposes three main tools that you can call to work with EPICS PVs:
Prerequisites: you need Python installed on your system and access to run Python scripts. You also need a Python package manager to install dependencies.
Steps to start using the EPICS MCP Server locally:
1) Create a Python environment (optional but recommended). 2) Install required dependencies. 3) Run the MCP server using the stdio interface.
Exact commands to run the server are shown below as an example flow. Replace /path/server.py with the absolute path to your server script when you deploy.
Configuration and usage notes: The server is designed to be used with an MCP client that can request PV operations. You can use the following concrete command to start the server locally in stdio mode, which the client can connect to.
Example runtime command to start the server locally using Python (adjust the path to your actual script):
python /path/server.pyRetrieve the current value of a specified EPICS PV and return a status alongside the value.
Set a new value for a specified EPICS PV and return a status along with a confirmation message.
Fetch detailed information about a specified EPICS PV and return a status with the PV metadata.